ai-startup-skills
AI 제품을 만드는 스타트업을 위한 7단계 에이전트 스킬: 검증 → 비즈플랜 → 정책 → 로드쇼 → 고객 확보 → 가격 책정 → 등록
Umbraco에서 문서 유형·데이터 유형 등 콘텐츠 모델링 기술 제공, 설정을 쉽게 함
This will contain content modelling skills for codifying and helping agents to create document type, data types etc within Umbraco. They will help in making it easy to configure Umbraco It is being wo
기타CSS · C#GitHub @umbraco직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
This will contain content modelling skills for codifying and helping agents to create document type, data types etc within Umbraco. They will help in making it easy to configure Umbraco It is being worked on by the AI community team
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Experimental Beta: This project is an exploration of what's possible with Skills for Umbraco. It's evolving as we learn what works best.
A Claude Code plugin marketplace with skills for Umbraco content modelling and implementation, plus a committed reference Umbraco instance for validating that skill output actually builds and runs.
| Plugin | Focus |
|---|---|
umbraco-cms-content-modelling-skills | Document types, element types, data types, compositions, content structure |
umbraco-cms-implementation-skills | Site build-out, templates, views, controllers, delivery |
Every content-modelling skill works requirements-first: it reads the site, writes the change as a markdown requirements doc, stops for your approval, applies it through the Umbraco Developer MCP (or hands you a backoffice walkthrough), then reads the result back. Two hub skills hold the shared rules and workflow; the others link into them.
| Skill | What it does |
|---|---|
umbraco-content-model-conventions | The rule book: names, aliases, tree, tabs and sorts, compositions, icons, allowed children, templates |
umbraco-content-requirements-documentation | The requirements doc format, the six-step change workflow, apply via MCP or manually, verify, and the requirements linter |
umbraco-add-page | One page: its document type, template, SEO composition and parent, plus any block, block area or data type it needs, in one changeset |
umbraco-add-document-type | The schema of one document type, never a template: a plain type visitors never land on, or the schema of a page, data folder or site settings when another skill calls it |
umbraco-add-listing-page | A listing page, its item type, the collection view and both templates |
umbraco-add-composition | One single-concern composition (SEO, sharing, page details) applied to the right types |
umbraco-add-element-type | One element type: a content element, a repeater item, a settings model or a settings composition |
umbraco-add-block | One block: the content element, with a settings element when it has style options, a repeater's items, placed in an existing block area |
umbraco-configure-block-editor | A Block Grid per placement or a Block List per repeater, and the property that uses it |
umbraco-add-data-type | Reuse or create a data type, pick the editor, name and file it |
umbraco-add-data-folder | Shared content that is not a page (authors, categories) and the picker pages use |
umbraco-add-site-settings | The siteSettings singleton at the content root |
umbraco-change-document-type | Change a type that already exists, saying which changes lose content |
umbraco-review-content-model | Audit a model against the conventions and report, ranked by severity; changes nothing |
| Skill | What it does |
|---|---|
umbraco-sitemap | Adds an XML sitemap, as a cached controller or a Razor template with a Document Type |
umbraco-custom-error-pages | Custom 404 and 500 pages, via a last-chance content finder or the Error404Collection config |
umbraco-custom-maintenance-page | Customises the page visitors see while Umbraco runs upgrade migrations |
umbraco-common-pitfalls | Reference guide to anti-patterns, performance traps and common mistakes |
umbraco-templating | Templates, partial views, view components, route hijacking and surface-controller forms, with runtime-tested code |
umbraco-configuration | Tested appsettings profiles for production single server, load balanced and Azure App Service |
umbraco-oembed-providers | Embed (oEmbed) providers in C#: new oEmbed hosts, hosts without oEmbed, replacing a built-in (e.g. youtube-nocookie), registration order |
umbraco-services | Published cache vs management services, reading content with no request (jobs, notification handlers), custom services and their lifetimes |
umbraco-security-headers | A Content Security Policy using Umbraco's nonce, with separate backoffice and site policies, plus the other security headers |
umbraco-notifications | Runs server-side code when Umbraco saves, publishes or deletes content, or raises your own notification, with runtime-tested handlers |
umbraco-security-2fa | Authenticator-app two-factor authentication for backoffice users and website members, with runtime-tested code |
umbraco-debugging | Steps into Umbraco's own source with Source Link (Visual Studio, Rider, VS Code), or profiles requests with debug mode and MiniProfiler |
umbraco-security-external-logins | Single sign-on through Entra ID, Google, Okta and other OpenID Connect providers, for backoffice users or website members, with safe auto-linking and group mapping |
umbraco-design-fundamentals | Stylesheets and scripts in wwwroot, rendering content and media in Razor, and a guided path for a whole design |
Add the marketplace:
/plugin marketplace add umbraco/Umbraco-CMS-Implementation-Skills
Install the plugins:
# Content modelling skills
/plugin install umbraco-cms-content-modelling-skills@umbraco-cms-implementation-marketplace
# Implementation skills
/plugin install umbraco-cms-implementation-skills@umbraco-cms-implementation-marketplace
These skills use the open SKILL.md format, supported natively by multiple AI coding tools. Install them into any supported editor using the Vercel Skills CLI.
Most supported editors read skills from a shared .agents/skills/ directory rather
than an editor-specific one, so one install typically covers your whole team — see
Where skills get installed.
Note: The
-aflag targets a specific editor. Without it, the CLI installs once into the shared.agents/skills/directory and symlinks.claude/skills/to it — it does not copy the skills into every agent's directory.
Install all skills for your editor:
# For Cursor
npx skills add umbraco/Umbraco-CMS-Implementation-Skills --skill '*' -a cursor
# For GitHub Copilot
npx skills add umbraco/Umbraco-CMS-Implementation-Skills --skill '*' -a github-copilot
# For Devin CLI
npx skills add umbraco/Umbraco-CMS-Implementation-Skills --skill '*' -a devin
# For Devin Desktop (formerly Windsurf)
npx skills add umbraco/Umbraco-CMS-Implementation-Skills --skill '*' -a windsurf
.agents/skills/ is the recommended portable, cross-agent location. Devin,
Devin Desktop/Windsurf, Cursor, GitHub Copilot, Codex, Gemini CLI, OpenCode and
many others can discover skills there. You generally don't need a per-agent copy:
your-project/
└── .agents/
└── skills/
├── umbraco-sitemap/SKILL.md
└── umbraco-custom-error-pages/SKILL.md
| Editor | Minimum Version | Installs to |
|---|---|---|
| Cursor | 2.4+ (January 2026) | .agents/skills/ |
| GitHub Copilot (VS Code) | VS Code 1.109+ (January 2026) | .agents/skills/ |
| GitHub Copilot (Coding Agent) | Supported | .agents/skills/ |
| Codex / Gemini CLI / OpenCode | Current | .agents/skills/ |
| Claude Code | Current (use Quick Start above) | .claude/skills/ |
| Devin CLI | Current | .agents/skills/ |
| Devin Desktop (formerly Windsurf) | Current | .agents/skills/ |
Claude Code exception. -a claude-code writes to .claude/skills/; Devin,
Devin Desktop (formerly Windsurf), and the other agents in the table use the
shared .agents/skills/ location.
If you omit -a, the CLI uses its detected agents or prompts for selection; the
shared location is .agents/skills/.
Cursor additionally reads .cursor/skills/, .claude/skills/ and .codex/skills/, so
skills already installed for another agent are usually picked up without reinstalling.
Editors load skills on-demand — they read only each skill's name and description
up front, then load the full SKILL.md when it matches what you're working on. That is
why a skill's description matters: it is the only text the agent sees when deciding
whether the skill is relevant.
Skills are installed as copies, pinned in a skills-lock.json. To pick up changes
after this repo is updated:
npx skills update
VS Code users who would rather track this repo live than hold copies can clone it once
and point chat.agentSkillsLocations
at the checkout instead.
These skills work best when Claude has access to the Umbraco source code, so it can reference actual implementations, types, and conventions.
git clone https://github.com/umbraco/Umbraco-CMS.git
Add it as a working directory in Claude Code:
/add-dir /path/to/Umbraco-CMS
Umbraco-CMS.Skills/ (with Umbraco-CMS.Skills.sln at the repo root) is a real Umbraco
17 web project used to validate that a skill's output actually compiles and serves — the
runtime counterpart to the LLM-based umbraco-skill-evaluator.
net10.0, Umbraco.Cms 17.* (matching the skills' "Umbraco 17+" target).Only the project scaffolding is committed — the runtime SQLite DB and build output are
.gitignored, and Clean re-installs on first boot.
Content-modelling skills ship markdown rather than code, so their CI gate is three Node scripts
instead of dotnet test: scripts/check-skill-links.mjs (every relative link and anchor under
plugins/ resolves), scripts/check-skill-frontmatter.mjs (skill frontmatter and eval fixtures are
valid) and the requirements linter in umbraco-content-requirements-documentation run against its
golden and broken fixtures. All three run from the repo root with node <script>.
How it was scaffolded (via the Package Script Writer CLI, the same tool the backoffice skills use — regenerate with this if you ever need to rebuild it from scratch):
dotnet tool install --global PackageScriptWriter.Cli # if not already installed
psw --default \
-n "Umbraco-CMS.Skills" -s "Umbraco-CMS.Skills" \
-k "Clean|7.0.8" \
-da \
--database-type SQLite \
--template-version 17.5.3 \
--admin-email [email protected] --admin-password 1234567890 \
--auto-run --build-only
Package versions are managed centrally in Umbraco-CMS.Skills/Directory.Packages.props.
(The committed project also has the launch URL set to https://localhost:44372.)
Run it:
cd Umbraco-CMS.Skills
dotnet run
Then open the backoffice at https://localhost:44372/umbraco and log in with [email protected] / 1234567890.
Validate a skill against it — deterministically. Runtime validation is a dotnet test
gate (no LLM, reproducible): each validated approach ships an examples/<approach>/ project that
compiles the skill's own assets into a reference instance, and a test host boots that instance
in-process (WebApplicationFactory) and asserts the skill's endpoints over HTTP. There are two
instances — one with the Clean starter kit for approaches written as C#, one with no starter kit for
approaches written as Document Types + templates + config, where Clean would otherwise supply a
competing implementation of the feature under test.
# Two hosts, tested as separate processes (Umbraco keeps process-wide static state).
dotnet build Umbraco-CMS.Skills.sln
dotnet test Umbraco-CMS.Skills.TestHost/Umbraco-CMS.Skills.TestHost.csproj --no-build
dotnet test Umbraco-CMS.Skills.TestHost.Blank/Umbraco-CMS.Skills.TestHost.Blank.csproj --no-build
node scripts/generate-examples.mjs --lint # every placeholder an asset carries is declared
Building needs the .NET SDK and node — nothing else, and nothing to npm install. The
build shells out to node to project each skill's assets/ into obj/, and the repo's scripts
use only the Node standard library.
This runs in CI (.github/workflows/validate-skills.yml). For interactive poking or
backoffice-dependent steps, the umbraco-reference-instance authoring skill (in
.claude/skills/) also offers a manual boot/try harness. See
.claude/skills/umbraco-reference-instance/SKILL.md.
Umbraco-CMS-Implementation-Skills/
├── .claude-plugin/marketplace.json # Marketplace manifest (lists both plugins)
├── plugins/
│ ├── content-modelling/ # Content modelling plugin
│ │ ├── .claude-plugin/plugin.json
│ │ └── skills/<skill>/ # SKILL.md, references/, evals/ — requirements-first: markdown requirements doc, approve, apply via MCP (no examples/; linted, not compiled)
│ └── implementation/ # Implementation plugin
│ ├── .claude-plugin/plugin.json
│ └── skills/<skill>/
│ ├── SKILL.md, assets/, … # the skill (assets = the shipped source of truth)
│ └── examples/<approach>/ # per-approach validation project (generated at build time)
├── Umbraco-CMS.Skills/ # Reference instance 1 — Umbraco 17 WITH the Clean starter kit
├── Umbraco-CMS.Skills.Blank/ # Reference instance 2 — no starter kit (content-shaped approaches)
├── Umbraco-CMS.Skills.TestHost/ # dotnet test: boots instance 1, HTTP-asserts each skill
├── Umbraco-CMS.Skills.TestHost.Blank/ # dotnet test: boots instance 2 (own process)
├── TestHost.Shared/ # boot/wait/preconditions code linked into both test hosts
├── Umbraco-CMS.Skills.sln
├── scripts/generate-examples.mjs # projects assets/ into each example at build time
├── scripts/check-skill-links.mjs # CI: every relative link and anchor under plugins/ resolves
├── scripts/check-skill-frontmatter.mjs # CI: SKILL.md frontmatter valid, eval fixtures exist
└── .claude/
└── skills/ # Repo-authoring skills (evaluator, reference-instance)
Skills are added under the relevant plugin's skills/ folder, each as a directory
containing a SKILL.md.
AGENTS.md is the entry point for anyone working on this repo — human or
agent, whichever editor you use. It covers the skill-authoring rules, what keeps a
skill portable across agents, and the validation gates. There is no separate
CLAUDE.md — agents read AGENTS.md directly.
Two authoring skills (in .claude/skills/, not published) help maintain the
marketplace:
umbraco-skill-author scaffolds and
writes a skill, and
umbraco-skill-evaluator runs the
eval loop over it.
Changes land via branch → pull request → squash-merge into main.
MIT
Built by Phil W (@hifi-phil).
Skills based on Umbraco CMS documentation.