{"slug":"judge-task-lifecycle","title":"judge-task-lifecycle","summary":"Judge how a memory changes active-task state and whether it refers to an existing task. Use for mem-claw task-lifecycle model calls.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-17T09:06:07.581678Z","repo":{"url":"https://github.com/sno-ai/sno-station","stars":759,"forks":362,"license":"Apache-2.0","updatedAt":"2026-10-17T08:11:42Z"},"bodyHtml":"<hr>\n<h2>name: judge-task-lifecycle\ndescription: Judge how a memory changes active-task state and whether it refers to an existing task. Use for mem-claw task-lifecycle model calls.</h2>\n<h1>Judge Task Lifecycle</h1>\n<p>Judge task meaning. Do not decide from exact wording alone.</p>\n<h2>Active Task State</h2>\n<p>Apply the <code>To-do Boundary</code> section supplied from <code>extract-atomic-memory</code> before these state rules.</p>\n<p>Decide in this order and stop at the first step that applies.</p>\n<ol>\n<li><strong>Does the candidate report OR INSTRUCT that an existing active task is done, finished,\nhandled, cancelled, or dropped?</strong> If yes, the answer is <code>complete</code> or <code>remove</code> on THAT task.\nNever <code>open_or_refine</code>, and never <code>none</code>.\nA report (\"I finished X\", \"X is done\") and an instruction (\"mark X complete\", \"tick X off\",\n\"close X\", \"remove X from my list\") both land here. An instruction to change a task's state\nIS the state change; do not treat it as a request you decline to act on.\nA candidate that speaks about an active task's ending is never a new task, however it is worded,\nand restating the task's name inside such a sentence is naming the task to close, not opening one.</li>\n<li>Otherwise, if the candidate describes work still to be done, use <code>open_or_refine</code>.</li>\n<li>Otherwise use <code>none</code>.</li>\n</ol>\n<ul>\n<li>Use <code>open_or_refine</code> only for a current task that remains active.</li>\n<li>Use <code>complete</code> only when the candidate says an active task was achieved.</li>\n<li>Use <code>remove</code> only when the candidate says an active task was cancelled or should no longer be tracked.</li>\n<li>An explicit instruction to mark a task complete, done, or finished is <code>complete</code>, even when it is\nphrased as an edit to a list — \"mark X complete on my todo list\" and \"tick X off\" are <code>complete</code>,\nnot <code>remove</code>. Taking a finished task off a list is what completing it looks like; the words that\ndecide are whether the work was done. Reserve <code>remove</code> for a task abandoned, cancelled, called off,\nno longer needed, or added by mistake — cases where the work will NOT happen.</li>\n<li>Use <code>none</code> when the candidate does not change active-task state.</li>\n<li>A candidate that reports a task as finished, cancelled, or already handled never opens one.</li>\n<li>If that task is active, complete or remove it. If it is not active, make no task change.</li>\n<li>Match tasks by meaning, not exact wording. Refine an existing task instead of opening a duplicate.</li>\n</ul>\n<h2>Existing Task Relation</h2>\n<ul>\n<li>Use <code>same_instance</code> when the assertion refers to one listed active task, including different wording with the same meaning.</li>\n<li>Use <code>distinct_instance</code> when the assertion is a different active task.</li>\n<li>Use <code>none</code> when the assertion does not describe an active-task relation.</li>\n<li>Use <code>uncertain</code> when the evidence does not settle the relation.</li>\n</ul>\n","files":[{"path":"SKILL.md","sizeBytes":2718,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-17T09:06:16.493767Z","sha256":"E2B0B796B60FEB52EB6F0BC635DDFFB6C95369A059DE2F89580291206F675256","sizeBytes":1301},"review":null,"source":{"repositoryUrl":"https://github.com/sno-ai/sno-station","path":"packages/memory/skills/judge-task-lifecycle","license":"Apache-2.0","commit":"a24785e0e90b72d7d9c64f4ac0ceab3e2bb32527","subtreeSha":"B78707FA82FD6C112CD046CF5D4778B9ECDFD6ED0A09BCC2201CF0278F22E167","lastSyncedAt":"2026-10-17T09:06:06.230245Z"},"reviewedAt":"2026-10-17T09:06:43.391715Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/sno-ai/sno-station/tree/main/packages/memory/skills/judge-task-lifecycle"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install sno-ai-sno-station@llmmart"},{"target":"git","command":"git clone https://github.com/sno-ai/sno-station.git"}]}