customize
Skill1 starsChanged 3 months agoMITView on GitHub
Guided customization of your billing practice profile — change one thing without re-running the whole cold-start interview. Adjust rates, billing data path, invoice settings, panel behavior, attorney profiles, or task code preferences. Does not create clients — new clients are created on their first time entry. Use when the user says "change my [thing]", "update my rate", "edit my billing config", or "customize".
40 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- HughYau/AcademicForgetheir own version, first seen Nov 8, 2026
- nanocoai/nanoclawtheir own version, first seen Nov 3, 2026
- microsoft/frontier-ai-governance-rvastheir own version, first seen Oct 25, 2026
- JonathanChan-geek/claude-science-skillstheir own version, first seen Oct 25, 2026
- ss2code/nanoclaw-opstheir own version, first seen Oct 15, 2026
- microsoft/frontier-ai-starter-kit-rvastheir own version, first seen Oct 13, 2026
Used with
Projects with it also use add-discord, add-slack and 10 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.
MicrosoftSkilladd-discord
Add Discord bot channel integration via Chat SDK.
Also in 11 projects that use this
MicrosoftSkilladd-slack
Add Slack channel integration via Chat SDK.
Also in 11 projects that use this
- +10 more from microsoft
Other versions40 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- anthropics/claude-for-legal★ 9.5k12% same
Wrote their own version · 39
- gavrielc/nanoclaw★ 31ksame name
- nanocoai/nanoclaw★ 31ksame name
- qwibitai/nanoclaw★ 31ksame name
- anthropics/defending-code-reference-harness★ 7.5ksame name
- microsoft/agent-skills★ 3.2ksame name
- microsoft/skills★ 3.2ksame name
- HughYau/AcademicForge★ 2.6ksame name
- microsoft/azure-skills★ 1.6ksame name
- xuzhougeng/wisp-science★ 1.1ksame name
- Runchuan-BU/BioClaw★ 405same name
29 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 repository10 other files it gives its agents.
- billing-guardrailsSkill
- billing-reportSkill
- billing-statusSkill
- billing-summarySkill
- cold-start-interviewSkill
- invoice-generateSkill
- ledes-exportSkill
- rate-cardSkill
- time-entrySkill
- wip-reviewSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 0 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 37 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
Read ~/.claude/plugins/config/claude-for-legal/billing/CLAUDE.md.
- Very specific: line 87
When Activity logging: enabled and the attorney confirms the removal, say: "Activity logging depends on the session timer, so it stops …
- Very specific: line 94
After writing, re-read settings.json and confirm which hook events remain.
- Very specific: line 102
If the user wants to change the firm name or address, note: "Firm name is shared with other claude-for-legal plugins via company-profile.md.
- Very specific: line 112
Never delete an attorney or client profile — if they want to "remove" someone, set their status to inactive and explain what that means
- Very specific: line 113
Never renumber issued invoices — the Next invoice number only affects future invoices
“Common” is measured: kept by at least 6 in 10 of the 37 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
/billing-legal:customize
When this runs
The user wants to change something in their billing configuration without re-running the full cold-start interview.
Instructions
Preflight - read /billing-legal:billing-guardrails first. It carries the approval gate,
the append-only record rule, UTBMS field discipline, and the boundary on what this plugin
records rather than decides. Where it conflicts with the steps below, the stricter rule wins.
1. Read config
Read ~/.claude/plugins/config/claude-for-legal/billing/CLAUDE.md. Get billing_data_path. If [PLACEHOLDER] values are present, stop:
You haven't run setup yet. Run
/billing-legal:cold-start-interviewfirst — customize is for adjusting a profile you already have.
2. Show the customizable map
List what can be changed, with current values:
Billing profile — customizable settings:
Firm info
• Firm name: [current]
• Billing address: [current]
• Billing email: [current]
• Remittance instructions: [current]
Invoices
• Invoice prefix: [current] (e.g., INV-2026-001)
• Next invoice number: [current]
• Task codes: [required / optional / hidden]
Panel & automation
• End-of-session billing panel: [enabled / disabled]
• Auto-detect active matter: [enabled / disabled]
• Budget warning threshold: [pct]%
Billing data
• Data path: [current path] (change to move to/from shared folder)
Attorneys — [N configured]
• [attorney name]: $[rate]/hr, [increment]h increment
• [Run /billing-legal:rate-card to manage rates and overrides]
Clients — [N configured]
• [Run /billing-legal:rate-card --client <slug> to manage client settings]
What would you like to change?3. Make the change
On user input, identify the section and field. Show the current value, ask for the new value, explain what changes downstream, confirm, write it.
Common changes and their downstream effects:
- Billing data path: Moving to a shared folder. Confirm: "I'll update the config to point to [new path]. You'll need to manually move your existing
attorneys/,clients/,time-register.yaml, andinvoices/directory to the new path. Do that before your next time entry. Confirm the path change? [Y/n]" - Invoice prefix: "New entries will use the new prefix. Existing invoices keep their original prefix — this won't retroactively renumber them."
- Task codes required → optional: "Future time entries won't require a task code, but existing entries and invoices aren't changed."
- Budget warning threshold: "The billing panel will warn at [new pct]% of a client's budget cap going forward."
Disabling the billing panel: "The end-of-session prompt will no longer appear. You'll need to run
/billing-legal:billing-statusor/billing-legal:time-entrymanually to log time. I'll remove both the Stop hook and the UserPromptSubmit hook from your settings.json — leaving either in place would keep creating timer files in.sessions/or producing stale block decisions. Want me to remove both? [Y/n]"Activity logging depends on the panel.
activity-log.ps1exits unless a session timer file exists, and timer files are created only by theUserPromptSubmithook you are about to remove. So disabling the panel makes activity logging inert while the config still readsenabled— it would fire on every tool call and record nothing.When
Activity logging: enabledand the attorney confirms the removal, say: "Activity logging depends on the session timer, so it stops working too. I'll setActivity logging: disabledand remove the PostToolUse hook as well, so the config matches what actually runs. Keep it registered instead? [Y/n]" Default to removing it. If they keep it, writeActivity logging: enabled (inactive - panel disabled)so the config does not claim a capability it cannot deliver.After writing, re-read
settings.jsonand confirm which hook events remain. Report them back. The removal is an instruction, not an enforced operation, and a partial removal leaves litter that nothing else detects.- Enabling the billing panel (was disabled): Walk through the hook setup (same as cold-start Phase 6).
4. For shared-profile changes
If the user wants to change the firm name or address, note: "Firm name is shared with other claude-for-legal plugins via company-profile.md. I'll update it there so the change flows everywhere. Confirm? [Y/n]"
5. Close
Done. Your next output will reflect the change. Run
/billing-legal:customizeanytime to adjust.
Guardrails
- Never delete an attorney or client profile — if they want to "remove" someone, set their status to
inactiveand explain what that means - Never renumber issued invoices — the
Next invoice numberonly affects future invoices - Flag if a rate change would affect already-pending (but not yet approved) entries: "You have [N] pending entries for [client] at the old rate. Do you want to update those to the new rate, or keep them at the rate they were logged at? (Best practice: keep them as logged)"
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.

