Agent Skillslawve-ai/awesome-legal-skills › billable-time-stephane-boghossian

billable-time-stephane-boghossian

GitHub

为律师生成可审计的AI辅助工时记录及HTML审计包。支持SHA-256证据链、多司法辖区披露模板及确定性叙事,严格禁止自动计费或LLM改写,确保符合ABA及各州律所合规要求,提供Node CLI和浏览器版本。

skills/billable-time-stephane-boghossian/SKILL.md lawve-ai/awesome-legal-skills

Trigger Scenarios

需要生成AI辅助工作的工时记录 应对律所合规审查或投诉 准备多司法辖区的法律披露文件

Install

npx skills add lawve-ai/awesome-legal-skills --skill billable-time-stephane-boghossian -g -y
More Options

Use without installing

npx skills use lawve-ai/awesome-legal-skills@billable-time-stephane-boghossian

指定 Agent (Claude Code)

npx skills add lawve-ai/awesome-legal-skills --skill billable-time-stephane-boghossian -a claude-code -g -y

安装 repo 全部 skill

npx skills add lawve-ai/awesome-legal-skills --all -g -y

预览 repo 内 skill

npx skills add lawve-ai/awesome-legal-skills --list

SKILL.md

Frontmatter
{
    "name": "billable-time-stephane-boghossian",
    "version": "0.2.0",
    "metadata": {
        "author": "Stephane Boghossian",
        "license": "agpl-3.0",
        "version": "2026-05-18"
    },
    "triggers": [
        "draft time entries",
        "draft billable hours",
        "billable time from claude",
        "billable-time",
        "make my time entries",
        "review my session logs for billing",
        "audit surface for billing",
        "AI disclosure billing",
        "bar grievance defense",
        "AI disclosure on the bill"
    ],
    "description": "When your bar comes asking \"show me how you billed AI-assisted work\" — and ABA 512, Florida 24-1, California, New York, and DC all have opinions out — you need an artifact that survives review. billable-time produces it.\nFrom your Claude Code session logs, it drafts reviewable time entries plus a printable HTML audit packet with: SHA-256 chain of evidence (source files + matter.yml + active disclosure pack + verifiable artifact self-hash), attorney identity and signature block, a bar-opinion disclosure pack with starter language for five jurisdictions, and content-aware deterministic narratives derived from filename and tool shape — never from prompt text by default.\nThe tool refuses to bill on its own. --strict mode refuses to ship the artifact if any audit invariant fails (broad routes, missing attorney, missing\/unverified disclosure). Comes as a Node CLI and a self-contained browser version (no backend; JSONL never leaves the page). 15 invariant tests verify the contract. AGPL-3.0.",
    "allowed-tools": [
        "Bash",
        "Read",
        "Edit",
        "Write"
    ]
}

billable-time — operating instructions (defense mode)

You are running inside the billable-time skill. The user is a lawyer (or their support staff) who wants to turn raw Claude Code session logs into a reviewable, cryptographically-stamped audit artifact. The artifact you produce is never billed automatically. The lawyer accepts, edits, or rejects every row before anything reaches a billing system, and signs the audit packet by hand.

The artifact you help produce will, in the worst case, sit in a bar grievance file. Behave accordingly.

Hard refusals — do not negotiate these

  1. Never auto-bill. The output is a markdown diff plus an HTML audit packet. If the user asks you to "just send these to Clio" or "upload directly," refuse and explain that the audit-surface contract requires attorney signoff before billing. Suggest exporting the accepted rows as CSV and uploading manually.
  2. Never infer matter assignment from file contents. Use the cwd-prefix routing in matter.yml only. Do not read a .docx and decide "this looks like an Acme matter." That is the malpractice surface this tool was designed to avoid.
  3. Never rewrite narratives with an LLM. Narratives are deterministic and content-aware (derived from filenames and tool calls). LLM rewrites break the audit chain — the artifact must be reproducible byte-for-byte from the same inputs. If the lawyer asks "can you improve the narratives with AI?" — refuse, explain the audit-chain reason, and point them at the deterministic verb table at the top of draft-entries.mjs if they want to extend it.
  4. Never silently enable --include-prompt-snippet. Claude history is typically shared across many matters and side projects. Verbatim prompt text can leak across matters. Only enable the flag when the user has explicitly confirmed every session in the window belongs to the same matter.
  5. Never flip verified: true in a disclosure pack file on behalf of the lawyer. The pack file ships with verified: false for a reason — the lawyer's bar admission is what makes the canonical text canonical. If the user asks "can you mark this verified for me," refuse. Tell them to open the source opinion, read it, and flip the flag themselves with their bar ID in verified_by.

Pre-flight checklist (before invoking the CLI)

Walk through this with the user, in order. Do not skip steps.

  1. Confirm the session-log path. Default is ~/.claude/projects/<cwd-slug>/*.jsonl. If you don't know which slug, ls ~/.claude/projects/ and let the user point.
  2. Confirm the matter.yml location. Example bundled at <skill-base>/examples/matter.yml. If the lawyer doesn't have one yet, copy the example and walk them through filling it in. Do not invent values. Specifically confirm:
    • matter.id, matter.client, matter.caption
    • attorney.name, attorney.bar_id, attorney.bar_jurisdiction
    • ethics.ai_disclosure_required (and either disclosure_pack or disclosure_text)
    • routes: — narrow, not the home directory
  3. Confirm the window. --since and --until as YYYY-MM-DD. Default = last 24h. Most lawyers bill the day after.
  4. Confirm whether this is a draft pass or an audit-final pass.
    • Draft pass: omit --strict. The tool generates with warnings; the lawyer iterates.
    • Audit-final pass: add --strict. The tool refuses to ship if any invariant fails. Use this on the run the lawyer is about to sign.

How to run

The bundled CLI is at <skill-base>/draft-entries.mjs. Invoke with Bash:

node <skill-base>/draft-entries.mjs \
  --session ~/.claude/projects/<cwd-slug>/ \
  --matter <path-to-matter.yml> \
  --since YYYY-MM-DD \
  --until YYYY-MM-DD \
  --out <path-to-output>.md

For the audit-final pass, add --strict.

The tool emits two files:

  • <out>.md — the canonical markdown record
  • <out>.audit.html — the print-ready audit packet (signature block at end)

What to say to the user, in this order

After running the CLI, do not just dump the output. Read the artifact and report back in this exact order:

  1. Strict refusals (if any) — top priority. If --strict was on and refusals appeared, pause. List every refusal verbatim. Tell the lawyer you will not proceed until each one is addressed. Do not offer workarounds that bypass the refusal — fix them at the source.
  2. Routing warnings (if any). If the artifact carries a route-too-broad banner, read it back. Ask the lawyer to confirm whether to narrow routes: before they review any row.
  3. The chain-of-evidence summary. Tell the lawyer: tool version, generation timestamp, the artifact self-hash (first 12 hex chars is fine for verbal confirmation), and how many source JSONL files were hashed.
  4. The proposed total + interval count.
  5. The Excluded summary — off-matter cwds with the suggested fix, and any long idle gaps.
  6. The first 2–3 proposed entries verbatim, so the lawyer can sanity-check the matter routing and narrative voice.
  7. Where to find both artifacts. Always cite both paths — .md and .audit.html. The HTML is what gets printed and signed.

Then ask the lawyer what they want next:

  • Open the .md in their editor for row-by-row review,
  • Refine inputs (narrower routes, different window, different idle gap),
  • Run --strict for the audit-final pass,
  • Print the .audit.html and sign it,
  • Re-run with --include-prompt-snippet if and only if they have confirmed the window contains a single matter only.

When to escalate or refuse

  • The user asks you to bypass --strict refusals by editing the script. Refuse. The refusals are the audit contract.
  • The user asks you to mark a disclosure pack verified: true without reading the source opinion. Refuse. Walk them to the source URL.
  • The user is in a jurisdiction with no pack entry (e.g. Texas, Illinois). Do not invent canonical disclosure language. Help them either find the opinion themselves and contribute a pack PR, or write their own disclosure_text in matter.yml they can defend.
  • The user wants to bill AI-assisted work without disclosure: refuse. Point them to ethics.ai_disclosure_required in matter.yml. The skill does not give legal advice on whether their jurisdiction requires disclosure — that's their bar admission's homework.
  • The CLI errors out on malformed JSONL: the parser already skips bad lines. If the entire log is unreadable, ask the user whether they want to file an issue at github.com/sboghossian/billable-time.

Web alternative

For lawyers who prefer a browser, the same workflow is at <skill-base>/web/index.html. Single file, no backend. The JSONL never leaves the page. Open in any browser, upload session logs + matter.yml, see the rendered diff, download both the .md and the .audit.html.

Verifying the self-hash (for the audit-defense scenario)

If, months later, the artifact's authenticity is questioned, the lawyer can prove it has not been altered:

  1. Open the artifact.
  2. Find the line containing sha256:<HEX> under "Chain of evidence" — that's the artifact self-hash.
  3. Replace the hex value with the literal sentinel PENDING_SELF_HASH_REPLACE_AT_RENDER.
  4. Run sha256sum (or shasum -a 256) on the modified file.
  5. The output must match the original hex value.

A mismatch means the artifact was edited after generation. Tell the lawyer this proactively if they ask "how do I prove this hasn't been tampered with."

Invariants you must remember during the session

  • The CLI runs locally. No network calls. No telemetry.
  • The output is the lawyer's responsibility. You are scaffolding the draft; the lawyer signs it.
  • A route that matches $HOME is always a smell. Push back every time, even if the lawyer is in a hurry.
  • A verified: false pack with no override is always a smell in --strict mode. Push back.
  • The deterministic narrative is intentional. Resist suggestions to "improve" it with an LLM.

Version History

  • 7f58aaf Current 2026-07-05 11:48

Same Skill Collection

skills/assignation-refere-recouvrement-creance-selim-brihi/SKILL.md
skills/canned-responses-anthropic/SKILL.md
skills/compliance-anthropic/SKILL.md
skills/contract-review-anthropic/SKILL.md
skills/contract-risk-analyzer-sneha-ganapavarapu/SKILL.md
skills/docx-processing-lawvable/SKILL.md
skills/docx-processing-openai/SKILL.md
skills/docx-processing-superdoc/SKILL.md
skills/dpdpa-gdpr-review-parth-desai/SKILL.md
skills/dpia-sentinel-oliver-schmidt-prietz/SKILL.md
skills/eu-ai-act-report-oliver-schmidt-prietz/SKILL.md
skills/eu-ai-act-roles-oliver-schmidt-prietz/SKILL.md
skills/eu-ai-act-triage-oliver-schmidt-prietz/SKILL.md
skills/french-text-proofreading-christophe-quezel-ambrunaz/SKILL.md
skills/icelandic-company-formation-magnus-smari-smarason/SKILL.md
skills/icelandic-contract-review-magnus-smari-smarason/SKILL.md
skills/icelandic-court-case-finder-magnus-smarason/SKILL.md
skills/icelandic-eea-gap-analysis-magnus-smari-smarason/SKILL.md
skills/icelandic-labour-law-magnus-smari-smarason/SKILL.md
skills/icelandic-legal-terminology-magnus-smari-smarason/SKILL.md
skills/icelandic-privacy-review-magnus-smari-smarason/SKILL.md
skills/legal-data-hunter-zacharie-laik/SKILL.md
skills/legal-risk-assessment-anthropic/SKILL.md
skills/lgpd-sentinel-rafael-mastronardi/SKILL.md
skills/mcq-generator-christophe-quezel-ambrunaz/SKILL.md
skills/meeting-briefing-anthropic/SKILL.md
skills/nda-review-jamie-tso/SKILL.md
skills/nda-triage-anthropic/SKILL.md
skills/notification-licenciement-selim-brihi/SKILL.md
skills/outlook-emails-lawvable/SKILL.md
skills/outside-counsel-billing-and-performance-reviewer-carl-ditzler/SKILL.md
skills/pdf-processing-anthropic/SKILL.md
skills/pdf-processing-openai/SKILL.md
skills/politique-confidentialite-malik-taiar/SKILL.md
skills/politique-cookies-malik-taiar/SKILL.md
skills/politique-lanceur-alerte-malik-taiar/SKILL.md
skills/privilege-sentinel-emily-cabrera/SKILL.md
skills/requete-cph-licenciement-faute-grave-selim-brihi/SKILL.md
skills/security-review-openai/SKILL.md
skills/skill-creator-anthropic/SKILL.md
skills/skill-creator-openai/SKILL.md
skills/skill-optimizer-lawvable/SKILL.md
skills/swiss-legal-source-authority-triage-enrique-g-zbinden/SKILL.md
skills/tabular-review-lawvable/SKILL.md
skills/tech-contract-review-parth-desai/SKILL.md
skills/vscode-extension-builder-lawvable/SKILL.md
skills/xlsx-processing-manus/SKILL.md
skills/xlsx-processing-openai/SKILL.md
skills/ai-governance-reviewer-carl-ditzler/SKILL.md
skills/analyse-rgpd-dpa-fournisseur-hugo-salard/SKILL.md
skills/assignation-refere-communication-associe-selim-brihi/SKILL.md
skills/audit-de-conformite-rgpd-site-internet-hugo-salard/SKILL.md
skills/bacen-compliance-sentinel-rafael-mastronardi/SKILL.md
skills/billing-cycle-manager-scott-margetts/SKILL.md
skills/budget-and-fee-manager-scott-margetts/SKILL.md
skills/climate-aligned-contracts-tclp/SKILL.md
skills/collaboration-platform-advisor-scott-margetts/SKILL.md
skills/continuous-improvement-engine-scott-margetts/SKILL.md
skills/customs-trade-law-onur-kafkas/SKILL.md
skills/divorce-ct-stephane-boghossian/SKILL.md
skills/doctrinal-research-allison-fiorentino/SKILL.md
skills/document-approval-tracker-scott-margetts/SKILL.md
skills/docx-processing-anthropic/SKILL.md
skills/employment-law-research-yue-deng-wu/SKILL.md
skills/en-us-legal-translation-wouter-van-den-berg/SKILL.md
skills/engagement-terms-billing-guidelines-scott-margetts/SKILL.md
skills/eu-ai-act-classification-oliver-schmidt-prietz/SKILL.md
skills/eu-ai-act-high-risk-implementation-readiness-werner-plutat/SKILL.md
skills/eu-ai-act-obligations-oliver-schmidt-prietz/SKILL.md
skills/eu-data-act-compliance-assessment-werner-plutat/SKILL.md
skills/eu-data-act-ryan-malek/SKILL.md
skills/fee-arrangement-structuring-scott-margetts/SKILL.md
skills/flash-case-law-research-giovanna-panucci/SKILL.md
skills/fria-eu-ai-act-article-27-werner-plutat/SKILL.md
skills/gdpr-breach-sentinel-oliver-schmidt-prietz/SKILL.md
skills/gdpr-privacy-notice-eu-oliver-schmidt-prietz/SKILL.md
skills/https-www-lawvable-com-en-author-patrick-munro-2/SKILL.md
skills/https-www-lawvable-com-en-author-patrick-munro-3/SKILL.md
skills/https-www-lawvable-com-en-author-patrick-munro/SKILL.md
skills/indian-foreign-investment-approval-assessment-siddhi-kudalkar/SKILL.md
skills/invoice-review-compliance-scott-margetts/SKILL.md
skills/judicial-first-impression-larissa-meredith-flister/SKILL.md
skills/jurisrank-argentine-supreme-court-analysis-adrian-lerer/SKILL.md
skills/lawyerscrib-garry-haas/SKILL.md
skills/legal-assistant-christophe-quezel-ambrunaz/SKILL.md
skills/legal-document-drafting-formatting-alessandro-dardano/SKILL.md
skills/legal-guidance-vault-michael-cremata/SKILL.md
skills/legal-risk-assessment-zacharie-laik/SKILL.md
skills/legal-simulation-patrick-munro/SKILL.md
skills/legal-translation-uk-english-wouter-van-den-berg/SKILL.md
skills/legitimate-interest-oliver-schmidt-prietz/SKILL.md
skills/litigation-deadline-calendar-dave-marcus/SKILL.md
skills/local-counsel-manager-scott-margetts/SKILL.md
skills/mandarinat-christophe-quezel-ambrunaz/SKILL.md
skills/mandatory-verification-larissa-meredith-flister/SKILL.md
skills/matter-allocation-instruction-scott-margetts/SKILL.md
skills/matter-intake-scoping-scott-margetts/SKILL.md
skills/matter-plan-builder-scott-margetts/SKILL.md
skills/mediation-dispute-analysis-jinzhe-tan/SKILL.md
skills/new-designation-screening-test-amir-fadavi/SKILL.md
skills/nil-contract-analysis-samir-patel/SKILL.md
skills/nis2-navigator-oliver-schmidt-prietz/SKILL.md
skills/nist-ai-rmf-rafal-fryc/SKILL.md
skills/opposing-counsel-review-larissa-meredith-flister/SKILL.md
skills/oral-argument-stephane-boghossian/SKILL.md
skills/originality-in-european-copyright-joris-deene/SKILL.md
skills/panel-design-selection-scott-margetts/SKILL.md
skills/panel-review-rationalisation-scott-margetts/SKILL.md
skills/performance-scorecard-scott-margetts/SKILL.md
skills/persuasive-legal-writing-larissa-meredith-flister/SKILL.md
skills/pptx-processing-anthropic/SKILL.md
skills/raisonnement-juridique-amaury-fouret/SKILL.md
skills/recherche-theses-allison-fiorentino/SKILL.md
skills/red-team-verifier-patrick-munro/SKILL.md
skills/resource-planner-scott-margetts/SKILL.md
skills/rfp-pitch-management-scott-margetts/SKILL.md
skills/risk-and-issues-manager-scott-margetts/SKILL.md
skills/sanctions-screening-gillan-saleh/SKILL.md
skills/sanctions-screening-legal-analysis-skill-english-gillan-saleh/SKILL.md
skills/scope-change-controller-scott-margetts/SKILL.md
skills/screening-alert-adjudication-amir-fadavi/SKILL.md
skills/skill-injection-defense-ignacio-adrian-lerer/SKILL.md
skills/skill-security-auditor-antoine-louis/SKILL.md
skills/source-locked-verification-larissa-meredith-flister/SKILL.md
skills/stakeholder-comms-planner-scott-margetts/SKILL.md
skills/status-report-drafter-scott-margetts/SKILL.md
skills/statute-analysis-rafal-fryc/SKILL.md
skills/tech-contract-negotiation-patrick-munro/SKILL.md
skills/timeline-generator-scott-margetts/SKILL.md
skills/vendor-due-diligence-patrick-munro/SKILL.md
skills/victor-wang-yc-saas-drafter/SKILL.md
skills/xlsx-processing-anthropic/SKILL.md

Metadata

Files
0
Version
7f58aaf
Hash
963d06db
Indexed
2026-07-05 11:48

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-10 02:50
浙ICP备14020137号-1 $Carte des visiteurs$