Help us improve
Share bugs, ideas, or general feedback.
From goalkeeper
Archives the currently active goalkeeper goal by moving files to _archive/ and updating state. Used via /goal-clear to abandon or finalize a goal.
npx claudepluginhub itsuzef/goalkeeper --plugin goalkeeperHow this skill is triggered — by the user, by Claude, or both
Slash command
/goalkeeper:goal-clearThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are operating the **goal-clear** skill.
Executes durable, contract-driven goals with checkpoint validation and judge-gated completion. Useful for multi-turn autonomous tasks that need structured progress tracking.
Defines goals with measurable success criteria and runs an autonomous convergence loop until goals are met or limits reached.
Saves Claude session goals to Org-mode files with auto-incremented ranks, theme classification (e.g., @goals, @audio), TODO states, properties, and task checklists. Invoke via /own-goal to track objectives.
Share bugs, ideas, or general feedback.
You are operating the goal-clear skill.
Read .claude/goals/active.json. If no active goal, tell the user and stop.
Read .claude/goals/<slug>/state.json to capture final status.
Confirm via AskUserQuestion before archiving (unless the goal is already done):
Append a final log entry:
## <ISO8601> — cleared
Final status before clear: <status>. Rejection count: <n>. Archived.
Move (not copy) .claude/goals/<slug>/ to .claude/goals/_archive/<slug>-<YYYYMMDD-HHMMSS>/. Use mv via Bash to preserve files atomically.
Set .claude/goals/active.json to the canonical terminal shape (see goal.md "Canonical state shapes"):
{
"slug": null,
"ended_at": "<ISO8601 now>",
"ended_reason": "cleared",
"previous_slug": "<the slug just cleared>"
}
If a chain was active, also include "previous_chain": "<chain-name>".
If a chain is active (.claude/goals/chain.json exists with status == "active" and contains the cleared slug), set chain.json.status = "aborted" and chain.json.completed_at = <ISO8601 now>. Append a ## <ISO8601> — chain aborted entry to the cleared slug's log.md (chain-level events are reconstructible from per-link logs + chain.json — there is no separate chain-log file). Do NOT advance to the next goal — clearing kills the chain. Do NOT modify the contracts or state of unreached chain links — their contract.md files stay in place for re-use.
If chain.json.status is already done or aborted (chain not currently active), leave chain.json untouched — the cleared goal is being archived after the chain finished, not aborting an in-flight chain.
The active.json ended_reason stays "cleared" (not "aborted") — aborted is a chain-level signal carried in chain.json, while the user's clear action on the goal is per-goal terminal context.
Tell the user: "Cleared goal <slug>. Archived to .claude/goals/_archive/<dir>/. Run /goal or /goal-prep to start a new one."
_archive/. The user may want to inspect the contract or log later.done (in which case clear is just bookkeeping).