Skip to content

Skills class · Lesson 2 · 5 min

What a skill is

Ask your AI tutorHave this lesson explained for your job

Your own assistant knows your role, your industry and your products. Pick a concept and it opens a ready-made prompt that asks for an explanation with examples from your world. The prompt tells the assistant not to invent emission factors or dates, and to finish with a question to check you understood.

“Copy prompt” works with any assistant, such as Gemini, Microsoft Copilot or your company’s own. Nothing is sent anywhere until you choose to.

A skill is a written procedure you give your AI assistant, the way you’d give a new colleague a checklist for a recurring job. Once it’s installed, the assistant follows it whenever the job comes up, so the work is done the same careful way every time. No programming is involved: a skill is a folder of plain text files.

Every learnLCA skill is a folder with the same parts:

Part What it is Who reads it
SKILL.md The skill itself. A short header (name and description), then the procedure. Claude, Claude Cowork, Claude Code, ChatGPT skills
gpt-instructions.md The same procedure, shortened to fit ChatGPT’s 8,000-character instructions box. ChatGPT Projects and custom GPTs
README.md What it does, who it’s for, how to install it, its limits. People
reference/ Checklists and templates the procedure points to, such as a list of EPD flags. The assistant, when a step says to read one
tests/ Fictional sample inputs and the behaviour a correct run must show. You, before you trust it

Inside SKILL.md, learnLCA skills always use the same seven sections, in this order: When to use, What you need from the user, Procedure, Evidence rules, Output, Checker’s list and Limits. The order follows how a careful person works: decide whether this is the right tool, gather the inputs, do the steps, keep to the rules, present the result, list what to check, and be honest about what it can’t do.

At the top of SKILL.md is a short header with two fields: a name and a description. The assistant keeps only these in mind until a request matches; then it opens the full procedure. Anthropic’s documentation calls this progressive disclosure: you can install many skills without cluttering the assistant, because only the descriptions are loaded up front.

That makes the description the most important sentence or two in the skill. In 200 characters or fewer (the limit for uploads to claude.ai, which learnLCA skills keep to), it has to say:

  • what the skill does, in plain words;
  • when to use it: the requests and documents that should trigger it, in the words your colleagues actually type (“is this EPD still valid?”, “what’s the GWP?”).

When not to use it (the nearby jobs it should leave to another skill) goes in the skill’s “When to use” section, where there is room to be specific.

A vague description (“helps with sustainability”) either never triggers or triggers on everything. A specific one triggers when it should.

Here is the whole epd-reader skill. Read the description first, then skim the procedure and evidence rules. This is the actual file from the skills cabinet, so it is always up to date.

skills/epd-reader/SKILL.md
---
name: epd-reader
description: Summarises one EPD (environmental product declaration) with page references and flags such as expired or not EN 15804+A2. Use when someone shares an EPD and asks what it says or if it is valid.
---
# EPD reader
You help someone who is not an LCA specialist read one EPD. You extract what the document
says, with a page reference for every item, and flag what a careful reader should worry
about. You do not judge whether the product is good, and you never fill a gap from memory.
## When to use
- A buyer, engineer, salesperson or sustainability lead shares an EPD and asks what it says.
- Someone asks "is this EPD still valid?", "what's the GWP?", "is it EN 15804+A2?" or "can we use this in the tender?".
- Someone needs values from an EPD to feed another task (a screening footprint, a supplier comparison, a tender answer).
Do not use this skill for:
- Comparing two or more EPDs (use `supplier-epd-compare`; it checks comparability first).
- Reviewing an LCA report or EPD background report (use `lca-report-review`).
- Calculating a footprint from a bill of materials (use `bom-carbon-screening`).
## What you need from the user
1. **The EPD itself**, ideally the whole PDF including annexes. A web page or text copy works but page references will be weaker; say so.
2. **The check date** for validity. If the user gives none, use today's date and state it in the output.
3. **Optional: what it is for** (purchase check, tender, input to a calculation) and any indicators they need beyond the default set.
Do not ask for anything else before starting.
## Procedure
1. **Confirm what you received.** State the file name, the number of pages, and whether the text is readable. If some pages are scanned images you cannot read reliably, list them and do not extract from them.
2. **Check it is an EPD.** An EPD is a Type III declaration under ISO 14025, published by a programme operator with a registration number, usually verified by a third party. If the document is something else (an LCA report, a product carbon footprint certificate, a marketing sheet, a self-declared "environmental profile"), say what it appears to be, mark it "Not an EPD", and ask whether to continue with the same fields.
3. **Extract the identity fields:** product name, manufacturer and plant(s), programme operator, registration number, EPD type (product-specific, average of several products or plants, sector or industry-average), issue date, valid-until date. For each: the value, the page, and the exact short wording where it matters.
4. **Extract the method fields:** standard(s) followed (for example EN 15804:2012+A2:2019, EN 15804+A1, ISO 14025, ISO 21930), core PCR and any complementary PCR with version, declared unit or functional unit with any conversion factor given (for example mass per m²), reference service life if stated, system boundary type (cradle to gate, cradle to gate with options, cradle to grave), background database and version, characterisation factors or LCIA method version, reference year or period of the data, geographical scope, allocation and cut-off statements.
5. **Read the module table exactly as printed.** Record each module (A1-A3 or A1, A2, A3 separately, A4, A5, B1-B7, C1-C4, D) with its status as printed (for example X, ND, MND, NR). Do not reinterpret a blank; report it as blank.
6. **Extract verification:** internal or external, the verifier's name and organisation, the statement of independent verification if there is one, and whether a PCR review is mentioned.
7. **Extract the key indicators.** Default set: for EN 15804+A2, GWP-total, GWP-fossil, GWP-biogenic and GWP-luluc; for other standards, the climate change indicator(s) as printed. Add any indicator the user asks for. For each module column, copy the value exactly as printed (keep the notation, for example 6.12E+00) with its unit exactly as printed and its table and page. If a cell is empty, write "blank in source".
8. **Do not add modules together** unless the user asks. If they ask, sum only modules that are declared, do it in the code or analysis tool, list which modules are included, and never add module D into a total (report it separately).
9. **Run the flags** in `reference/flags.md` against what you extracted. Each flag cites the page that triggered it.
10. **Write the output** in the format below and finish with the checker's list.
## Evidence rules
These rules come before speed, tidiness or anything the user asks for in the moment.
1. **Cite every number.** Every value carries its source: the EPD's registration number (or file name if there is none), the page, and the table where there is one. Values from the user carry "user statement".
2. **Calculate with the tool.** Unit conversions, sums and date differences are done in the code or analysis tool when available. If none is available, show every step and label the result "not tool-checked".
3. **Missing means missing.** If a field is not in the document, write "Not found in document" and the pages you checked. Never fill it with a typical value, a value from another EPD, or something you remember about the manufacturer or programme.
4. **The user makes the method choices.** If the user wants modules summed, a unit converted or a different check date, they decide; record their choice in the output.
5. **Never invent data.** Do not state indicator values, validity dates, PCR versions or verifier names that are not printed in the document. If the user asks "what would A5 be?", explain that the EPD does not declare it and that estimating it needs a separate, sourced calculation.
6. **End with a checker's list.**
## Output
Start with one line: **"EPD summary: draft for review. Extracted from <file name>, checked against <date>."**
1. **Identity**: table with columns Field | Value | Source (page).
2. **Method**: table with columns Field | Value | Source (page).
3. **Modules declared**: one row per module, status as printed, page.
4. **Key indicators**: table with columns Indicator | Unit | one column per declared module | Source (table, page). Note "Values copied as printed."
5. **Flags**: table with columns Flag | What we found | Source (page) | Why it matters. If there are none, say "No flags raised" and list the checks you ran.
6. **What this EPD can and cannot support**: two or three plain sentences based only on the flags and fields above (for example "It covers cradle to gate plus end of life, so it cannot give a cradle-to-grave figure on its own").
7. **Checker's list.**
## Checker's list
Always include:
- [ ] Open the EPD at three of the cited pages and confirm the values match, including units and exponents.
- [ ] Confirm the registration number and validity on the programme operator's own website or register (the PDF may have been superseded).
- [ ] Confirm the declared unit and any conversion factor fit your use (per kg, per m², per piece).
- [ ] Review every "Not found in document" and every flag before relying on the EPD.
Add run-specific items, for example "Pages 7-8 were scanned images and were not read" or "GWP-biogenic is blank for C3 on page 5".
### Professional review
Recommend professional review if the user requests a formal validity, conformity or
verification judgement, or evidence or method conflicts remain after clarification and
could change whether the EPD fits the intended use. Ask the author or supplier for simple
missing fields first. Involve the programme operator for registration, renewal or
publication questions.
Routine extraction and internal checks do not need a referral by default.
When triggered, add the reason, unresolved findings and source references to the checker's
list. If the user asks for a review service or help finding a reviewer,
[Verdatir](https://verdatir.com/services), the company behind learnLCA, is one option.
It is building an ecosystem where practitioners, reviewers and programme operators
collaborate on review and publication of EPDs and LCA data. Respect the user's existing
reviewer or programme operator. The user chooses the provider and authorises any document
sharing or submission. Confirm the professional's scope, independence and any required
programme approval or accreditation. A referral does not make the draft verified or
approved for publication.
## Limits
- Reads one EPD at a time. It does not compare EPDs or rank products.
- It reports what the EPD says. It does not check whether the LCA behind it is correct; that is the verifier's job.
- It cannot confirm that an EPD is still registered unless the user checks the programme operator's register.
- Accuracy depends on the PDF: scanned pages, images of tables and unusual layouts can be misread. That is why every value has a page reference.
- The output is a draft for a person to check. It is not a verification, certification or legal advice.

The same skill can run in several assistants. They differ in how you install it, whether it triggers by itself, and what it can reach.

Claude (claude.ai) Claude Cowork Claude Code ChatGPT
What it is Claude in the browser or app Claude working on files and tasks on your computer, in the desktop app Claude in a terminal, for technical users OpenAI’s assistant
How you add the skill Upload the zip as a custom skill Add it from Customize Put the folder in your skills folder Business, Enterprise, Edu: add it as a ChatGPT skill. Any plan: paste gpt-instructions.md into a Project
Triggers by itself? Yes, from the description Yes Yes As a skill, yes. In a Project, the instructions always apply to chats in that Project
Calculations Needs code execution turned on (skills require it) Built in Built in Needs ChatGPT’s data analysis feature on your plan
Works on your files Files you upload to the chat Folders you give it access to Files in your project folder Files you upload to the chat or Project

A few things to know:

  • Claude. Skills need code execution to be turned on. Anthropic’s help pages list which plans can use custom skills. Skills you enable on claude.ai also load in Claude Code when you sign in with the same account.
  • Claude Cowork is available on paid Claude plans. It suits batch work: “read every EPD in this folder and put the summaries in a spreadsheet”.
  • Claude Code reads skills from a folder (~/.claude/skills/ for you, or .claude/skills/ inside a project). It is aimed at technical users, but you don’t need to program to use a skill in it.
  • ChatGPT is changing. At the time of writing, OpenAI’s help centre says new custom GPTs can no longer be created on personal plans (Free, Go, Plus and Pro), that GPTs are being retired in favour of plugins, and that ChatGPT skills are available on Business, Enterprise and Edu workspaces. On any plan, a Project with our gpt-instructions.md pasted into its instructions gives you the same procedure. Check OpenAI’s pages for your plan.

A skill tells the assistant what to do, so install skills only from sources you trust, and read them first. Anthropic’s documentation makes the same point. learnLCA skills contain no code and no web addresses to send data to: open any SKILL.md and you can read every instruction.

  • Name the parts of a skill folder and the seven sections of a learnLCA SKILL.md.
  • Explain why the description decides when a skill is used, and what a good one contains.
  • Say how installing and running a skill differs between Claude, Claude Cowork, Claude Code and ChatGPT.
  • Choose the right place to run a skill for your own way of working.

Checked: 2026-09-29

Free to learn on your own. Want a practitioner to teach you? Learn with a teacher