← okrdevCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to okrdev
Snapshot Sep 30, 2026 · 23:14 UTC · version 0.8.4
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Capture an idea into the okrdev parking lot in ten seconds — one line, energy, effort, done — then get back to work. Use when the user says \"park this\", \"park that idea\", \"add it to the parking lot\", \"idea for later\", \"don't let me forget\", or when a mid-session idea is about to turn into mid-session work.",
"included_files": [],
"name": "park",
"skill_md_contents": "---\nname: park\ndescription: Capture an idea into the okrdev parking lot in ten seconds — one line, energy, effort, done — then get back to work. Use when the user says \"park this\", \"park that idea\", \"add it to the parking lot\", \"idea for later\", \"don't let me forget\", or when a mid-session idea is about to turn into mid-session work.\n---\n\n# Park\n\nCapture an idea into the okrdev parking lot — a GitHub issue labeled `okrdev:parked` when the\nrepo lives on GitHub, a line in `okrdev/PARKING_LOT.md` otherwise — and return the human to\nwhat they were doing. Target: ten seconds of their attention. Capture is nearly free so that acting on impulse never\nhas to be — that's the deal the whole parking lot rests on.\n\nThe one rule that matters: **you are recording the idea, not evaluating it.** No feasibility\ntake, no design sketch, no clarifying questions about scope, no \"interesting — you could also…\".\nThe moment analysis starts, the idea has started winning. Building takes days; parking takes\none line. Triage — at the weekly check-in — is where the idea gets its hearing.\n\n## Procedure\n\n1. **Check the install.**\n - No `okrdev/` directory → okrdev isn't installed here. Say so and point at\n `/okrdev:install` — Level 0 is this file plus a config and takes ten minutes. Offer to\n hold the idea in the conversation and park it the moment install finishes.\n - `okrdev/` exists but `okrdev/PARKING_LOT.md` is missing, or has lost its section\n headings → repair it to the format reference below (add what's missing, never delete\n existing lines), then continue.\n - No active cycle → irrelevant. Parking needs no cycle, no mission, no check-in history.\n Capture must never wait on ceremony; that's the point of Level 0.\n\n2. **Get the line.** One sentence, in the capturer's own words. If the human already stated\n the idea, use what they said — don't make them repeat it. Then the two five-second calls,\n asked together in a single question if you can't infer them from how the idea arrived:\n - `energy:` high / med / low — how excited the capturer is, right now.\n - `effort:` S / M / L — gut-call size.\n\n Accept the first answer. These are instincts, not estimates — do not help the human \"think\n it through\"; that's analysis wearing a costume. If they wave the question off, make your\n best call from context and name it in your confirmation so they can correct you.\n\n3. **Identify the capturer.** Use the handle this repo's okrdev files already use for this\n person (check-in `attendees`, KR `DRI:` lines, `backstop` in `okrdev/config.md`). Failing\n that, `git config user.name`, lowercased. Ask only if you genuinely can't tell.\n\n4. **Capture it — issue first, file as fallback.** One entry per idea — if the human is\n dumping several at once (\"park three things from my phone notes\"), capture each with its\n own energy and effort call. Batch the questions; don't run the ritual three times.\n\n - **Primary — GitHub issue** (when `gh` is authed and the repo's remote is GitHub):\n\n ```bash\n gh issue create --label okrdev:parked \\\n --title \"<one-line idea, verbatim>\" \\\n --body \"@<who> — energy: <high|med|low> — effort: <S|M|L>\"\n ```\n\n Zero commits, zero CI, one API call — the ten-second promise, kept on any repo,\n protected or not. If the label doesn't exist yet, create it first:\n\n ```bash\n gh label create okrdev:parked --color F9D71C \\\n --description \"okrdev parking-lot inbox — triaged weekly, then closed\"\n ```\n\n Parked issues are inert by convention: never assign, milestone, or work one. Open means\n captured; triage closes it with the decision as a comment. The idea lives in the issue\n until then — don't also write a Captured line. A side benefit worth knowing about: the\n human can park from the GitHub mobile app, and collaborators can park from the GitHub\n UI, no Claude session required.\n\n - **Fallback — file append** (no `gh`, no remote, or the remote isn't GitHub): add one\n line at the end of the `## Captured` section in `okrdev/PARKING_LOT.md`:\n\n ```markdown\n - [2026-07-13] <one-line idea> — @alex — energy: high — effort: M\n ```\n\n Today's date, ISO format.\n\n5. **Commit the fallback append.** (The issue path writes nothing to git — skip this step.)\n - **Unprotected default branch** → commit directly.\n - Already on the default branch: stage only `okrdev/PARKING_LOT.md`, commit\n (`okrdev: park <first few words of the idea>`), push.\n - On a working branch: do not switch branches — the human may have uncommitted work.\n Use a temporary worktree: `git fetch origin`, `git worktree add <tmpdir>\n origin/<default> --detach`, make the same append there, commit, `git push origin\n HEAD:<default>`, remove the worktree. The working branch never notices.\n - **Protected default branch** → a small state PR: branch `okrdev/state-<date>-park`,\n push, then open and merge the PR via the forge's own mechanism — by construction `gh`\n is unavailable on this path (a gh-authed GitHub repo would have taken the issue path),\n so use the forge's CLI (`glab`, etc.) or hand the human the compare URL the push\n printed, with a one-line \"open this, then merge\" instruction. Title\n `okrdev: park <first few words>` with a `KR:` line. Be honest that this capture cost\n ~30 seconds, not ten — on GitHub repos, the issue path is what keeps the ten-second\n promise.\n - No remote: commit locally and move on.\n\n6. **Confirm in one line and get out.** Issue captures name the number: \"Parked as #12:\n <idea>. It gets triaged at the next check-in.\" File captures: \"Parked: <idea>. It gets\n triaged at the next check-in.\" On a Level 0 install, where there are no check-ins yet:\n \"Triage it weekly with `/okrdev:triage`.\" Then return to whatever was in progress before\n the idea arrived. Do not summarize the idea back, do not rate it, do not suggest next\n steps. The confirmation exists so the human trusts the idea is safe — trust is what lets\n them let go of it.\n\n## If the human wants to work on it now\n\nParking is for ideas that can wait a week. If this one can't — the human is visibly not going\nto let go — don't argue and don't cave silently. That's a side-quest: point at\n`/okrdev:side-quest`, which sanctions the distraction with a time-box and logs it. The parking\nlot's promise (\"nothing in Captured gets worked on — triage first\") only holds because the\nescape hatch is a real door, not a hole in the fence.\n\n## Format reference\n\nThe full file, as `/okrdev:install` creates it. Repair to this shape if sections are missing;\n`park`'s file fallback only ever appends to `## Captured` — issue captures don't touch the\nfile until triage writes their decisions into the ledger sections.\n\n```markdown\n# Parking Lot\nIdeas get captured here in seconds and triaged at the weekly check-in.\nNothing in Captured gets worked on. Ever. Triage first.\n\n## Captured\n- [2026-07-13] <one-line idea> — @alex — energy: high — effort: M\n\n## Side quests (time-boxed, logged)\n- [2026-07-13] <idea> — @alex — box: 4h — spent: 2h — status: open — notes: —\n\n## Promoted\n- [2026-07-13] <idea> → KR2.1 (or: next-cycle candidate)\n\n## Archived\n- [2026-07-13] <idea> — reason: <one line>\n```\n\nThe full capture/triage protocol, including why nothing in Captured gets worked on, lives in\n[../../docs/parking-lot.md](../../docs/parking-lot.md).\n"
}SHA-256 of public snapshot: 856f43712b4cfdcd4f5f258c1c4a94f974b0c08e159bd814ad9d6ebac05e3aab