Lobstack app
Skills & connectors
Two things that get called by the same word and are not variants of one idea. One teaches an agent how to do something; the other grants it access to a service.
An Agent Skill is a folder with a SKILL.md at its root. Markdown, plus optional scripts and reference files. It teaches an agent how to do something well. It has no credentials, because there is nothing for it to authenticate against, and it works in any agent that reads a skills directory. The unit of distribution is text, so copying the file is the install.
A connector is a credentialed integration: an MCP server, plus the fields that server needs. It gives an agent access to a service. It is configured in the Lobstack app, where its secrets are sealed into a vault on your own machine, and it is not copy-pasteable — pasting a Slack connector into a repository gives you a shape and no access.
The difference, in a table
| Agent Skill | Connector | |
|---|---|---|
| What it does | Teaches the agent how | Grants access to a service |
| What it is | SKILL.md | An MCP server plus the fields it needs |
| Credentials | None | API key or OAuth grant |
| Install | Copy the file | Authorise it in the Lobstack app |
| Portable | Any agent that reads skills | No — it is your account |
| Versioned by | The file, in your repo | The MCP server it runs |
| Licence | MIT, for the official ones | Not applicable |
| Lives at | /skills | /connectors |
The quickest test: if your draft has an API key in it, you are writing a connector. If it has no credentials and you would happily send it to a colleague as a file, it is a skill. And if it is "do this one specific thing right now", it is neither — it is a prompt, and not everything needs packaging.
Anatomy of a skill
Only SKILL.md is required, and for most skills it is the whole thing. The other two directories exist for progressive disclosure: anything long, conditional or rarely needed belongs in a file the agent reads when it needs it rather than inline, where it is paid for on every turn that loads the skill.
The frontmatter is a contract
| Key | Why it matters |
|---|---|
| name | Lowercase, hyphenated, matches the directory. The handle everything else refers to. |
| description | The only thing that decides whether the skill ever loads. See below. |
| license | State one. A skill with no licence cannot be adopted by anyone with a lawyer. |
| metadata | Everything else. Loaders tolerate it and do not interpret it. |
The description is the trigger
An agent decides whether to load a skill from its name and description alone — it does not read the body first. So a description that only says what the skill is will not fire at the moment it is needed. Write two halves: what it does, then when to use it, in the words that will be in the air when it applies.
Name the concrete triggers: the error code, the field name, the file extension, the phrase a person would actually say. 402, x_lobstack, "what did this cost", "route Cursor through". Those are what match.
Writing the body
You are writing for an agent that will act on it, not for a reader who will admire it.
- Imperative and specific. "Set
max_tokens" beats "consider limiting output". The second is advice; the first is an instruction. - Rule first, reason second. An agent that stops reading after the first paragraph should still be right.
- Show the exact string. Real header names, real field names, real paths, commands that run as written. This is the single biggest difference between a skill that changes behaviour and one that reads well.
- Say what not to do, and why. Negative constraints are followed more reliably than positive suggestions, and the reason is what lets the agent generalise instead of pattern-matching.
- One skill, one job. If the description needs an "and", split it.
- Push determinism into scripts. A model doing arithmetic by hand is a model getting arithmetic wrong occasionally.
Never put in a skill:
- Credentials. Skills are copied, pasted into repositories and committed. Reference an environment variable by name.
- Anything that goes stale silently — a price table, a model list, a version number of somebody else's software. Tell the agent which endpoint to ask.
- A claim you have not verified. A skill that confidently documents behaviour the system does not have is a bug report written in advance and filed by your user.
Testing one
- 1
Does it parse?
Load the frontmatter as YAML. A parse error is silent at runtime, which is the whole problem with it. - 2
Does it fire?
Start a fresh session, say what a user would say, and check the skill was picked up without you naming it. If it was not, the description is wrong — not the body. - 3
Does it change behaviour?
Run the same task with and without it and diff the result. A skill that changes nothing measurable should be deleted however well it reads. - 4
Does it survive a cheaper model?
If it only works on a flagship, an instruction is implicit somewhere. Make it explicit.
Installing one
In Lobstack, open Skills, then paste the file into Add a skill or drop the folder on it. Give it to a bot in that bot's settings. Remove it from the same list to uninstall.
Other coding agents differ in the parent directory only. The file is the same file, which is what makes skills worth distributing as text. There is no package, no registry client and no telemetry.
The archive
Agent Skills holds 10 skills, 10 of them written and maintained by Lobstack and licensed MIT. Each one's complete SKILL.md is on the page with a copy button, and each has its own URL at /skills/<name>.
The archive accepts skills from anyone. A submission keeps its author and its own licence, both shown on the card and in the frontmatter. What it must have: a SKILL.md that parses, a description saying when to use it, no credentials, and no claim that cannot be checked.
Legacy
Lobstack used to run agents in hosted VMs. That product was retired on 11 September 2026; these notes stay for anyone who used it. Until then /skills rendered that runtime's catalogue of credentialed integrations, every one with a required-config block and not one of them an Agent Skill. The catalogue was deleted with the runtime.