This skill should be used when user asks to "set up overleaf", "configure overleaf cookie", "overleaf auth failed", "overleaf 401", "overleaf session expired", "overleaf unauthorized", or needs to install or refresh their Overleaf session cookie for the overleaf-skills plugin.
npx skills add https://github.com/fcakyon/claude-codex-settings --skill setup
Walk the user through pasting a fresh overleaf_session2 cookie into ~/.claude/overleaf-skills/cookie. Cookies slide ~5 days idle; users will hit this every few days.
Check if ~/.claude/overleaf-skills/cookie already exists. If yes, run:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/overleaf_reviews.py --check-auth
OK <email>: tell user "Already configured, logged in as <email>". Ask via AskUserQuestion whether to refresh or keep.FAIL: tell user the stored cookie is expired and continue to Step 2.Tell the user to grab the cookie from their browser. Give all three branches; pick none for them:
Chrome / Edge / Brave / Arc: Cmd+Option+I (mac) or F12 → Application tab → Storage → Cookies → https://www.overleaf.com → row where Name = overleaf_session2 → double-click Value cell → Cmd+A → Cmd+C.
Firefox: F12 → Storage tab (enable in DevTools settings if hidden) → Cookies → https://www.overleaf.com → click overleaf_session2 row → right-click → Copy Value.
Safari: Enable Develop menu (Settings → Advanced → Show features for web developers), then Cmd+Option+I → Storage → Cookies → www.overleaf.com → click overleaf_session2 row → copy from right-hand detail pane.
Add three warnings at the bottom:
overleaf_session2 (UNDERSCORE). A row named overleaf.session2 (DOT) is a stale legacy cookie that will not authenticate.HttpOnly — document.cookie in the JS console returns empty for it. The storage panel is the only path.s%3A and be ~80+ chars. If it starts with s%3Ac%3A1%3A, you're logged out — log into overleaf.com and re-grab.Use AskUserQuestion: "Do you have your overleaf_session2 cookie value ready?" with options "Yes, paste it now" and "Skip for now". The user pastes via the "Other" free-text field.
Normalize the input: strip whitespace; if it does NOT start with overleaf_session2=, prepend it (accept bare value).
Reject (re-prompt with reason):
overleaf.session2= → "Overleaf renamed this cookie to overleaf_session2 (underscore). Re-grab the underscore row."=) starts with s%3Ac%3A1%3A → "That's an anonymous-visitor cookie. Log into overleaf.com first, then re-grab."s%3A after the = → "Doesn't look like an Overleaf session cookie. Confirm you copied from the overleaf_session2 row on www.overleaf.com."Cmd+A inside the Value cell."mkdir -p ~/.claude/overleaf-skills
[ -f ~/.claude/overleaf-skills/cookie ] && cp ~/.claude/overleaf-skills/cookie ~/.claude/overleaf-skills/cookie.backup
# Write the normalized value (one line, no trailing newline beyond what's natural)
printf '%s\n' "<normalized-cookie>" > ~/.claude/overleaf-skills/cookie
chmod 600 ~/.claude/overleaf-skills/cookie
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/overleaf_reviews.py --check-auth
OK <email>: report "Configured. Logged in as <email>." Done.FAIL: restore from cookie.backup if it exists (mv ~/.claude/overleaf-skills/cookie.backup ~/.claude/overleaf-skills/cookie), tell user the new cookie did not authenticate, loop back to Step 2.Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take fcakyon/claude-codex-settings-overleaf-skills-setup from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.