Skip to content

danielbodnar/sheds-store

v0.1.0LicenseRef-Proprietary

Skills, rules and MCP servers for building sheds.store (Astro + Vue 3 islands + Tailwind + Supabase on Cloudflare Workers) and shipping merge requests to the davidbodnar GitLab repos.

sheds-store agent plugin

Teach any coding agent how sheds.store is built, then let it ship merge requests.

Skills, agents, rules and MCP servers for sheds.store-new: Astro with Vue islands, Tailwind CSS, Supabase, on one Cloudflare Worker. Install it, open a sheds.store checkout, and ask for a feature. The agent builds it in the existing stack and opens an MR into develop.

Primary repodavidbodnar/sheds.store/sheds.store-new
Also coveredThe Maybach integration contract, and an orientation for the SystemAvo repos that aren't sheds.store
Works withClaude Code, claude.ai, Claude Desktop, Cowork, Codex, GitHub Copilot, VS Code, GitLab Duo, OpenCode, Zed, pi, oh-my-pi, Gemini CLI
Downloadsskills.sheds.store
Planspecs/, indexed in AGENTS.md

Contents

Install

Point an agent at **https://skills.sheds.store**. Everything installs from there, or from the git repos.

Claude Code

The marketplace is added once per account. The plugin can be installed for you, or for everyone who works in a repo:

claude plugin marketplace add https://skills.sheds.store/marketplace.json
claude plugin install sheds-store@sheds-store                    # just you (user scope)
claude plugin install sheds-store@sheds-store --scope project    # everyone in this repo, via .claude/settings.json

The same works in a session as /plugin marketplace add … and /plugin install ….

claude.ai, Claude Desktop, Cowork

Customize > Plugins > Add marketplace > Add from a repository, enter danielbodnar/skills.sheds.store, and turn on Sync automatically. Your Claude account needs access to that GitHub repo. Or upload the files by hand.

Agents that read .agents/skills

GitLab Duo, Codex, Copilot, OpenCode, Zed, pi:

bunx skills@latest add https://skills.sheds.store --all       # this repo
bunx skills@latest add https://skills.sheds.store --all -g    # every repo, for your user

The git repos work as sources too: https://gitlab.com/davidbodnar/sheds.store/skills or danielbodnar/skills.sheds.store.

Other plugin hosts, from git

These need read access to the repo, and a git credential that works without a prompt.

ToolInstall
Codexcodex plugin marketplace add https://gitlab.com/davidbodnar/sheds.store/skills.git
GitHub Copilot CLIcopilot plugin install https://gitlab.com/davidbodnar/sheds.store/skills.git
VS CodeCommand palette: Chat: Install Plugin From Source, then paste the clone URL
oh-my-piomp plugin marketplace add https://gitlab.com/davidbodnar/sheds.store/skills.git, then omp plugin install sheds-store@sheds-store
pipi install git:gitlab.com/davidbodnar/sheds.store/skills
Gemini CLIgemini extensions install https://gitlab.com/davidbodnar/sheds.store/skills.git

Vendor plugins

sheds.store work also uses these. Install them from their own sources, not from this marketplace, so nobody ends up with two plugins of the same name.

PluginInstall in Claude Code
Cloudflare (skills and the Code Mode MCP server)/plugin install cloudflare@claude-plugins-official
Supabase/plugin install supabase@claude-plugins-official
GitLab (MCP server)/plugin install gitlab@claude-plugins-official
Resend/plugin install resend@claude-plugins-official
Vue/plugin marketplace add vuejs-ai/skills, then install vue-skills-bundle@vue-skills
1Password/plugin marketplace add 1Password/1password-claude-plugin, then install 1password@1password
Google Mapsbunx skills@latest add googlemaps/agent-skills

For the GitLab CLI skills, run glab skills install.

Upload by hand

For claude.ai, Claude Desktop and Cowork, or any agent where you'd rather upload files than add a marketplace. Everything is at skills.sheds.store, with checksums in SHA256SUMS.

FileUpload underContains
sheds-store.zipCustomize > PluginsThe whole plugin: skills, agents, MCP config
<skill>.skill, one per skill, linked from the skills tableCustomize > SkillsOne skill folder

The same files are attached to every release, and to every pipeline as the packages artifact.

Private details

This plugin is written to be publishable. Account IDs, secret locations, the Maybach endpoints and auth, and the map of related repos live in the private sheds.store-new repo, under docs/agents/. A skill that needs one of them names the file, and the agent reads it in its clone. Without a clone, the agent says what it can't see and asks for access.

bun run validate runs scripts/check-public.ts, which fails on identifiers and known private names.

What's inside

Skills

Start with sheds-store. It routes to the rest.

SkillUse for
sheds-storeThe product, repo map, stack, and the rules that get an MR rejected
sheds-store-frontendPages, Vue islands, calculators and widgets, porting React to Vue
sheds-store-design-systemColours, type, buttons, dashboard tokens. Ships DESIGN.md and tokens.json
sheds-store-platformHost routing, caching, env and secrets, crons, wrangler, deploys
sheds-store-dataSupabase clients, RLS, migrations, dealer lifecycle, plans and billing
sheds-store-maybach-contractWhat crosses the boundary with Maybach, and the rules for changing it
sheds-store-contributingBranches, commits, MRs, checks
sheds-store-secretsLoading secrets with op run, public versus server variables, adding a variable
sheds-store-systemavo-referenceThe repos that aren't sheds.store
sheds-store-writing-docsREADMEs, guides, specs, changelogs and blog posts: accuracy, structure, plain prose

Agents

AgentDoes
sheds-store-engineerBuilds a change end to end and opens the MR
sheds-store-docs-writerKeeps the README, AGENTS.md and blog posts true to the code

MCP servers

Defined in .mcp.json (Claude) and mcp.json (Agent Plugins). Only servers no vendor plugin already provides:

ServerURL
Cloudflare docshttps://docs.mcp.cloudflare.com/mcp
Astro docshttps://mcp.docs.astro.build/mcp
Bun docshttps://bun.com/docs/mcp

The Cloudflare, Supabase, GitLab and Resend servers come with their vendor plugins.

Manifests

FileRead by
.claude-plugin/plugin.json, .claude-plugin/marketplace.jsonClaude Code, claude.ai, Cowork, Codex, Copilot CLI, omp, the skills and plugins CLIs
plugin.json, mcp.jsonAgent Plugins 1.0: Codex, VS Code, Copilot CLI, omp
gemini-extension.jsonGemini CLI
package.jsonpi, and this repo's scripts

Packages and CI

.gitlab-ci.yml runs four jobs:

JobRuns onDoes
validateEvery pipelinescripts/validate.ts: frontmatter, manifests, MCP config, check-public
packageEvery pipelinescripts/build-site.ts: a .skill per skill, sheds-store.zip, the marketplace, the discovery index and the landing page, into site/dist/. Kept as the packages artifact, linked from each MR.
deployThe default branchPublishes site/dist/ to skills.sheds.store with wrangler
releaseTags like v1.2.0Creates a GitLab release with the packages as assets, stored in the generic package registry

deploy needs two CI/CD variables, and is skipped until they exist:

VariableValue
CLOUDFLARE_API_TOKENMasked and protected. A token that can edit Workers scripts and routes for the account and the sheds.store zone.
CLOUDFLARE_ACCOUNT_IDThe Cloudflare account that owns the Worker

To cut a release, tag main: git tag v1.2.0 && git push origin v1.2.0.

GitLab Duo

The sheds.store engineer custom agent lives in the AI Catalog, restricted to the davidbodnar group. Its prompt is duo/system-prompt.md and its tools are duo/agent-tools.txt. Update it with duo/create-agent.sh.

duo/README.md covers what Duo reads from where, and the steps that need a top-level group owner.

Develop

bun run validate      # skill frontmatter, manifests, MCP config, claude plugin validate

CI runs the same check, plus SAST and secret detection. Build the packages locally with bun run site:build; commit first, because they come from git archive HEAD. Rules for editing this repo are in AGENTS.md.