agentleFS
me-cedricme-cedric/agent-compass/skills/plugin-author/SKILL.md

plugin-author

Skill3 starsChanged 27 days agoMITView on GitHub

Write a Shipyard plugin. Use when a person creates or edits a plugin folder with manifest.json and files/, or asks how to package one.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Add "$schema": "./plugin-manifest.schema.json".

    line 27
  2. Very specific:

    Write config.<key> between two opening braces and two closing braces in a text file.

    line 38
  3. Very specific:

    No local MCP command. No http address.

    line 45
  4. Distinctive:

    Keep the change small: one skill or one rule at a time, and run the loop after each.

    line 56

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Plugin author

A Shipyard plugin is a folder, packaged as a .zip. It is data: no plugin code runs.

Layout

manifest.json
plugin-manifest.schema.json   (editor help, not packaged)
files/skills/<name>/SKILL.md
files/rules/<name>.md
files/...                     (other files)

Manifest

  • Required: name (no slash, no leading dot) and version.
  • Add "$schema": "./plugin-manifest.schema.json". The schema lists every key.
  • skills and rules: lists of plain names (letters, digits, -, _). A skill copies files/skills/<name>/ and a rule copies files/rules/<name>.md to .claude/ and .agents/.
  • files: a list of { "source": "files/x", "target": "x" }. Without it, each other file goes to the project root.
  • settings: a key maps to a text default, or to { "type", "default", "choices", "required" }. Types: text, number, boolean, choice.
  • mcpServers: remote servers only. Give url (https) and headers.

Settings in files

Write config.<key> between two opening braces and two closing braces in a text file. Shipyard (the sample plugin shows it) fills it when the plugin is applied, and shows the filled files in the review. A key that is not a setting is an error. A value is never read again, so braces in a value stay text.

Limits and guards

  • 500 files, 10 MB unpacked, 64 KB manifest.
  • No local MCP command. No http address. No path with ... No link.
  • A header value is a ${VAR} reference. Never write a secret in a plugin.
  • A setting whose name holds token, secret, password or apikey must stay empty or use ${VAR}.

Loop

  1. Edit the manifest and the files.
  2. In Shipyard, Settings / Extensions, click Try in this project. Read the review.
  3. Fix each error. An error names the file and the line.
  4. Click Package. Share the .zip.

Keep the change small: one skill or one rule at a time, and run the loop after each.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.