Domain-agnostic legislation verification and citation. Use when work involves statutes, regulations, case law, or official guidance in ANY legal domain. Triggers on: legislation, statute, regulation, SI, act, law, legal, compliance, tribunal, court, guidance.
From 45blacknpx claudepluginhub 45black/uk-legal-pluginsThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Domain-agnostic agent for verifying and citing legislation across any UK legal domain. Implements Glass Box AI principles with full audit trails.
Dependency: This skill requires
output-verificationto be loaded first. Therequires: [output-verification]frontmatter ensures the core verification gate is active before domain-specific legislation checks run. Skills are loaded in dependency order by the skill loader (seeSKILL-FORMAT.mdfor details).
Trigger conditions:
Critical: This skill applies to ALL legal domains, not just pensions.
| Domain | Primary Sources | Official Guidance |
|---|---|---|
| UK Legislation (All) | legislation.gov.uk | N/A |
| Case Law (All) | BAILII, National Archives Find Case Law | N/A |
| Pensions | TPR.gov.uk, lgpsregs.org | TPR Codes of Practice |
| Property/Land | gov.uk/land-registry, HMLR | HMLR Practice Guides |
| Employment | ACAS.org.uk, gov.uk/employment | ACAS Codes of Practice |
| Company | Companies House, gov.uk/companies | Companies House guidance |
| Tax | HMRC.gov.uk, legislation.gov.uk | HMRC Manuals |
| Data Protection | ICO.org.uk | ICO Guidance |
| Source Type | Use For | Never Use For |
|---|---|---|
| GitHub legal-tech repos | Architecture patterns, code structure | Legal data, citations |
| Wikipedia | Background context | Citations, compliance advice |
| Law firm blogs | Understanding issues | Authoritative statements |
| News articles | Current events | Legal interpretation |
| Third-party summaries | Overview | Compliance decisions |
CRITICAL: Before proceeding, validate input sources.
If input cannot be verified: Proceed with explicit uncertainty flag in output.
If user confirms text is from a recognised legal database:
This skill covers UK law only. Before proceeding:
Determine which legal domain(s) the query touches:
Query: "What are the trustee duties for a DB pension scheme?"
Domain: Pensions
Sub-domain: Trustee obligations, DB schemes
Legal queries may concern historical events where past legislation applies.
Query: "Was the employer contribution correct in the 2019 annual report?"
Relevant timeframe: 2018-2019 (the period being reported)
Note: Must check regulations as they stood in that period
For the identified domain, determine which sources to consult:
| If Domain Is... | Primary Source | Fallback |
|---|---|---|
| Legislation interpretation | legislation.gov.uk | National Archives |
| Regulatory guidance | Domain regulator (TPR, ICO, etc.) | Gov.uk |
| Case law | BAILII | National Archives Find Case Law |
| Procedural rules | Court/tribunal rules | Gov.uk |
⚠️ TOOL AVAILABILITY CHECK (CRITICAL)
Before claiming verification, check if the required API/tool is available:
| Source | Tool Available? | If Unavailable |
|---|---|---|
| legislation.gov.uk | ✅ Available via legislation-intel CLI | N/A |
| Neo4j pensions DBs | ✅ Available via MCP | Use for pensions domain |
| BAILII | FUTURE (not yet integrated) | Provide direct URL, mark UNVERIFIED |
Using the legislation-intel CLI:
# CLI location
~/Projects/45black/claude-agents/tools/legislation_intel.py
# Run with uv (handles dependencies automatically)
uv run legislation_intel.py <command> [options]
If authoritative source API is unavailable:
https://www.legislation.gov.uk/ukpga/1995/26/section/33)For legislation (using legislation-intel CLI):
# 1. Search for legislation by keyword
uv run legislation_intel.py search "Pensions Act trustee duties" --limit 10
# 2. Get specific section text
uv run legislation_intel.py section "ukpga/1995/26/section/33"
uv run legislation_intel.py section "Pensions Act 1995 s33"
# 3. Check if provision is in force
uv run legislation_intel.py status "ukpga/2004/35/section/227"
# 4. Generate proper citation
uv run legislation_intel.py cite "ukpga/1995/26/section/33" --format legal
uv run legislation_intel.py cite "uksi/2005/3378/regulation/4" --format oscola
Verification workflow:
[Short Title] [Year] [Chapter/SI Number]status commandIf CLI unavailable (fallback):
https://www.legislation.gov.uk/[type]/[year]/[number]/section/[section]For regulations (SIs):
The [Name] Regulations [Year] (SI [Year]/[Number])The Occupational Pension Schemes (Investment) Regulations 2005 (SI 2005/3378)For case law:
[Year] [Court] [Number][2023] UKSC 14Every legal reference MUST include:
**Citation Format:**
- Statute: [Name] [Year], s.[section]([subsection]) — ranges acceptable: s.34-36
- SI: [Name] Regulations [Year] (SI [Year]/[Number]), reg.[number]
- Case: [Case Name] [Neutral Citation]
- Guidance: [Issuing Body], [Document Title] ([Date])
**Example:**
> Trustees must exercise their powers in accordance with their fiduciary duties.
> — Pensions Act 1995, s.33; Imperial Group Pension Trust v Imperial Tobacco [1991] 1 WLR 589
Before delivering any legal output, document:
⚠️ PII REDACTION: Legal queries frequently contain personal data (names, NI numbers, dates of birth). ALWAYS redact PII from audit logs before storage.
reasoning_chain:
- query: "[PII-REDACTED summary of legal question]"
- domain: "Legal domain identified"
- sources_consulted: ["List of authoritative sources checked"]
- citations_verified: ["Each citation with verification status"]
- confidence: "HIGH/MEDIUM/LOW with rationale"
- limitations: "What this advice does NOT cover"
Before producing legal output:
## [Topic]
### Applicable Legislation
- **Primary**: [Statute/SI with full citation]
- **Secondary**: [Related provisions]
### Key Provisions
1. **[Section/Regulation]**: [Summary of effect]
> "[Quoted text if short]"
> — [Citation]
### Current Status
- In force: Yes/No/Partially
- Amendments: [List significant amendments]
- Pending changes: [If any]
### Limitations
This summary covers [scope]. It does not address [exclusions].
## Compliance Assessment: [Topic]
### Requirement
[What the legislation requires]
— [Citation]
### Current State
[Assessment of compliance]
### Evidence
- [Document/fact supporting assessment]
### Gaps Identified
1. [Gap]: [Required action]
### Confidence: [HIGH/MEDIUM/LOW]
[Rationale for confidence level]
| Pattern | Why It Fails | Better Approach |
|---|---|---|
| Citing "the Pensions Act" without section | Unverifiable, vague | Always cite specific section |
| Using GitHub repo data as legal source | Not authoritative | Pattern reference only |
| Stating law without citation | Glass Box violation | Always cite source |
| Assuming legislation is current | May be amended/repealed | Verify currency |
| Mixing jurisdictions | Different laws apply | Clarify jurisdiction (UK, E&W, Scotland) |
| Confidence without evidence | Not defensible | State basis for confidence |
neo4j-apex — TPR obligations and regulatory requirementsneo4j-psps — LGPS scheme rulesneo4j-cms-handbook — CMS procedural guidanceneo4j-scheme-docs — Scheme-specific documentationlegislation-intel CLI — Direct statute retrieval from legislation.gov.uk
~/Projects/45black/claude-agents/tools/legislation_intel.pysearch, section, status, cite, types, healthAfter completing legal work:
For extended worked examples with Glass Box audit trails, see Tier 3: verification-reference.md:
For pensions-langgraph-agent and similar agentic implementations, see Tier 3: verification-reference.md for:
LegislationState TypedDict definitionAUTHORITATIVE_SOURCES configurationverify_sources() implementation