{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=rajkaria/tab-debt@0.1.0","method":"GET","rel":"https://rote.dev/rels/bootstrap-and-run","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"inspect":{"command":"rote play inspect https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","effect":"read-only"},"installCliOnly":{"effect":"installs the rote CLI, nothing else","href":"https://play.modiqo.ai/install","method":"GET","rel":"https://rote.dev/rels/install-cli","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"run":{"command":"rote play run https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/rajkaria/tab-debt@0.1.0 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"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. Four 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. You get the count, the oldest tab with the date it was last used, an age histogram, the sites the tabs actually","distribution":{"digest":"sha256:3df96571b035bb86749d00d0ca56d44851929d621cc7d0412bd673ff581f0847","mediaType":"application/vnd.modiqo.rote-flow","size":66099,"verifiedBy":"rote verifies the downloaded archive against this digest before it runs"},"effects":{"credentialsProvidedBy":"runner","credentialsRemainLocal":true,"declaredWrites":[],"publisherReceivesCredentials":false},"id":"https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","inputPolicy":{"omittedValues":"inspect_full_parameters_before_collecting_values_or_consent","optionalWithDefault":"show_default_and_accept_override","optionalWithoutDefault":"omit_unless_supplied","required":"ask","secrets":"collect_locally_outside_conversation"},"links":{"docs":"https://rote.dev","page":"https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/rajkaria/tab-debt@0.1.0.json"},"name":"tab-debt","owner":{"kind":"user","slug":"rajkaria"},"parameters":[{"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily","input":{"allowCustom":true,"choices":[],"label":"Out dir"},"name":"out_dir","required":false,"type":"string"},{"default":"false","description":"true runs the whole Play against bundled synthetic sessions, so a first run needs nothing installed.","example":"false","input":{"allowCustom":true,"choices":[],"label":"Demo"},"name":"demo","required":false,"type":"string"},{"default":"false","description":"false shows hostnames only. true keeps the path as well; query strings and fragments are dropped either way.","example":"false","input":{"allowCustom":true,"choices":[],"label":"Keep path"},"name":"keep_path","required":false,"type":"string"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/rajkaria/tab-debt@0.1.0 --json","effect":"read-only"},"step":1,"type":"inspect_local_readiness"},{"references":["/parameters"],"step":2,"type":"collect_parameters","whenValuesOmitted":"Run step 1 before collecting inputs or showing defaults; omittedFields are unknown values, not absent defaults or exhaustive choices."},{"references":["/parameters","/requirements","/effects"],"step":3,"type":"review"},{"consentBoundary":"the user approves the exact play and parameter values","references":["/parameters","/requirements","/effects"],"step":4,"type":"obtain_run_consent"},{"action":{"command":"rote play run https://play.modiqo.ai/rajkaria/tab-debt@0.1.0","headlessCommandTemplate":"rote play run https://play.modiqo.ai/rajkaria/tab-debt@0.1.0 <name=value...> --yes"},"preservesAcquisitionBoundaries":["adapter_selection","oauth_dcr","google_discovery","static_token_setup","runtime_security_checks"],"requiresConsent":true,"step":5,"type":"run"}],"producedBy":{"roteVersion":"0.79.0"},"publishedAt":"2026-09-05T16:43:39.397617+00:00","reference":"rajkaria/tab-debt@0.1.0","requested":"rajkaria/tab-debt","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"hostToolRequirements":[{"command":"python3","required":true,"versionRequirement":null}],"localTools":["python3"],"roteCli":{"minimumVersion":"0.91.0"},"sessions":false},"resolution":"latest","schema":"rote.play.v1","stats":{"downloads":1,"installs":0},"steps":{"count":5,"names":["read_arc","read_chromium","read_firefox","read_safari","report"]},"title":"tab-debt","type":"play","version":"0.1.0","visibility":"public"}