skip
Skill0 starsChanged 4 months agoMITView on GitHub
This skill should be used when the user declines or defers the project-optimizer onboarding offer — answering the first-session question with "no thanks", "nah", "not now", "skip it", "never for this project", "don't ask again here", "stop asking", or "remind me later" — or asks to stop the project-optimizer SessionStart hook from prompting in a directory. Records the directory as declined (permanent) or snoozed (temporary). Not for skipping a step, file, or test during ordinary work.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- ProjectAJ14/eklavyatheir own version, first seen Oct 20, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- ProjectAJ14/eklavya★ 29same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 43
Check the existing entry first:
- Very specific: line 49
If the status is already optimized, this directory was onboarded and the hook is already quiet here.
- Very specific: line 66
Default <path> to the current working directory when none is given.
- Very specific: line 73
When ~/.claude/linear-sync/registry.json exists, onboarding also covers issue tracking, so a permanent decline here must land there too or …
- Very specific: line 84
Do this for declined only.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skip Onboarding
Record a directory so the project-optimizer SessionStart hook stops offering onboarding there.
Arguments
Arguments are optional and free-form. Map them before anything else:
never,no,decline→declinedsnooze,later, or no keyword at all →snoozed- A bare number, or a number following
snooze→ the window in days (default 7) - Anything path-shaped → the target directory
Invoked bare, with no offer on screen to interpret, snooze the current directory for 7 days.
Choosing the status
Two outcomes, and the difference matters:
declined— permanent. The hook never offers here again. Use for directories that are not projects, throwaway scratch space, or projects deliberately left unconfigured.snoozed— temporary, defaults to 7 days. The offer returns after the window. Use when the user is mid-task and does not want to deal with it now.
Interpret intent rather than demanding a keyword. "Never", "don't ask again", and "this isn't a project" mean declined. "Not now", "later", "I'm busy", and "remind me next week" mean snoozed. When genuinely ambiguous, default to snoozed — it is the recoverable choice, and a wrong permanent decline is silently annoying months later.
Recording
Check the existing entry first:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh" get "<path>"If the status is already optimized, this directory was onboarded and the hook is
already quiet here. Say so and record nothing — writing declined would discard a
real result and fix nothing.
Otherwise record it:
# Permanent
bash "${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh" set "<path>" declined
# Temporary, default 7 days
bash "${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh" set "<path>" snoozed "" 7
# Temporary, explicit window
bash "${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh" set "<path>" snoozed "" 30Default <path> to the current working directory when none is given. When the
offer came from the SessionStart hook, reuse the exact path the hook printed in
its message rather than re-deriving it — the registry is keyed by exact string
match, and a symlink-resolved variant creates an entry that silences nothing.
The companion registry
When ~/.claude/linear-sync/registry.json exists, onboarding also covers issue
tracking, so a permanent decline here must land there too or that side is
asked again later. After a successful declined write, run:
REG="$HOME/.claude/linear-sync/registry.json"; DIR="<path>"; tmp="$(mktemp)"
[ -f "$REG" ] && jq --arg p "$DIR" --arg slug "$(basename "$DIR")" --arg now "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
'.projects[$p] = ((.projects[$p] // {}) + {slug:$slug, status:"declined", createdAt:$now})' \
"$REG" > "$tmp" && mv "$tmp" "$REG"Do this for declined only. A snooze is temporary and needs no mirror. When the
file does not exist, skip this silently — it is a machine-local companion, not part
of the plugin.
Confirming
Run registry.sh set before saying anything about the outcome. The failure
this guards against is answering "snoozed for 7 days" conversationally without
ever writing the entry: the user believes the offer is deferred, nothing is
recorded, and it returns on the very next session. A verbal acknowledgement is
not a skip. Measured at 2 of 4 deferrals before this was made explicit.
Reply in one line: what was recorded, for which directory, and when it expires if snoozed. Do not explain the registry, restate the plugin's purpose, or offer alternatives — the user just declined something and wants to get on with their work.
registry.sh exits non-zero and writes to stderr when it cannot record, most
often because jq is not installed. Never confirm a skip that did not happen.
Say plainly that the directory was not recorded, give the error, and note that the
offer will return next session.
If asked to undo
# Make the offer return here
bash "${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh" remove "<path>"
# Show every recorded project and status
bash "${CLAUDE_PLUGIN_ROOT}/scripts/registry.sh" listDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

