← Back to Blog
Engineering by starFeatured

What Agent Skills Are, and Why Our Team Builds Them

What Agent Skills Are, and Why Our Team Builds Them

Your best Odoo developer has a promptThe input text provided to an LLM to guide its response. Prompt design — choosing words, structure, and examples — significantly affects output quality. Also referred to as the user message or query. they retype every morning, and it lives nowhere but their head. A skill is how you take that knowledge out of the chat box and make it reusable.

Your best Odoo developer has a promptThe input text provided to an LLM to guide its response. Prompt design — choosing words, structure, and examples — significantly affects output quality. Also referred to as the user message or query. they retype every morning. How to query production safely. Which fields to check before a migration. How a review should run. It works. And it lives nowhere but their muscle memory and a chat box they clear by lunch.

That is exactly the knowledge a skill captures. If you use Claude Code, Cursor, Amp, or Codex CLI, a skill turns that retyped paragraph into a procedure every agent on the team runs the same steps, the same way. This post covers what a skill is, how it differs from raw prompting and from MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a…, why you should treat one like code, and where to get a set built for Odoo and document work.

What a Skill Actually Is

The format comes from Anthropic, which introduced Agent Skills in October 2025 and has since released it as an open standard that other agents adopt. The shape is deliberately simple.

A skill is a folder. Inside it is a SKILL.md file with two parts: a short YAML frontmatter block (a name and a one-line description) and a body of markdown instructions. The folder can also bundle scripts, reference documents, and any other files the instructions point to.

my-skill/
  SKILL.md          # frontmatter + instructions
  scripts/
    run.py          # optional helper the instructions call
  references/
    checklist.md    # optional detail loaded on demand

A real one is short. Here is a read-only skill for looking things up in a staging database:

---
name: query-staging-odoo
description: Look up records in the staging Odoo instance, read-only. Use to check field values or inspect data without changing anything.
---

Use the `odooly` CLI with the `staging` profile from `~/odooly.ini`.
Never call write methods (create, write, unlink) under this skill.
Return results as a compact list: id, name, then the fields asked for.

That is the whole skill. The agent reads the description to know when to reach for it, then follows the body.

The important property is how the agent reads it. The agent does not carry the whole skill in its context all the time. It keeps only the one-line description in view. When a task matches that description, it loads the full SKILL.md, and only then the referenced scripts or documents. This is called progressive disclosure, and it is what makes skills cheap: a dozen installed skills cost a dozen lines of context until the moment one of them is actually relevant.

Because a skill is just files, it lives in git. You review it in a pull request, you version it, and you share it the same way you share any other code.

Skill vs Prompt vs MCP

Three things often get conflated. They solve different problems.

A promptThe input text provided to an LLM to guide its response. Prompt design — choosing words, structure, and examples — significantly affects output quality. Also referred to as the user message or query. is what you type. It is ad hoc, it lives nowhere, and it has to be retyped or copied from a notes file every time. A good promptThe input text provided to an LLM to guide its response. Prompt design — choosing words, structure, and examples — significantly affects output quality. Also referred to as the user message or query. is valuable, but it does not persist and it does not travel.

MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… (the Model Context ProtocolAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a…) gives the agent tools. An MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… server exposes callable functions: read this database, search this ticketing system, fetch this document. MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… is about access and capability. It answers the question “what can the agent reach?”

A skill gives the agent a procedure. It is the written know-how for doing a task well: the steps, the order, the checks, the scripts to run. It answers the question “how should the agent do this?”

The cleanest way to hold the distinction: MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… is a new pair of hands, a skill is a playbook. They compose rather than compete. A skill can instruct the agent to call an MCPAn open protocol developed by Anthropic that standardizes how AI models connect to external tools, data sources, and services. MCP allows LLMs to call tools (file systems, APIs, databases) in a… tool, run a CLI, or execute a bundled script as one of its steps. You can have either without the other, and they are strongest together.

Why a Skill Beats a Prompt for a Team

For a single developer, a promptThe input text provided to an LLM to guide its response. Prompt design — choosing words, structure, and examples — significantly affects output quality. Also referred to as the user message or query. saved in a text file is almost as good as a skill. The difference shows up at team scale.

Institutional knowledge becomes executable. “Here is how we query the staging Odoo instance without touching production data” stops being tribal advice and becomes a file the agent runs. The knowledge is no longer gated on the one person who remembers it.

Workflows stay consistent. When the migration checklist is a skill, every developer’s agent runs the same checklist. You stop relying on each person to remember every step, and you stop debugging the same omission on five different machines.

Onboarding gets shorter. A new hire installs the team’s skills and their agent already knows the local conventions: how the database is reached, how PDFs are processed, how a review is structured. The ramp from “knows Odoo” to “works the way we work” is a marketplace install instead of a month of corrections.

It is reviewable. A skill changes through a pull request like any other code. When the procedure is wrong, you fix it once, in one place, and everyone’s agent picks up the change.

Treat a Skill Like Code

A skill changes what an agent does on your systems, and some skills run scripts. Installing one from a marketplace is running someone else’s instructions. Treat that the way you treat any dependency.

Review before you install. Read the SKILL.md. A skill that only describes a procedure is low risk. A skill that executes scripts or reaches a live system deserves the same scrutiny as a pull request.

Default to least privilege. Point skills at staging and read-only first. Writes and anything touching production should be a deliberate, separate, reviewed step, not the default the agent reaches for.

Keep secrets out of the skill. Credentials live outside it. The odooly skill reads ~/odooly.ini on the machine running it; the connection details are never committed into the skill folder, so the skill stays safe to share.

That last point also draws the line between public and private. Generic, reusable skills go in a public marketplace. Skills that encode how you reach a specific client’s systems stay private to the team.

The Trobz Public Skills Marketplace

We package the skills we use into a public marketplace so they are easy to install and easy to read. It targets Claude Code and other code agents, including Cursor, Amp, and the OpenAI Codex CLI.

Five skills are available today.

odooly lets the agent query and inspect Odoo business data through the odooly CLI. It needs the odooly tool installed and a config file at ~/odooly.ini pointing at your instance. With it in place, you can ask the agent to search partners, list sales orders by status, or check a field on a record, and it runs the query rather than guessing. This is the promptThe input text provided to an LLM to guide its response. Prompt design — choosing words, structure, and examples — significantly affects output quality. Also referred to as the user message or query.-in-muscle-memory example made concrete: the safe way to reach an Odoo instance, written down once.

utils:pdf converts PDFs to clean Markdown, runs OCR on scanned documents, and extracts tables to CSV. It relies on uv and the system tesseract binary. On document-heavy work (vendor contracts, bills of lading, expense receipts) it turns a PDF into something the agent can actually read and reason over.

oca:audit-module reviews an existing OCA module against current standards: manifest completeness, security declarations, view structure, and migration readiness. Point it at a module and it returns a prioritised list of findings.

oca:new-module scaffolds a new OCA-compliant module with the correct directory layout, manifest, and boilerplate, so the first commit is already shaped correctly.

oca:repo-update brings an OCA repository up to date with the standard tooling configuration: pre-commit hooks, CI templates, and linting rules.

Installing the Skills

For Claude Code, add the marketplace directly:

claude plugin marketplace add [email protected]:trobz/public-skills.git

For other agents, install through the skills CLI and pass your agent with -a:

npx skills add [email protected]:trobz/public-skills.git -a <agent> -g

Replace <agent> with your tool (for example cursor, amp, or codex). The -g flag installs globally so the skills are available across your projects.

Where to Start

You do not need to design a skill system. You need to notice the promptThe input text provided to an LLM to guide its response. Prompt design — choosing words, structure, and examples — significantly affects output quality. Also referred to as the user message or query. you keep retyping. The next time you paste the same paragraph into your agent to make it behave correctly on your codebase, that paragraph is a skill waiting to be written: a folder, a SKILL.md, and a one-line description of when to use it.

For a team, the payoff is plain: the know-how stops walking out the door when one person is busy, on leave, or gone. It becomes something the whole team’s agents can run, and it is not only developers who write skills. Anyone who can describe a task clearly can capture one.

The marketplace is at github.com/trobz/public-skills.

Ready to put AI to work?

Let's explore how Trobz AI can automate your processes, enhance your ERP, and help your team make better decisions — faster.