configure
Skill4 starsChanged 10 days agoMITView on GitHub
Show current settings and route changes to the validated CLI or owning skill — never a new mutation path itself.
43 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- btrazzini/hippOStheir own version, first seen Nov 8, 2026
- Totes-MickGOATs/opus-pocustheir own version, first seen Nov 1, 2026
- Edmonds-Commerce-Limited/claude-code-hooks-daemontheir own version, first seen Oct 28, 2026
- talal-ai/handoff-nowtheir own version, first seen Oct 20, 2026
- pierreraii/claude-slack-bridgetheir own version, first seen Oct 20, 2026
Used with
Projects with it also use calendar, setup and 2 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jacobraskSkillcalendar
Interact with Apple Calendar via AppleScript. Use when the user asks to check calendar, view events, create events, manage schedule, find free time, or list calendars. Triggers include "my calendar", "my schedule", "calendar events", "create event", "add to calendar", "what's on my calendar", "free time", "available slots", "upcoming events", "today's events". Requires macOS with Calendar.app.
Also in 3 projects that use this
VercelSkillsetup
Set up Vercel CLI and project configuration. Use when the user says "set up Vercel", "configure Vercel", "link to Vercel", or "vercel init".
Also in 7 projects that use this
AnthropicSkillstatus
Case status summary by audience — client-facing (plain language), internal (for the professor), or court-ready (formal caption format per local rules). Same facts, different framing and depth. Use when a student needs to update the client, brief the professor, or prepare a court status report.
Also in 3 projects that use this
Microsoft AzureSkillbuild
Build the TypeSpec Rust emitter from source. Run this after cloning the repo, after pulling changes, or when TypeScript source files have been modified.
Also in 3 projects that use this
Other versions43 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 43
- anthropics/claude-plugins-official★ 46ksame name
- bitwize-music-studio/claude-ai-music-skills★ 589same name
- m1heng/claude-plugin-weixin★ 564same name
- fw-ai/cookbook★ 241same name
- k1p1l0/claude-telegram-supercharged★ 144same name
- Rich627/whatsapp-claude-plugin★ 114same name
- paceaitian/cc-wechat★ 68same name
- jeremylongshore/claude-code-slack-channel★ 43same name
- atomicinnovation/accelerator★ 34same name
- spotify/ads-agentic-tools★ 20same name
33 more not listed
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.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- templates/CLAUDE.mdCLAUDE.md
- answer-questionSkill
- apply-jobSkill
- calendar-syncSkill
- coach-gapsSkill
- company-healthSkill
- discover-companiesSkill
- email-commsSkill
- evaluate-jobSkill
- ingest-mailSkill
- ingest-messagesSkill
- ingest-profileSkill
- intake-extractSkill
- interview-prepSkill
- optimize-linkedinSkill
- reevaluate-strategySkill
- relationship-sourcingSkill
- report-issueSkill
- research-boardsSkill
- research-companySkill
- research-compSkill
- resume-extractSkill
- schedule-meetingSkill
- search-jobsSkill
- setup-searchesSkill
- sync-statusSkill
- tailor-applicationSkill
- track-outcomesSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 6 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 43 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 35
Before offering to change anything, run these checks and report what they show:
- Distinctive: line 49
Ask the user what they want to change.
- Distinctive: line 95
Do NOT hand-edit these files.
- Distinctive: line 129
After every write, run:
- Very specific: line 180
current_baseis private: Never print it, never let it appear in any output or artifact. - Distinctive: line 183
Everything stays local: No data leaves the machine.
- Distinctive: line 185
Domain-neutral: No hardcoded role titles, companies, tools, or candidate-specific values in this skill.
“Common” is measured: kept by at least 6 in 10 of the 43 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
configure
Runs under AGENTS.md. These contracts bind without being restated here: Privacy Invariant (
current_basenever outbound), Honesty Firewall, Placeholder/Bracket Ban, Gate Write-back, Domain-Neutral Rule, Browser Automation Contract, Activity Pulse logging, Tracker verify+snapshot, and Sent-Clears-Draft. Inline reminders at point-of-use are intentional; standalone restatements point back to the relevant AGENTS.md section. Barecandidate/,workspace/,config/, and.internal/paths below are symbolic; resolve them per AGENTS.md's Path Resolution rule.
Agent voice. Read candidate modes through the shared DB-first accessor (
modes.agent_voice, defaultstandard) before producing settings summaries. Apply the register from AGENTS.md#mode-switches.exec-summary= changed setting + confirmation in one line;standard= current state + change + confirmation as short bullets;verbose= full settings matrix. To changeagent_voiceitself:careerrat modes set agent_voice <value> --write.
Core Principle
configure is a menu and router. It reads state directly (read-only) and shows it to you. Every write goes through the existing validated, schema-checked, atomic CLI or the owning skill — configure never hand-edits a YAML file itself. In DB workspaces those CLIs write SQLite; in legacy workspaces they may patch YAML. This is the [[capture-is-skills-not-cli]] invariant: mutations go through the write-guarded, confirm-first paths that already exist, not through this skill.
DB-backed gate, modes and automation writes record the changed field and its Undo reference atomically. DB-backed data candidate evidence and evidence add --write record added or changed claims with their canonical ids in the same transaction. Dry runs, no-ops, skipped duplicates and refused changes create no Undo entry. Inspect careerrat data changes list --json before promising Undo for data candidate patch; that command does not yet record it automatically. Legacy file writes do not create a database as a side effect. Lowering a comp floor or target and loosening an honesty boundary are confirm-first. Everything stays local. Nothing is run on a schedule.
When to Use
- "Change a setting", "update my comp floor", "raise my floor", "edit excluded companies"
- "Change my writing style", "update form defaults", "update how did you hear about us"
- "Turn on status polling", "turn off messaging", "turn off LinkedIn automation"
- "Switch the session browser", "use the extension", "use Playwright instead"
- "Configure", "settings", "what are my settings", "show my config"
- Any time you want to change a gate or preference without re-running the full
ingest-profileonboarding interview
ingest-profile is the heavyweight first-run interview; configure is the lightweight always-available alternative for targeted changes after setup is complete.
STEP 1 — Show Current State
Before offering to change anything, run these checks and report what they show:
careerrat doctor
careerrat modes status
careerrat automation statusReport a brief summary of each setting's current value and where it lives. Never print current_base — it is a private gate input and must never appear in any output, shared artifact, or report from this skill.
STEP 2 — Ask What to Change
Ask the user what they want to change. Route to the correct CLI or owning skill from the table below. If they name multiple things, address them in order.
Routing Table
Settings with a dedicated CLI
Run the CLI dry run first. The default is a dry run: it shows the exact line that will change without writing. Add --write to commit. Only lowering or clearing a comp floor or target also requires --confirm, after an explicit yes; --confirm is ignored on every other write.
| What to change | Command | Friction |
| Comp floor (walk-away minimum) | careerrat gate comp-floor <N> --write (add --confirm only when lowering) | write-and-report when raising or first set, confirm-first when lowering |
| Comp target (negotiation anchor) | careerrat gate comp-target <N> --write (add --confirm only when lowering) | write-and-report when raising or first set, confirm-first when lowering |
| Comp expected (form-field value) | careerrat gate comp-expected <N> --write | write-and-report |
| Excluded company | careerrat gate exclude-company "<Name>" --write | write-and-report |
| Cut signal | careerrat gate cut-signal "<signal>" --write | write-and-report |
| Keep signal | careerrat gate keep-signal "<signal>" --write | write-and-report |
| Honesty: do not claim a tool | careerrat gate do-not-claim "<tool>" --write | write-and-report |
| Honesty: do not fabricate a claim | careerrat gate do-not-fabricate "<claim>" --write | write-and-report |
| Usage mode (compute/scope) | careerrat modes set usage <lean|standard|full> --write | write-and-report |
| Application mode (pursuit posture after discovery) | careerrat modes set application <selective|balanced|high-volume> --write | write-and-report |
| Turn a capability back on (globally or per-platform) | careerrat automation enable <capability> [platform] --write | write-and-report |
| Turn a capability off (globally or per-platform) | careerrat automation disable <capability> [platform] --write | write-and-report |
| Session browser provider | careerrat automation session <extension|playwright> --write | write-and-report |
| Final submit mode (auto presses Submit, manual stops for you) | careerrat automation submit <auto|manual> --write | write-and-report |
Capabilities: status_polling, messaging, authenticated_apply_preparation, profile_optimize, profile_apply, mail_access, relationship_sourcing, calendar_sync, calendar_read. All are on by default.
Platforms per capability:
status_polling: greenhouse, workday, ashby, levermessaging: linkedin, wellfoundauthenticated_apply_preparation: linkedinprofile_optimize: linkedinprofile_apply: linkedinmail_access: gmail, outlook, webmail (webmailis provider-agnostic verification-code access; Gmail/Outlook also support webmail ingest)
A capability runs on a platform unless its global switch or that platform's per-capability switch is turned off. This is the verdict from mayRun() in src/core/automation/consent.mjs; never re-derive it here. There is no consent step or setup mode: route "turn on X" to careerrat automation enable and "turn off X" to careerrat automation disable.
Dry-run first. For every CLI command above, run it once without --write so the user sees the exact change before it commits. For a loosening change (lowering a comp floor or target, loosening an honesty boundary), only add --write (and --confirm where required) after an explicit yes. Other knowledge and targeting writes go ahead directly and are reported with an Undo.
Mode semantics: usage_mode changes compute/scope for discretionary work; it never lowers core gate/tailor/track/comms quality. application_mode changes what CareerRat does after discovery: promote, review, apply, or hold. Discovery should remain recall-oriented by default so plausible roles are not missed; application mode gates what happens next. Neither mode relaxes honesty, privacy, comp, or application-limit gates.
Settings without a dedicated CLI — route to the owning skill
Do NOT hand-edit these files. Route the user to the skill that owns the write path.
| What to change | Route to |
| Search sources / job boards | setup-searches skill |
Identity / contact info (profile.yml name/email/phone/location) | ingest-profile — re-run the identity step |
Writing style (writing-style.md and workspace/writing-samples/) | ingest-profile — re-run the writing samples step (STEP 14) |
Form defaults (form-defaults.yml applicant facts) | ingest-profile: re-run the form defaults step (STEP 11) |
For ingest-profile-owned settings: tell the user which step to target. ingest-profile supports resuming from a specific step — it will not restart the whole interview.
Session Browser Provider
The session browser is the Layer 3 interactive provider (docs/BROWSER.md). Two options:
- Extension (recommended default): Claude-in-Chrome or equivalent. It already holds the user's logins and password store, so authenticated portals just work. No credentials are stored by CareerRat.
- Playwright (fallback): A persistent profile at
<data root>/board-profiles/<platform>(data root per AGENTS.md's Path Resolution rule). The user signs in once per platform; the session persists across runs.
Switch the provider with:
careerrat automation session <extension|playwright> --writeDry-run by default; --write commits. In DB mode this writes candidate_automation; in legacy mode the first --write scaffolds candidate/automation.yml from the template if it doesn't exist yet. The change is schema-validated in both modes.
careerrat doctor now surfaces the configured provider and a best-effort presence probe (whether the provider looks reachable). See docs/BROWSER.md for the full substrate map and the Browser Automation Contract in AGENTS.md for the on/off model.
STEP 3 — Re-validate After Any Change
After every write, run:
careerrat doctorFor changes to candidate config files, also run:
careerrat ingest --checkReport what changed. If validation fails, surface the exact error and fix it before closing.
Conversational workspace settings
In the Ask workspace, showing settings and applying a targeted change are native:
the app runs typed intents (settings.explain, settings.apply) directly in
workspace-agent.mjs, not this skill's CLI routing. A terminal or
external-agent run of this skill still follows STEP 1 → 3 exactly as written.
Both intents reuse the same validated write paths this skill routes to
(candidateConfigPatch, the gate routes); neither opens a new mutation path.
- Explain. "What are my settings", "show my automation settings", and
"what mode am I in" return a read-only
settings_overviewcard built by strict allow-list: modes, the automation capability and platform matrix, and gate values (comp floor/target/expected, excluded-company count, cut/keep signals, do-not-claim).current_baseis never read, and a leak backstop refuses the whole card rather than surface it. - Apply. Free-text changes ("set my comp floor to $150k", "exclude Acme
from my search", "switch usage mode to full", "turn off status polling
on Greenhouse", "turn on relationship sourcing") preview as a labeled action chip;
confirming runs one narrow, schema-validated write and returns a
settings_applyreceipt with the prior and new value. "…to match my current salary" phrasings are refused with private-comp copy, never parsed. - What stays elsewhere. Any capability or platform can be turned on or off from Ask. Consent and setup mode were retired, so those old phrases succeed as a no-op note and write nothing. AI keys, runtime selection, and search-source edits keep their own owning flows.
Job-source login is not a setting or automation capability. A source that needs login asks one plain Yes/No question when it runs. Yes opens that source in the visible CareerRat browser, and No skips it.
Rules
- Never a new mutation path. configure reads state and routes. Every write goes through the CLI or the owning skill — never a direct YAML or SQLite edit from this skill.
current_baseis private. Never print it, never let it appear in any output or artifact. It is stored in candidate profile config withcurrent_comp_shareable: falseand is never an outbound value.- Confirm-first on loosening writes. Dry-run first, show the exact line that will change, get an explicit yes before adding
--write --confirm. Loosening gates: lowering the comp floor or target, loosening an honesty boundary. - Apply directly, with an Undo, on other knowledge and targeting writes. Cut/keep signals, company exclusions, raised comp, expected comp, tightened honesty boundaries, automation switches: write through the owning writer and echo what changed.
- Everything stays local. No data leaves the machine. No automation runs on a schedule. Every automated session is user-initiated.
- Never auto-run browser automation. configure surfaces the CLI commands; the user confirms each one.
- Domain-neutral. No hardcoded role titles, companies, tools, or candidate-specific values in this skill. All candidate values live in SQLite in DB mode and compatibility config files only in legacy/export mode.
Does 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.

