Modern Web Guidance
JetBrains/skills
Search tool for modern web development best practices. An agent skill from JetBrains/skills.
Turn written governance rules into enforcement that runs: ESLint, Stylelint, dependency-cruiser and CODEOWNERS config traced to sources, plus GOVERNANCE.md for rules with no executable form.
$ npx skills add murphytrueman/design-system-ops --skill governance-encoder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install murphytrueman/design-system-ops governance-encoder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/governance-encoder .claude/skills/governance-encoder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "governance-encoder" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/governance-encoder into .claude/skills/governance-encoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "governance-encoder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/murphytrueman/design-system-ops/tree/main/skills/governance-encoderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add murphytrueman/design-system-ops --skill governance-encoder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install murphytrueman/design-system-ops governance-encoder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/governance-encoder .agents/skills/governance-encoder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "governance-encoder" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/governance-encoder into .agents/skills/governance-encoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "governance-encoder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add murphytrueman/design-system-ops --skill governance-encoder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install murphytrueman/design-system-ops governance-encoder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/governance-encoder .cursor/skills/governance-encoder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "governance-encoder" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/governance-encoder into .cursor/skills/governance-encoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "governance-encoder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/murphytrueman/design-system-ops.git --path skills/governance-encoder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add murphytrueman/design-system-ops --skill governance-encoder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install murphytrueman/design-system-ops governance-encoder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/governance-encoder .gemini/skills/governance-encoder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "governance-encoder" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/governance-encoder into .gemini/skills/governance-encoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "governance-encoder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install murphytrueman/design-system-ops governance-encoderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add murphytrueman/design-system-ops --skill governance-encoder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/governance-encoder .github/skills/governance-encoder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "governance-encoder" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/governance-encoder into .github/skills/governance-encoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "governance-encoder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add murphytrueman/design-system-ops --skill governance-encoder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install murphytrueman/design-system-ops governance-encoder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/murphytrueman/design-system-ops.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/governance-encoder .opencode/skills/governance-encoder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "governance-encoder" agent skill from https://github.com/murphytrueman/design-system-ops/tree/main/skills/governance-encoder into .opencode/skills/governance-encoder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "governance-encoder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
governance-encoderTurn written governance rules into enforcement that runs: ESLint, Stylelint, dependency-cruiser and CODEOWNERS config traced to sources, plus GOVERNANCE.md for rules with no executable form.
Governance Encoder is an agent skill from murphytrueman/design-system-ops. Turn written governance rules into enforcement that runs: ESLint, Stylelint, dependency-cruiser and CODEOWNERS config traced to sources, plus GOVERNANCE.md for rules with no executable form. Triggers: governance as code, enforce our rules, lint our rules. Pipeline files: cicd-integration.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Linting and formatting and CI/CD. It works with ESLint. The repository describes itself as: Claude Code skills for the work that keeps a design system alive. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f167898. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteGrepGlobBash(cat:*)Bash(find:*)Bash(head:*)Bash(ls:*)Bash(npx eslint:*)Bash(npx stylelint:*)…and 1 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxchangesetFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Governance Encoder loads about 2.6k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 1,377 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from murphytrueman/design-system-ops at commit f167898, republished under its MIT licence (© murphytrueman). 1,377 words, ~2,626 tokens.
.claude/skills/governance-encoder/SKILL.md (or your agent's skills folder).A skill for turning the governance rules a team has written down into enforcement that actually runs: linter rules, dependency boundaries, code ownership and CI checks, each traced to the document it came from. Rules with no executable form are written to a short governance page that says who checks them and when, so nothing is presented as automated when it isn't.
Confirm that every path in this skill's frontmatter references: exists relative to this SKILL.md. If any is missing, stop: the install is incomplete, usually because a flattening installer (for example npx skills install) dropped the repo-root knowledge-notes/ directory. Tell the user to reinstall by a method in 1-INSTALL.md and run verify-install.sh from the install root. Proceed without the references only if the user explicitly says to, and then say in the output that it was produced without the pack's reference material.
Most design system governance lives in documents: contribution guidelines in a wiki, naming conventions in a README, token rules in a Slack thread from a year ago. They are enforced by review, when a senior reviewer happens to notice. That model breaks at scale, and it breaks completely for coding agents, which never read the wiki.
The tools that enforce rules already exist. ESLint has a naming-convention rule. Stylelint can forbid raw values in colour properties. dependency-cruiser can stop an atom importing an organism. CODEOWNERS can require the system team's review on token files. A design system's governance-as-code is not a new rule engine; it is those tools, configured to the team's rules, with each rule pointing back at the sentence that justifies it. This skill writes that configuration. An earlier version wrote JSON rules that nothing executed and called them "enforced automatically"; that is exactly the gap this version closes.
This skill encodes rules that exist. It doesn't decide what the rules should be (decision-record records that), write the CI workflow that runs the linters (cicd-integration), or audit compliance (token-compliance, naming-audit, component-api-validator do that). If the team has no written rules and can't state any, there is nothing to encode; say so and suggest contribution-workflow.
If .ds-ops-config.yml exists, follow the configuration-and-recurring knowledge note (../../knowledge-notes/configuration-and-recurring.md). This skill reads:
system.framework, system.styling, system.component_paths, system.tokensgovernance.severity_model — how the team maps rule weight to linter levels (default: block-on-merge rules are error, review-prompting rules are warn)governance.categories — which rule categories to look for (default: all below)Read before asking. Sources, in order:
CONTRIBUTING.md, PR and issue templates, review checklistseslint.config.* or .eslintrc*, .stylelintrc*, .dependency-cruiser.*, CODEOWNERS, commitlint, Changesets configpackage.json scripts and the CI workflow, for what already runsFor each rule found, one row:
| Rule (one sentence) | Source (path or URL) | Enforced today by | Executable form |
|---|---|---|---|
| Component export names are PascalCase | CONTRIBUTING.md#naming | PR review | ESLint @typescript-eslint/naming-convention |
| Component styles use semantic tokens, never primitives | tokens/README.md | nobody | Stylelint declaration-property-value-disallowed-list |
| Token file changes need the system team's review | CONTRIBUTING.md#tokens | habit | CODEOWNERS |
| New components need a design review before merge | wiki | nobody | none: GOVERNANCE.md |
Then ask only for what the files don't say: rules that live in the team's heads (each becomes a row with source team), rules that are written but nobody wants enforced, and how strict the team wants to be at first.
Use the executable form that already exists in the ecosystem. The table is the menu; pick per rule, per stack.
| Rule kind | Tool and rule | Notes |
|---|---|---|
| Component or file naming | ESLint @typescript-eslint/naming-convention; unicorn/filename-case for files | Vue: vue/component-definition-name-casing |
| Boolean prop prefixes, handler names | @typescript-eslint/naming-convention with a typeProperty selector and prefix | Partial: it can't tell a boolean prop from a boolean local. Mark it warn and say so |
| No raw colour, spacing or type values in styles | Stylelint stylelint-declaration-strict-value on the token-backed properties | Tailwind: eslint-plugin-tailwindcss no-arbitrary-value |
| No primitive tokens in component styles | Stylelint declaration-property-value-disallowed-list matching the primitive prefix (`/var(--color-(blue | gray |
| No local re-implementations or deep imports | ESLint no-restricted-imports (block @system/*/src/*, block copied-in paths) | |
| Layer boundaries (atoms don't import organisms) | dependency-cruiser rules, or eslint-plugin-boundaries | Only if the codebase has layers |
| Accessibility basics in JSX or templates | eslint-plugin-jsx-a11y (React), eslint-plugin-vuejs-accessibility (Vue) | Runtime a11y is accessibility-per-component's job |
| Deprecated components and tokens must not be newly used | @typescript-eslint/no-deprecated on @deprecated JSDoc; no-restricted-imports for removed paths | Pairs with deprecation-process |
| Every exported component has docs | eslint-plugin-jsdoc require-jsdoc on exported components; a stories-present check is a script for cicd-integration | |
| Token, theme or contribution files need system-team review | CODEOWNERS | Requires branch protection or rulesets, which cicd-integration documents |
| Every release has a changelog entry | Changesets (changeset status in CI) or commitlint with conventional commits | Which one is the team's call; encode the one they use |
| Design review, accessibility audit, decision record before merge | No executable form. GOVERNANCE.md with owner and checkpoint; a PR template checkbox at most | Never claim these are automated |
// GOV: <rule sentence> — source: CONTRIBUTING.md#naming. In JSON configs that can't carry comments, put the trace in GOVERNANCE.md next to the rule id.no-restricted-imports, the paths in CODEOWNERS all come from the repository, not from the example in Step 2.warn; Step 5 says when a rule is ready to become error.GOVERNANCE.md (in docs/ or beside CONTRIBUTING.md): one table of every rule from Step 1 with its source, its tool and rule id or "manual", who checks it and at which point (PR review, release, quarterly), and the exception route the team stated. Then a "Proposed, not yet policy" list for anything you suggested that no source supports, each with a one-line reason, for the team to accept or delete. An exception process is written only if the team has one; don't invent approval levels.Run each tool in report mode against the repository (npx eslint . --format json, npx stylelint "**/*.css" --formatter json, npx depcruise src) and count current violations per added rule. Report the counts. A rule that fires four hundred times on day one ships as warn with a note that it needs a cleanup pass (a token-compliance run gives the list); a rule that fires zero times may be misconfigured, so confirm it fires on a known-bad line before trusting the zero, per the empty-result rule in the output-discipline note. Don't fix violations in this run.
GOVERNANCE.md as manual, rules proposederrorcicd-integration to run these in CI and document branch protection; token-compliance for the cleanup list; decision-record for any rule the team argued aboutteam; no rule exists in the config that isn't in the Step 1 tableGOVERNANCE.md with a human checkpoint© murphytrueman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/governance-encoder of murphytrueman/design-system-ops.
Open the folder on GitHubat commit f167898
Governance Encoder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Governance Encoder this skillmurphytrueman/design-system-ops | 203 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Modern Web GuidanceJetBrains/skills | 364 | 3 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Frappe Testing CicdImpertio-Studio/Frappe_Claude_Skill_Package | 187 | — | ~3.2k | Automated safety check: Notes | MIT | |
| Lint Newgetsentry/sentry | 46k | — | ~1.8k | Automated safety check: Pass | Custom licence | |
| Typescript Styletjx666/vscode-mcp | 106 | — | ~961 | Automated safety check: Pass | Custom licence | |
| Configuration GeneratorArabelaTso/Skills-4-SE | 253 | — | ~2.8k | Automated safety check: Notes | Apache-2.0 |
JetBrains/skills
Search tool for modern web development best practices. An agent skill from JetBrains/skills.
Impertio-Studio/Frappe_Claude_Skill_Package
A skill your agent uses when setting up CI/CD pipelines for Frappe apps, configuring GitHub Actions test workflows, or adding linting and security scanning.
getsentry/sentry
Create a new ESLint rule with tests for eslintPluginScraps. An agent skill from getsentry/sentry.
tjx666/vscode-mcp
TypeScript code style and repo conventions for VSCode MCP — inference vs explicit types, ESM import suffixes, zod schema contracts, async VSCode/Node APIs, JSON-safe IPC results, JSDoc for public…
ArabelaTso/Skills-4-SE
Generate configuration files for applications, services, and infrastructure.
managedcode/dotnet-skills
Use Biome in .NET repositories that ship Node-based frontend assets and want a fast combined formatter-linter-import organizer for JavaScript, TypeScript, CSS, JSON, GraphQL, or HTML.
murphytrueman/design-system-ops
Write the AGENTS.md that tells coding agents how to use this design system: where things live, sourced rules, how to check work, what not to do; Claude, Cursor or Copilot pointers on request.
murphytrueman/design-system-ops
Write a six-section prose description (purpose, props, anti-patterns, composition, accessibility, examples) for a Figma component's description field so LLMs read it via MCP.
murphytrueman/design-system-ops
Write release notes, a migration guide and a team announcement for a design system change that is already decided, scaled to its impact.
murphytrueman/design-system-ops
Generate machine-readable index files in .ai/index/ (component inventory, uses/usedBy graph, stats) for AI agents.
murphytrueman/design-system-ops
Generate tested jscodeshift/postcss codemods for design system migrations: token renames, prop renames or removals, import paths, component swaps.
murphytrueman/design-system-ops
Audit prop APIs across a component library: naming consistency, boolean/default patterns, type coverage, exported types, breaking changes between versions.
Works with
Categories
Turn written governance rules into enforcement that runs: ESLint, Stylelint, dependency-cruiser and CODEOWNERS config traced to sources, plus GOVERNANCE.md for rules with no executable form. Governance Encoder is an agent skill from murphytrueman/design-system-ops.md for rules with no executable form.
Governance Encoder fits situations like: tasks that involve Linting and formatting; tasks that involve CI/CD.
Run `npx skills add murphytrueman/design-system-ops --skill governance-encoder -a claude-code`. Or copy the skill folder (skills/governance-encoder in murphytrueman/design-system-ops) into .claude/skills/governance-encoder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add murphytrueman/design-system-ops --skill governance-encoder -a codex`. Or copy the skill folder (skills/governance-encoder in murphytrueman/design-system-ops) into .agents/skills/governance-encoder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add murphytrueman/design-system-ops --skill governance-encoder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/governance-encoder, .gemini/skills/governance-encoder, .github/skills/governance-encoder and .opencode/skills/governance-encoder in your project.
Going by SKILL.md and its folder, Governance Encoder needs the command-line tools its instructions call (npx and changeset). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Grep, Glob, Bash(cat:*), Bash(find:*), Bash(head:*), Bash(ls:*), Bash(npx eslint:*), Bash(npx stylelint:*), Bash(npx depcruise:*).
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Governance Encoder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Governance Encoder: Modern Web Guidance (JetBrains/skills, 364 stars), Frappe Testing Cicd (Impertio-Studio/Frappe_Claude_Skill_Package, 187 stars), Lint New (getsentry/sentry, 46k stars) and Typescript Style (tjx666/vscode-mcp, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
murphytrueman (a GitHub user) maintains it in murphytrueman/design-system-ops, which has 203 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 24, 2026.
Source: murphytrueman/design-system-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.