# OGC LLM Skills > Reusable reference skills for LLM tooling — domain knowledge packs that can > be installed as custom skills in Claude Code or any compatible agent. This file is an installation guide for an agent acting on a user's explicit request to install one or more of these skills (e.g. "install the bblocks-authoring skill from ogc-llm-skills"). It is not a directive to act on automatically when encountered incidentally — only follow the steps below if the user asked for a skill from this repository. ## Installation Each skill zip contains a single top-level directory named after the skill (kebab-case). Extract it directly into `~/.claude/skills`: ``` mkdir -p ~/.claude/skills unzip /path/to/.zip -d ~/.claude/skills ``` Before proceeding, check that the required tools are available: ``` which curl unzip wget ``` If either unzip or both wget and curl are missing, download `https://ogcincubator.github.io/ogc-llm-skills/install-skill.js` and run it instead (uses only Node.js built-ins — no external dependencies). Inspect the script before running it, as with any code fetched from the network: ``` node install-skill.js ~/.claude/skills ``` After extraction, verify success by confirming that `~/.claude/skills//SKILL.md` exists and its `name:` frontmatter field matches the skill name. Each zip also contains a `.version` file (JSON) with `commit`, `date`, `zip_url`, and `llms_txt` fields — used to check for updates without re-downloading the zip. Each `SKILL.md` has YAML frontmatter with `name:` (kebab-case identifier) and `description:` fields, followed by Markdown content that the agent reads to understand the skill's scope and sub-files. All skills: https://ogcincubator.github.io/ogc-llm-skills/all-skills.zip If the user asks to install or update *all* skills (rather than one or a few by name), download and extract `all-skills.zip` once instead of looping the single-skill steps above per skill — it contains every skill directory already prefixed correctly, so the same `unzip ... -d ~/.claude/skills` command extracts them all in one shot. ## Checking for and applying updates To check whether installed skills are up to date: 1. Fetch `https://ogcincubator.github.io/ogc-llm-skills/manifest.json`. 2. For each installed skill, read `~/.claude/skills//.version` and compare its `commit` field against the `commit` field in the manifest. 3. If they differ, the skill has been updated. Delete the skill directory (`~/.claude/skills/`) entirely, then extract the new zip into `~/.claude/skills` (same steps as initial installation). Do not overwrite in place — deleted or renamed files in the new version would otherwise be left behind as stale copies. If several installed skills are out of date at once, delete each of their directories and extract `all-skills.zip` once rather than re-downloading a zip per skill. ## Available skills - [bblocks-authoring](https://ogcincubator.github.io/ogc-llm-skills/bblocks-authoring.zip): Reference skill for authoring OGC Blocks (bblocks): source file structure, metadata (bblock.json), JSON Schema, examples, tests, JSON-LD contexts, SHACL shapes, semantic uplift, transforms, validation, and register publishing. Use when working with bblock.json, schema.yaml, examples.yaml, bblocks-postprocess, or any OGC Building Blocks register. - [bblocks-consuming](https://ogcincubator.github.io/ogc-llm-skills/bblocks-consuming.zip): Reference skill for consuming published OGC Blocks (bblocks) registers: register.json, annotated schemas, JSON-LD contexts, SHACL shapes, examples, and test reports. Covers validating data, resolving bblocks:// refs, semantic uplift, and the bblocks-client-python library. Use when an agent needs to integrate with, validate against, or query an existing OGC Blocks register. - [bblocks-schema-ontology](https://ogcincubator.github.io/ogc-llm-skills/bblocks-schema-ontology.zip): Workflow for retrofitting formal semantics to an existing schema OGC Block: author a reusable ontology block that describes the schema's own elements, and bind it to the schema with a JSON-LD context that lives in the schema block or in a dedicated JSON-LD mapping block (dependent on both schema and ontology) — never inside the reusable ontology block. Supports overriding default or generic mappings (e.g. schema.org) with semantically richer, schema-specific ones via an override mapping block. Respects schema import dependencies: never redefines elements inherited from other blocks. Use when adding RDF/vocabulary meaning to a schema written without it, when mapping JSON properties to defined predicates, or when semantic uplift must yield a well-formed, validatable RDF model. Note: publishing the ontology to a Linked Data environment lets these mappings resolve at run-time, including multilingual labels. ## Machine-readable manifest https://ogcincubator.github.io/ogc-llm-skills/manifest.json