Legal Analysis Forge
A prompt generator for structured legal analysis of EU digital regulation documents. The skill characterises a document, elicits the desired outcome and audience, and produces a tailored expert prompt. It optionally runs the prompt in-session and supports refinement.
When to invoke
Invoke when the user:
- Provides a legal document (PDF, URL, pasted text) from the EU digital regulation stack and asks for analysis, feedback, a memo, a consultation response, a post, a briefing, or similar
- References a recent EU instrument, judgment, or guidance document and signals they want structured analysis rather than a quick answer
- Asks for an "effective prompt" for legal analysis of a specific document
- Is preparing a stakeholder consultation response, a board paper, a client memo, or a horizon-scan entry on a regulatory development
Do not invoke when:
- The user wants a quick factual answer about a regulation. Answer directly.
- The work is operational compliance (running an LIA, drafting a DPA, mapping AI Act obligations, building a RoPA). Route to the relevant compliance skill instead.
- The document is outside the EU digital regulation scope. Decline and explain scope.
Scope
EU digital regulation only. Covers: GDPR, AI Act, Data Act, DGA, DSA, DMA, NIS2 (and Member State implementations including BSIG-neu), ePrivacy, CRA, DORA, eIDAS 2.0, PLD (Dir. 2024/2853), AI Liability Directive (when adopted), and adjacent secondary instruments (delegated acts, implementing acts, harmonised standards under Art. 40 AI Act and equivalents, codes of conduct under Art. 40 GDPR / Art. 56 AI Act / Art. 45 DSA). Out of scope: competition, IP, tax, employment, sectoral law not touching the digital stack.
Workflow
Six steps. Steps 5 (Execute) and 6 (Refine) are optional and skipped where not needed. Skip elicitation where the answer is clear from the conversation; the goal is the minimum number of questions consistent with a precise prompt.
Step 1 — Ingest
Read the document. Sources:
- Uploaded PDF: use the
pdf-processing-anthropic skill if the file is not already in context
- Pasted text: read in chat
- URL: fetch via
WebFetch; if the URL is an EUR-Lex page, prefer the CELEX-linked HTML
- Reference by name: confirm the precise document with the user (title, date, CELEX or ECLI) before proceeding
If the document is long, read at minimum: title, recitals, all substantive articles, annexes referenced in the substantive provisions, final provisions (entry into force, transitional, review), and any disclaimers limiting scope.
Freshness check (automatic for drafts and consultation documents): where the document is a draft, a public consultation version, a Commission proposal, or any text labelled as preliminary, run a freshness check against authoritative sources (see Live research protocol below) before proceeding. The user may have provided a superseded version. If a finalised or later version exists, surface it and ask: "Proceed with the version you provided, the later version, or both?" Do not silently substitute documents.
Step 2 — Characterise
Produce a structured one-screen characterisation. Load references/document_taxonomy.md for the catalog and characterisation signals. Required fields:
- Instrument type (Regulation, Directive, Commission Guidelines, EDPB Guidelines, CJEU judgment, AG Opinion, etc.)
- Binding force (binding / non-binding / quasi-binding via enforcement reliance)
- Issuer and legal basis (e.g. Commission under Art. 6(5) AI Act, EDPB under Art. 70 GDPR, Council and Parliament under Art. 16 TFEU)
- Status (in force / draft / under consultation / under appeal / pending entry into application / repealed)
- Subject matter and primary affected provisions (which Articles and Recitals of which instruments)
- Sectoral interfaces (where this touches adjacent EU digital instruments and sectoral law)
- Contestable interpretive moves (3–5 spotted on first read, with paragraph references)
- Temporal application (entry into force, date of application, transitional rules, sunset)
- Plain-language summary (2–3 sentences, no legal jargon beyond what is unavoidable, what this document is and why a regulated entity should care)
Present the characterisation to the user and ask: "Is this characterisation correct? Anything missing or misclassified?" Adjust before proceeding.
Step 3 — Elicit
Ask at most three questions. Skip any answered in prior context. The single mandatory question is outcome type.
- Outcome type. What is the deliverable? Options in
references/outcome_templates.md: stakeholder consultation response, internal compliance memo, external client memo, public commentary (LinkedIn / blog / newsletter), conference talk preparation, internal risk assessment, litigation brief input, comparative analysis, horizon-scan entry, skill input.
- Audience. Regulator, client, internal management, legal peers, public, or mixed.
- Stance. Neutral analysis, defending position X, challenging position X, or open horizon-scan.
Optional follow-ups, asked only when unclear:
- Output language: EN / DE / both
- Length target
- Specific issues to scrutinise beyond those flagged in Step 2
- Comparative dimension on or off (compare with prior law or sister instrument)
- Register override (default is the dry practitioner register defined in
references/analytical_canon.md)
Step 4 — Generate prompt
Load references/outcome_templates.md and references/analytical_canon.md. Assemble the prompt with the following blocks in order:
- Role. Expertise markers tailored to outcome type (from
outcome_templates.md)
- Context. Document title, type, issuer, legal basis, status, date, link or attachment reference
- Task. Specific outcome with audience and length target
- Analytical framework. General legal interpretation rules from
analytical_canon.md plus document-specific scrutiny points from Step 2
- Specific provisions warranting scrutiny. The interpretive moves spotted in Step 2, with paragraph references and the question to address for each
- Citation conventions. From
analytical_canon.md
- Register constraints. From
analytical_canon.md
- Output structure. Tailored to outcome type (from
outcome_templates.md)
- Self-check protocol. From
analytical_canon.md
Save the prompt to ./[doc_slug]_prompt_[outcome_slug].md in the user's current working directory (or to a target directory the user has specified). Present the file. Also output the prompt inline in chat so the user can copy it directly.
doc_slug is a stable, descriptive slug derived from the document title (e.g. ai_act_art6_high_risk_guidelines_draft_2026). outcome_slug is short (e.g. consultation, memo, linkedin_de, briefing).
Step 5 — Execute (optional)
If the user signals they want the analysis run in-session, use the generated prompt to produce the analysis directly. Save to ./[doc_slug]_analysis_[outcome_slug].md in the user's current working directory and present.
Alongside the formal analysis, always produce a plain-English explainer for the user of the skill:
- 150–300 words. This is a hard upper bound, not a soft target. If you find yourself exceeding 300 words, cut — do not negotiate with yourself that "this analysis was complex enough to justify more". A 300-word ceiling forces the explainer to do the one job it is for: tell the practitioner, in one screenful of plain language, what the document is and what the analysis found. Anything longer is the formal analysis duplicating itself. Count words before saving; if over 300, revise down.
- Plain language; no legal jargon beyond what is unavoidable
- Explains what the document is, what the analysis found, what remains uncertain
- Saved as
./[doc_slug]_plain_english_[outcome_slug].md in the user's current working directory
- Audience is the practitioner using the skill, not the deliverable's downstream audience
After producing both, offer integration into the formal deliverable in any of the following forms (the user decides):
- Executive summary at the top of the deliverable
- Sidebar or call-out box
- Annex
- Client-facing cover note
- Not integrated (kept separate for the user's own orientation)
If running the analysis, apply the self-check protocol from analytical_canon.md before delivery. Do not skip this step.
Step 6 — Refine
Handle refinement requests without restarting the workflow. Common requests:
- "Rewrite for a different audience" — adjust register and structure, keep substance. Update
outcome_slug accordingly.
- "Rewrite as a different outcome type" — switch the template; re-run Step 4 with new outcome type only.
- "Translate to German" — use the German legal terminology guidance in
analytical_canon.md; preserve all citations in original form.
- "Tighten" — reduce length while keeping all substantive findings; do not drop citations.
- "Expand on point X" — deepen specific analysis; do not pad other sections.
- "Add comparative dimension" — introduce comparison with named prior law or sister instrument.
- "Different stance" — re-run Step 4 with revised stance parameter.
Save refinements with _v2, _v3 suffixes. Keep prior versions; do not overwrite.
Live research protocol
The skill offers live research on authoritative sources whenever the AI's training data is at risk of being stale, incomplete, or unverifiable. The goal is to prevent reliance on potentially outdated training data in legal output.
When live research is offered
- The user provides a draft document that may have been superseded by a final version (automatic in Step 1)
- The analysis turns on a citation the AI cannot verify from the prompt context
- The user signals the analysis must be submission-ready (consultation response, litigation input, board paper, client memo)
- The user requests it explicitly
- The AI is uncertain whether a transposition deadline, application date, or amendment has come into effect
- The AI is uncertain whether a CJEU case it would otherwise cite is the most recent on the point
Live research is opt-in. Where the skill offers it and the user declines, the skill flags the gap explicitly in the output rather than guessing.
Authoritative sources
Primary EU sources (cite directly):
eur-lex.europa.eu — Official Journal, EU instruments, consolidated texts, CELEX records
curia.europa.eu — CJEU and General Court judgments, AG Opinions, Orders
edpb.europa.eu — EDPB guidelines, opinions, binding decisions
ec.europa.eu and its sub-domains — Commission communications, guidelines, draft acts
digital-strategy.ec.europa.eu — AI Office outputs, AI Act resources
enisa.europa.eu — ENISA guidance (NIS2, CRA)
berec.europa.eu — BEREC outputs
consilium.europa.eu and europarl.europa.eu — Council and Parliament documents during legislative procedure
Primary national sources (cite directly):
- National DPA websites (e.g. bfdi.bund.de, datenschutzkonferenz-online.de, cnil.fr, garanteprivacy.it, autoriteitpersoonsgegevens.nl, aepd.es)
- National official gazettes for transposition law (e.g. bundesgesetzblatt.de, legifrance.gouv.fr, gazzettaufficiale.it)
- National courts where ECLI-enabled
- National competent authorities designated under NIS2, CRA, AI Act, DSA, DMA
Permitted for context only (do not cite in place of primary):
- Commercial trackers (artificialintelligenceact.eu, gdprhub.eu)
- Law firm client alerts
- Peer-reviewed academic journals
- IAPP and similar professional bodies
Excluded:
- Wikipedia
- LinkedIn and other social media
- News articles (except solely to confirm a publication date)
- Aggregator blogs and unsourced commentary
Procedure
- Identify the specific question requiring research
- Search the authoritative source most likely to have the answer
- Fetch the relevant page or document
- Cite the source with date of access and direct URL where the page is non-paginated; with paragraph, article, or section reference where the source provides one
- In the output, mark live-verified citations as such, e.g. "[live-verified, accessed YYYY-MM-DD]"
Freshness check (automatic for drafts)
For draft consultation documents, Commission proposals, and any text labelled as preliminary, the freshness check in Step 1 runs without user prompting:
- Identify the document title and date
- Search the issuer's authoritative source for a finalised or later version
- If a later version exists, present both versions to the user and ask which to use
- Proceed only after the user has chosen
Failure mode
If live research returns inconclusive results (no clear authoritative answer, conflicting sources, source unreachable), report the inconclusiveness and fall back to flagging the gap. Never extrapolate from inconclusive research to a definitive citation.
Integration with other skills
If the characterisation surfaces a downstream operational task, suggest the relevant existing skill rather than absorbing the task into this one:
- GDPR Art. 6(1)(f) balancing → suggest the LIA skill
- International transfer assessment → suggest the TIA skill
- Art. 28 processing arrangement drafting or review → suggest the DPA skill
- RoPA update → suggest the ROPA skill
- AI Act classification or obligations mapping → suggest the AI Act skill suite
- NIS2 scope or gap analysis → suggest the NIS2 Navigator skill
- Breach scenario → suggest the Breach Sentinel skill
- Data Act compliance → suggest the Data Act skill
The suggestion is offered after the analysis is delivered, not before — the analysis comes first.
File output conventions
All outputs are written to the user's current working directory unless the user specifies a target directory. Naming:
[doc_slug]_prompt_[outcome_slug].md — generated prompt
[doc_slug]_analysis_[outcome_slug].md — executed analysis
[doc_slug]_characterisation.md — optional, the Step 2 output saved as a standalone artifact when the user wants it
Use _v2, _v3 for refinements. Stable slugs across versions allow tracking a single document through multiple analyses.
Default behaviours
- Register: dry practitioner — Oliver's house style codified in
references/analytical_canon.md; overridable on request.
- Language: match the document language for the prompt; output language per user choice in Step 3.
- Live research: offered whenever needed; opt-in by the user; authoritative sources only. Automatic freshness check for drafts and consultation documents in Step 1.
- Plain-English explainer: produced alongside every executed analysis; integration into the deliverable is the user's choice.
- Length targets: the numbers in
references/outcome_templates.md are defaults, not constraints. Adjust to the length of the source document and the depth of the task.
- Citation depth, quotation, uncertainty, hallucination control: see
references/analytical_canon.md. The skill enforces those rules in every executed analysis.
Reference files
references/document_taxonomy.md — instrument types, binding force, characterisation signals, what to look for per type
references/outcome_templates.md — prompt skeletons per outcome type with roles, structures, and registers
references/analytical_canon.md — general legal interpretation rules, register constraints, citation conventions, self-check protocol, bilingual handling
More EU regulation skills
This skill works standalone. Explore my other EU digital-regulation skills via the interactive skill page linked in the README, or at OneZero Legal (https://onezero.legal).
1---2name: legal-analysis-forge-oliver-schmidt-prietz3description: EU Digital Regulation Legal Analysis Forge — generates a tailored expert prompt for structured legal analysis of an EU digital-regulation document, optionally executes it in-session, and always produces a plain-English explainer alongside the formal output. Handles Regulations, Directives, Commission Guidelines, EDPB Opinions, CJEU and AG judgments, national DPA decisions, codes of conduct, and draft consultations across the EU digital stack.4---5
6# Legal Analysis Forge
7
8A prompt generator for structured legal analysis of EU digital regulation documents. The skill characterises a document, elicits the desired outcome and audience, and produces a tailored expert prompt. It optionally runs the prompt in-session and supports refinement.
9
10## When to invoke
11
12Invoke when the user:
13
14- Provides a legal document (PDF, URL, pasted text) from the EU digital regulation stack and asks for analysis, feedback, a memo, a consultation response, a post, a briefing, or similar
15- References a recent EU instrument, judgment, or guidance document and signals they want structured analysis rather than a quick answer
16- Asks for an "effective prompt" for legal analysis of a specific document
17- Is preparing a stakeholder consultation response, a board paper, a client memo, or a horizon-scan entry on a regulatory development
18
19Do not invoke when:
20
21- The user wants a quick factual answer about a regulation. Answer directly.
22- The work is operational compliance (running an LIA, drafting a DPA, mapping AI Act obligations, building a RoPA). Route to the relevant compliance skill instead.
23- The document is outside the EU digital regulation scope. Decline and explain scope.
24
25## Scope
26
27EU digital regulation only. Covers: GDPR, AI Act, Data Act, DGA, DSA, DMA, NIS2 (and Member State implementations including BSIG-neu), ePrivacy, CRA, DORA, eIDAS 2.0, PLD (Dir. 2024/2853), AI Liability Directive (when adopted), and adjacent secondary instruments (delegated acts, implementing acts, harmonised standards under Art. 40 AI Act and equivalents, codes of conduct under Art. 40 GDPR / Art. 56 AI Act / Art. 45 DSA). Out of scope: competition, IP, tax, employment, sectoral law not touching the digital stack.
28
29## Workflow
30
31Six steps. Steps 5 (Execute) and 6 (Refine) are optional and skipped where not needed. Skip elicitation where the answer is clear from the conversation; the goal is the minimum number of questions consistent with a precise prompt.
32
33### Step 1 — Ingest
34
35Read the document. Sources:
36
37- **Uploaded PDF**: use the `pdf-processing-anthropic` skill if the file is not already in context
38- **Pasted text**: read in chat
39- **URL**: fetch via `WebFetch`; if the URL is an EUR-Lex page, prefer the CELEX-linked HTML
40- **Reference by name**: confirm the precise document with the user (title, date, CELEX or ECLI) before proceeding
41
42If the document is long, read at minimum: title, recitals, all substantive articles, annexes referenced in the substantive provisions, final provisions (entry into force, transitional, review), and any disclaimers limiting scope.
43
44**Freshness check (automatic for drafts and consultation documents)**: where the document is a draft, a public consultation version, a Commission proposal, or any text labelled as preliminary, run a freshness check against authoritative sources (see Live research protocol below) before proceeding. The user may have provided a superseded version. If a finalised or later version exists, surface it and ask: *"Proceed with the version you provided, the later version, or both?"* Do not silently substitute documents.
45
46### Step 2 — Characterise
47
48Produce a structured one-screen characterisation. Load `references/document_taxonomy.md` for the catalog and characterisation signals. Required fields:
49
50- **Instrument type** (Regulation, Directive, Commission Guidelines, EDPB Guidelines, CJEU judgment, AG Opinion, etc.)
51- **Binding force** (binding / non-binding / quasi-binding via enforcement reliance)
52- **Issuer and legal basis** (e.g. Commission under Art. 6(5) AI Act, EDPB under Art. 70 GDPR, Council and Parliament under Art. 16 TFEU)
53- **Status** (in force / draft / under consultation / under appeal / pending entry into application / repealed)
54- **Subject matter** and primary affected provisions (which Articles and Recitals of which instruments)
55- **Sectoral interfaces** (where this touches adjacent EU digital instruments and sectoral law)
56- **Contestable interpretive moves** (3–5 spotted on first read, with paragraph references)
57- **Temporal application** (entry into force, date of application, transitional rules, sunset)
58- **Plain-language summary** (2–3 sentences, no legal jargon beyond what is unavoidable, what this document is and why a regulated entity should care)
59
60Present the characterisation to the user and ask: *"Is this characterisation correct? Anything missing or misclassified?"* Adjust before proceeding.
61
62### Step 3 — Elicit
63
64Ask at most three questions. Skip any answered in prior context. The single mandatory question is outcome type.
65
661. **Outcome type.** What is the deliverable? Options in `references/outcome_templates.md`: stakeholder consultation response, internal compliance memo, external client memo, public commentary (LinkedIn / blog / newsletter), conference talk preparation, internal risk assessment, litigation brief input, comparative analysis, horizon-scan entry, skill input.
672. **Audience.** Regulator, client, internal management, legal peers, public, or mixed.
683. **Stance.** Neutral analysis, defending position X, challenging position X, or open horizon-scan.
69
70Optional follow-ups, asked only when unclear:
71
72- Output language: EN / DE / both
73- Length target
74- Specific issues to scrutinise beyond those flagged in Step 2
75- Comparative dimension on or off (compare with prior law or sister instrument)
76- Register override (default is the dry practitioner register defined in `references/analytical_canon.md`)
77
78### Step 4 — Generate prompt
79
80Load `references/outcome_templates.md` and `references/analytical_canon.md`. Assemble the prompt with the following blocks in order:
81
821. **Role.** Expertise markers tailored to outcome type (from `outcome_templates.md`)
832. **Context.** Document title, type, issuer, legal basis, status, date, link or attachment reference
843. **Task.** Specific outcome with audience and length target
854. **Analytical framework.** General legal interpretation rules from `analytical_canon.md` plus document-specific scrutiny points from Step 2
865. **Specific provisions warranting scrutiny.** The interpretive moves spotted in Step 2, with paragraph references and the question to address for each
876. **Citation conventions.** From `analytical_canon.md`
887. **Register constraints.** From `analytical_canon.md`
898. **Output structure.** Tailored to outcome type (from `outcome_templates.md`)
909. **Self-check protocol.** From `analytical_canon.md`
91
92Save the prompt to `./[doc_slug]_prompt_[outcome_slug].md` in the user's current working directory (or to a target directory the user has specified). Present the file. Also output the prompt inline in chat so the user can copy it directly.
93
94`doc_slug` is a stable, descriptive slug derived from the document title (e.g. `ai_act_art6_high_risk_guidelines_draft_2026`). `outcome_slug` is short (e.g. `consultation`, `memo`, `linkedin_de`, `briefing`).
95
96### Step 5 — Execute (optional)
97
98If the user signals they want the analysis run in-session, use the generated prompt to produce the analysis directly. Save to `./[doc_slug]_analysis_[outcome_slug].md` in the user's current working directory and present.
99
100Alongside the formal analysis, always produce a **plain-English explainer** for the user of the skill:
101
102- **150–300 words. This is a hard upper bound, not a soft target.** If you find yourself exceeding 300 words, cut — do not negotiate with yourself that "this analysis was complex enough to justify more". A 300-word ceiling forces the explainer to do the one job it is for: tell the practitioner, in one screenful of plain language, what the document is and what the analysis found. Anything longer is the formal analysis duplicating itself. Count words before saving; if over 300, revise down.
103- Plain language; no legal jargon beyond what is unavoidable
104- Explains what the document is, what the analysis found, what remains uncertain
105- Saved as `./[doc_slug]_plain_english_[outcome_slug].md` in the user's current working directory
106- Audience is the practitioner using the skill, not the deliverable's downstream audience
107
108After producing both, offer integration into the formal deliverable in any of the following forms (the user decides):
109
110- Executive summary at the top of the deliverable
111- Sidebar or call-out box
112- Annex
113- Client-facing cover note
114- Not integrated (kept separate for the user's own orientation)
115
116If running the analysis, apply the self-check protocol from `analytical_canon.md` before delivery. Do not skip this step.
117
118### Step 6 — Refine
119
120Handle refinement requests without restarting the workflow. Common requests:
121
122- **"Rewrite for a different audience"** — adjust register and structure, keep substance. Update `outcome_slug` accordingly.
123- **"Rewrite as a different outcome type"** — switch the template; re-run Step 4 with new outcome type only.
124- **"Translate to German"** — use the German legal terminology guidance in `analytical_canon.md`; preserve all citations in original form.
125- **"Tighten"** — reduce length while keeping all substantive findings; do not drop citations.
126- **"Expand on point X"** — deepen specific analysis; do not pad other sections.
127- **"Add comparative dimension"** — introduce comparison with named prior law or sister instrument.
128- **"Different stance"** — re-run Step 4 with revised stance parameter.
129
130Save refinements with `_v2`, `_v3` suffixes. Keep prior versions; do not overwrite.
131
132## Live research protocol
133
134The skill offers live research on authoritative sources whenever the AI's training data is at risk of being stale, incomplete, or unverifiable. The goal is to prevent reliance on potentially outdated training data in legal output.
135
136### When live research is offered
137
138- The user provides a draft document that may have been superseded by a final version (automatic in Step 1)
139- The analysis turns on a citation the AI cannot verify from the prompt context
140- The user signals the analysis must be submission-ready (consultation response, litigation input, board paper, client memo)
141- The user requests it explicitly
142- The AI is uncertain whether a transposition deadline, application date, or amendment has come into effect
143- The AI is uncertain whether a CJEU case it would otherwise cite is the most recent on the point
144
145Live research is opt-in. Where the skill offers it and the user declines, the skill flags the gap explicitly in the output rather than guessing.
146
147### Authoritative sources
148
149**Primary EU sources (cite directly)**:
150
151- `eur-lex.europa.eu` — Official Journal, EU instruments, consolidated texts, CELEX records
152- `curia.europa.eu` — CJEU and General Court judgments, AG Opinions, Orders
153- `edpb.europa.eu` — EDPB guidelines, opinions, binding decisions
154- `ec.europa.eu` and its sub-domains — Commission communications, guidelines, draft acts
155- `digital-strategy.ec.europa.eu` — AI Office outputs, AI Act resources
156- `enisa.europa.eu` — ENISA guidance (NIS2, CRA)
157- `berec.europa.eu` — BEREC outputs
158- `consilium.europa.eu` and `europarl.europa.eu` — Council and Parliament documents during legislative procedure
159
160**Primary national sources (cite directly)**:
161
162- National DPA websites (e.g. bfdi.bund.de, datenschutzkonferenz-online.de, cnil.fr, garanteprivacy.it, autoriteitpersoonsgegevens.nl, aepd.es)
163- National official gazettes for transposition law (e.g. bundesgesetzblatt.de, legifrance.gouv.fr, gazzettaufficiale.it)
164- National courts where ECLI-enabled
165- National competent authorities designated under NIS2, CRA, AI Act, DSA, DMA
166
167**Permitted for context only (do not cite in place of primary)**:
168
169- Commercial trackers (artificialintelligenceact.eu, gdprhub.eu)
170- Law firm client alerts
171- Peer-reviewed academic journals
172- IAPP and similar professional bodies
173
174**Excluded**:
175
176- Wikipedia
177- LinkedIn and other social media
178- News articles (except solely to confirm a publication date)
179- Aggregator blogs and unsourced commentary
180
181### Procedure
182
1831. Identify the specific question requiring research
1842. Search the authoritative source most likely to have the answer
1853. Fetch the relevant page or document
1864. Cite the source with date of access and direct URL where the page is non-paginated; with paragraph, article, or section reference where the source provides one
1875. In the output, mark live-verified citations as such, e.g. *"[live-verified, accessed YYYY-MM-DD]"*
188
189### Freshness check (automatic for drafts)
190
191For draft consultation documents, Commission proposals, and any text labelled as preliminary, the freshness check in Step 1 runs without user prompting:
192
1931. Identify the document title and date
1942. Search the issuer's authoritative source for a finalised or later version
1953. If a later version exists, present both versions to the user and ask which to use
1964. Proceed only after the user has chosen
197
198### Failure mode
199
200If live research returns inconclusive results (no clear authoritative answer, conflicting sources, source unreachable), report the inconclusiveness and fall back to flagging the gap. Never extrapolate from inconclusive research to a definitive citation.
201
202## Integration with other skills
203
204If the characterisation surfaces a downstream operational task, suggest the relevant existing skill rather than absorbing the task into this one:
205
206- GDPR Art. 6(1)(f) balancing → suggest the LIA skill
207- International transfer assessment → suggest the TIA skill
208- Art. 28 processing arrangement drafting or review → suggest the DPA skill
209- RoPA update → suggest the ROPA skill
210- AI Act classification or obligations mapping → suggest the AI Act skill suite
211- NIS2 scope or gap analysis → suggest the NIS2 Navigator skill
212- Breach scenario → suggest the Breach Sentinel skill
213- Data Act compliance → suggest the Data Act skill
214
215The suggestion is offered after the analysis is delivered, not before — the analysis comes first.
216
217## File output conventions
218
219All outputs are written to the user's current working directory unless the user specifies a target directory. Naming:
220
221- `[doc_slug]_prompt_[outcome_slug].md` — generated prompt
222- `[doc_slug]_analysis_[outcome_slug].md` — executed analysis
223- `[doc_slug]_characterisation.md` — optional, the Step 2 output saved as a standalone artifact when the user wants it
224
225Use `_v2`, `_v3` for refinements. Stable slugs across versions allow tracking a single document through multiple analyses.
226
227## Default behaviours
228
229- **Register**: dry practitioner — Oliver's house style codified in `references/analytical_canon.md`; overridable on request.
230- **Language**: match the document language for the prompt; output language per user choice in Step 3.
231- **Live research**: offered whenever needed; opt-in by the user; authoritative sources only. Automatic freshness check for drafts and consultation documents in Step 1.
232- **Plain-English explainer**: produced alongside every executed analysis; integration into the deliverable is the user's choice.
233- **Length targets**: the numbers in `references/outcome_templates.md` are defaults, not constraints. Adjust to the length of the source document and the depth of the task.
234- **Citation depth, quotation, uncertainty, hallucination control**: see `references/analytical_canon.md`. The skill enforces those rules in every executed analysis.
235
236## Reference files
237
238- `references/document_taxonomy.md` — instrument types, binding force, characterisation signals, what to look for per type
239- `references/outcome_templates.md` — prompt skeletons per outcome type with roles, structures, and registers
240- `references/analytical_canon.md` — general legal interpretation rules, register constraints, citation conventions, self-check protocol, bilingual handling
241
242## More EU regulation skills
243
244This skill works standalone. Explore my other EU digital-regulation skills via the interactive skill page linked in the README, or at OneZero Legal (https://onezero.legal).