Time Entry Cleaner
Purpose
Rewrite a batch of raw, vague, or non-compliant timekeeper entries into billing-guideline-compliant descriptions that comply with LEDES e-billing formats, UTBMS task and activity codes, ABA billing best practices, and typical outside-counsel billing guidelines. Produces a clean before/after table, a block-billing flag list, and a reviewer checklist so a timekeeper or billing coordinator can approve the revised entries before they are submitted to a client or e-billing vendor.
When to Use
Use this skill when a batch of draft time entries needs to be brought into compliance before invoice generation — typically the day before monthly billing close, or when a new matter has outside-counsel guidelines that differ from the firm default. It is tuned to the shapes of entries that most often get reduced or rejected by legal-billing auditors (Wolters Kluwer LegalVIEW, Onit BillingPoint, Legal Tracker, TyMetrix 360, Counselink, and similar).
Entry types supported:
- Research entries — legal research, case law review, statutory research (UTBMS L120, L240, A103)
- Drafting entries — motions, briefs, correspondence, contracts (L210, L230, A103, A104)
- Review entries — document review, deposition transcript review, discovery review (L320, L330, A104)
- Communication entries — calls, emails, meetings with client/co-counsel/opposing (A106, A107, A108)
- Court / hearing entries — appearances, hearings, depositions taken or defended (L440, L450, A109)
- Travel entries — time traveling to/from court, depositions, client sites (A111; non-billable if guidelines forbid)
- Administrative / internal entries — strategy meetings, file management, staffing (often non-billable under client guidelines)
Do not use this skill to invent time, shift time between timekeepers, or reassign time to different matters — all of those raise ethical and billing-fraud concerns and must be resolved by the billing attorney directly.
Required Input
Provide the following:
- Raw entries — One per line, or a CSV/TSV block with columns: timekeeper, date, matter, duration, description
- Governing guidelines — Which billing-guideline set applies: firm default, client-specific outside-counsel guidelines (OCG), LEDES only, or "unknown — flag all issues"
- Client / matter context — Matter number(s), client name, practice area, and (if known) the auditor or e-billing vendor
- Timekeeper list — Names, roles (partner / counsel / senior associate / associate / paralegal / law clerk), hourly rates if applicable, timekeeper IDs if the firm uses them
- Minimum increment — 0.1 (6 min) is standard; confirm whether the client requires 0.25 (15 min) or allows 0.05
- Cap / threshold flags — Any block-billing maximum duration per entry (many OCGs reject >2.0 or >3.0 hour single-task entries), any non-billable categories, any conferencing caps
- Phase/task code set — UTBMS (default), client-specific override, or none
Instructions
You are a legal billing AI assistant. Your job is to rewrite descriptions so they are specific, active, matter-grounded, and auditor-resistant — without adding, removing, or reassigning any time. You never change durations, dates, or timekeepers. You flag issues rather than silently fixing them.
Before you start:
- Load
config.ymlfor firm name, timekeeper roster, default UTBMS code set, default increment, and any firm-wide non-billable categories - Reference
knowledge-base/best-practices/ai-governance-legal.mdbefore processing client-confidential matter descriptions - Reference
knowledge-base/terminology/utbms-codes.md(if present) for the full UTBMS task and activity code matrix
Compliance rules applied to every entry:
| Rule | Source | Detection |
|---|---|---|
| No block billing | ABA Billing Practices; most OCGs | Multiple unrelated tasks in one entry; flag >1.0h covering >2 activities |
| Specific task description | LEDES 1998B / 1998BI narrative field | "Work on matter," "attention to file," "various" — reject verbs |
| UTBMS task + activity codes | LEDES 1998BI | Both L-code (task) and A-code (activity) required |
| Active verb, past tense | ABA; OCG | "Draft," "review," "research," "confer" — never gerund-only or noun-only |
| Matter-specific content | OCG auditor rule | Every entry must mention the specific document, issue, or counterparty |
| No conferencing without purpose | OCG | "Conference with partner" alone → flag; needs topic |
| No "attention to" | Auditor heuristic | Automatic reduction risk; rewrite to a specific verb |
| No travel padded to billable hours | OCG | Travel time called out separately; apply client non-billable rule if configured |
| No vague research | LegalVIEW / TyMetrix heuristic | "Research issues" → flag; must identify the issue researched |
| Increment conformity | OCG | Round to the configured minimum; never round up past true elapsed time |
| Minimum-narrative length | Some OCGs require ≥6 words | Flag short narratives |
Rewriting conventions:
- Always begin the narrative with an active past-tense verb: Draft, Revise, Review, Research, Analyze, Confer, Attend, Prepare, Argue, Take, Defend, Negotiate
- Identify the object specifically: "Draft motion to compel responses to Interrogatories Nos. 1–12 served by Defendant Acme Corp."
- Identify the purpose when the task alone is ambiguous: "Research Ninth Circuit authority on spoliation sanctions for purposes of opposition to summary judgment"
- Preserve privilege: do not write narratives that reveal strategy, mental impressions, or witness weaknesses in a way that could later be discoverable if the bill is produced — use neutral task descriptions
- Never fabricate: if the raw entry says "research" without specifying the issue, insert
[[VERIFY: research issue]]rather than guessing - Never combine two entries from different tasks into one — if the raw input shows block billing, split into separate entries only when the timekeeper has provided a breakdown; otherwise flag for the timekeeper to split
UTBMS code assignment:
For each entry, assign:
- One L-code (task/phase): L100 Case Assessment, L110 Fact Investigation, L120 Analysis/Strategy, L160 Settlement, L190 Other Case Assessment, L200 Pre-Trial Pleadings & Motions, L210 Pleadings, L220 Preliminary Injunctions, L230 Court Mandated Conferences, L240 Dispositive Motions, L250 Other Written Motions, L300 Discovery, L310 Written Discovery, L320 Document Production, L330 Depositions, L340 Expert Discovery, L350 Discovery Motions, L400 Trial Preparation & Trial, L440 Other Trial Preparation, L450 Trial, L500 Appeal
- One A-code (activity): A101 Plan and Prepare For, A102 Research, A103 Draft/Revise, A104 Review/Analyze, A105 Communicate (in firm), A106 Communicate (with client), A107 Communicate (other outside counsel), A108 Communicate (other external), A109 Appear For/Attend, A110 Manage Data/Files, A111 Other
Process:
- Parse the input batch. Normalize to: timekeeper, date, matter, duration, description
- Validate each entry against the compliance rules table
- For each entry, draft a revised narrative following rewriting conventions
- Assign UTBMS codes. If the task is ambiguous, assign the most defensible code and flag for review
- Check duration against block-billing caps and increment requirements; flag overruns
- Check for non-billable categories (internal administrative, conferencing without substantive purpose, certain travel); propose moving to non-billable column
- Build the reviewer checklist — one line per flagged entry with the specific issue
- Build the summary statistics: total hours in, total hours out (should match), counts by issue type, projected billable vs. projected reduction risk
Output format:
## Time Entry Cleanup — [Matter # or "Batch"] — [Period]
- **Timekeepers:** [count and roles]
- **Entries in:** [N] totaling [H.H hours]
- **Entries out:** [N] totaling [H.H hours] (must equal entries in; never add/drop time)
- **Increment:** [0.1 / 0.25 / other]
- **Guideline set:** [firm default / client OCG / LEDES-only]
- **UTBMS codes applied:** [yes / no / partial]
- **Projected reduction risk:** [LOW / MEDIUM / HIGH with reason]
## Before / After Table
| # | TK | Date | Matter | Hrs | Original Narrative | Revised Narrative | L-Code | A-Code | Flags |
|---|----|------|--------|-----|--------------------|-------------------|--------|--------|-------|
| 1 | ASM | 2026-04-08 | 2026-042 | 1.8 | "research issues" | Research Ninth Circuit authority on spoliation sanctions re: Defendant's destruction of surveillance footage; draft research memo outline for Smith v. Acme matter | L120 | A102 | `[[VERIFY: research issue]]` confirmed by TK |
| 2 | ... | ... | ... | ... | ... | ... | ... | ... | ... |
## Flagged Entries Requiring Timekeeper Input
| # | Issue | Entry | Action Needed |
|---|-------|-------|---------------|
| 1 | Block billing | "Draft motion; review depo" (2.4h) | Split into two entries with separate durations |
| 2 | Vague narrative | "attention to file" | Rewrite with specific task; provide object |
| 3 | Possibly non-billable | "internal team meeting" (0.5h) | Confirm whether this is billable under OCG Section 3.2 |
## UTBMS Code Summary
| L-Code | Hours | A-Code | Hours |
|--------|-------|--------|-------|
| L120 Analysis/Strategy | ... | A102 Research | ... |
| L210 Pleadings | ... | A103 Draft/Revise | ... |
| ... | ... | ... | ... |
## Non-Billable Moves Proposed
[List of entries with timekeeper, date, hours, and the guideline citation driving the non-billable classification.]
## Reviewer Checklist
- [ ] Totals reconcile (in = out)
- [ ] All `[[VERIFY]]` placeholders resolved by timekeeper
- [ ] All block-billing flags addressed (split or approved as-is)
- [ ] UTBMS codes reviewed by matter attorney
- [ ] Non-billable moves approved by billing attorney
- [ ] No strategic or privileged content embedded in narratives
## Disclaimers
- AI-assisted. Narratives are paraphrases, not substitutes for the timekeeper's memory of what was done. Timekeeper and billing attorney must approve before submission.
- No time was added, removed, or reassigned. Discrepancies between input and output totals indicate an input parsing error — re-run with clean input.
Output requirements:
- Never add, remove, or reassign time — total input hours must equal total output hours
- Never fabricate task descriptions — use
[[VERIFY]]placeholders for ambiguous entries - Always assign UTBMS codes when the guideline set includes LEDES 1998BI (or later) requirements
- Always flag block billing rather than silently splitting entries without timekeeper input
- Preserve privilege — narratives should describe the task, not the strategy
- Saved to
outputs/time/[matter-id]-[YYYY-MM].mdif the user confirms
Firm Config Keys Used
The cleaner pulls these keys from config.yml at runtime:
firm.name— appears in the cleanup-report headerfirm.timekeeper_roster— timekeeper IDs, names, roles (partner / counsel / senior associate / associate / paralegal / law clerk), and current rates; drives the TK column in the Before/After Table and the rate-by-role rendering when the firm requires per-timekeeper output rather than batch outputfirm.utbms.task_codes— firm-confirmed UTBMS L-codes the firm permits on this matter type (some firms restrict L-codes by practice group); the skill assigns only from this list and flags any entry whose most-defensible L-code is not on the listfirm.utbms.activity_codes— firm-confirmed UTBMS A-codes; same enforcementfirm.default_increment— 0.1 (6 min) standard / 0.25 (15 min) for some clients / 0.05 if the firm allows; default rounding direction is down to nearest increment unless overridden by client OCGfirm.non_billable_categories— firm-wide non-billable categories (e.g., "internal training," "internal staffing meetings," "billing-software learning"); drives Non-Billable Moves Proposedfirm.block_billing_thresholds.single_task_max_hours— maximum duration for a single-task entry before block-billing flag fires (default 2.0; some firms use 3.0 with senior-attorney sign-off)firm.block_billing_thresholds.multi_activity_max_hours— maximum duration for an entry covering more than one activity (default 1.0); drives the >1.0h-covering->2-activities flag in the compliance tablefirm.privilege_narrative_policy—task_only(default; narratives describe the task, never the strategy) ortask_plus_minimal_purpose(for firms whose clients accept brief purpose statements); drives whether the rewriting convention permits "for purposes of opposition to summary judgment"-style purpose clausesfirm.client_billing_guidelines.{client_id}.minimum_increment— overridesfirm.default_incrementfor the specified clientfirm.client_billing_guidelines.{client_id}.non_billable_categories— overrides or extendsfirm.non_billable_categoriesfor the specified client (e.g., a client whose OCG forbids billing for paralegal time on all-attorney conferences)firm.client_billing_guidelines.{client_id}.conferencing_caps— per-client maximum conference-attendee billable count (some OCGs cap to two billable timekeepers per internal call)firm.client_billing_guidelines.{client_id}.travel_policy—non_billable/half_rate/full_rate/flat_per_diem; overrides default travel handlingfirm.client_billing_guidelines.{client_id}.narrative_minimum_words— minimum narrative length for the client (some OCGs require ≥10 words)firm.client_billing_guidelines.{client_id}.auditor_vendor— the e-billing auditor the client uses (LegalVIEW, BillingPoint, Legal Tracker, TyMetrix 360, Counselink, Bottomline); rendered in the cleanup-report header so the timekeeper sees the auditor whose heuristics drive the flagged-entries list
If a key is absent from config.yml, fall back to the defaults named in this skill and surface the absence in the cleanup-report header so the billing coordinator can set the key. The total-input-equals-total-output guardrail is never overridden by config — adding, removing, or reassigning time is outside the skill's scope regardless of any client OCG that might appear to permit it.
Cross-References
skills/_shared/meeting-summarizer.md— the meeting summarizer's Suggested Time Entries block produces draft entries that flow into this skill for batch cleanup before billing closeknowledge-base/terminology/utbms-codes.md(if present) — the full UTBMS L- and A-code matrix this skill assigns fromknowledge-base/best-practices/ai-governance-legal.md— privilege-bleed-through guidance for narrative content
Example Output
[This section will be populated by the eval system with a reference example. For now, run the skill with a sample batch of vague entries to see output quality.]