{"slug":"ai-rulez","title":"ai-rulez","summary":"Standards-compliant lifecycle tool for agent knowledge and capabilities: author in .ai-rulez/, generate for 52 harnesses (Claude Code, Cursor, Codex, Copilot, Gemini CLI, OpenCode, Devin, and more), bundle (OKF, Agent Plugins, ARD), validate, govern (lock, approvals, signing, SBO","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-16T16:28:36.67559Z","repo":{"url":"https://github.com/Goldziher/ai-rulez","stars":162,"forks":16,"license":"MIT","updatedAt":"2026-10-16T13:56:06Z"},"bodyHtml":"<hr>\n<h2>name: ai-rulez\ndescription: &gt;-\nStandards-compliant lifecycle tool for agent knowledge and capabilities:\nauthor in .ai-rulez/, generate for 52 harnesses (Claude Code, Cursor, Codex,\nCopilot, Gemini CLI, OpenCode, Devin, and more), bundle (OKF, Agent Plugins,\nARD), validate, govern (lock, approvals, signing, SBOM) and publish. Use when\nconfiguring rules, context, skills, checks, hooks, permissions, domains,\nprofiles, includes, plugins, or generating tool-specific outputs.\nlicense: MIT\nmetadata:\nauthor: Goldziher\nversion: \"5.4.1\"\nrepository: <a href=\"https://github.com/Goldziher/ai-rulez\">https://github.com/Goldziher/ai-rulez</a></h2>\n<h1>AI-Rulez</h1>\n<p>AI-Rulez is a standards-compliant lifecycle tool for agent knowledge and capabilities. It keeps one source of truth in a config directory (default <code>.ai-rulez/</code>) and takes it through author, generate (52 built-in harness presets: Claude Code, Cursor, Codex, Copilot, Gemini CLI, OpenCode, Devin, and others), bundle (OKF, Agent Plugins, ARD), lint and validate, govern (lock, approvals, Sigstore signing, policy, SBOM) and publish.</p>\n<p>Use this skill when:</p>\n<ul>\n<li>Setting up or modifying <code>.ai-rulez/</code> configuration</li>\n<li>Writing rules, context, skills, agents, commands, or checks for AI assistants</li>\n<li>Declaring <code>[[hooks]]</code> or <code>[permissions]</code> once for every harness</li>\n<li>Generating a personal config into the home directory with <code>generate --user</code></li>\n<li>Configuring domains, profiles, or includes</li>\n<li>Using custom config directory names via <code>--config-dir</code></li>\n<li>Generating outputs for specific AI tools</li>\n<li>Auditing planned writes/deletes with <code>--dry-run</code></li>\n<li>Installing or managing external skills</li>\n</ul>\n<h2>Installation</h2>\n<pre><code># npm (no install)\npnpm dlx ai-rulez@5.4.1\n\n# Python (no install)\nuvx ai-rulez==5.4.1\n\n# Source builds (Go + Task; setup fetches and verifies the pinned native library)\n# Checkout the source revision pinned in this repository's CI, then:\ntask build\n</code></pre>\n<p>Package commands use the published release. Source builds also need the pinned\nLiter-LLM native library: <code>task build</code> provisions it through\n<code>scripts/setup-liter-llm.sh</code>; a bare <code>go install</code> does not do that setup.\nVersion 5.4.0 includes the governance and plugin validation fixes described below.\nFor a reviewed source build, use the exact revision recorded in the CI workflow.</p>\n<h2>Quick Start</h2>\n<pre><code># Initialize a new project\nai-rulez init\n\n# Add rules and context\nai-rulez add rule my-rule --priority high\nai-rulez add context my-context\n\n# Generate outputs for all configured presets\nai-rulez generate\n\n# Regenerate whenever .ai-rulez/ changes\nai-rulez generate --watch\n\n# Validate configuration\nai-rulez validate\n\n# Read-only diagnostics: drift, removed presets, missing tools\nai-rulez doctor\n</code></pre>\n<h2>Lifecycle commands</h2>\n<pre><code>ai-rulez generate --plugin              # bundle: plugin bundles from the [plugin] block\nai-rulez export okf                     # bundle: an OKF bundle of the knowledge\nai-rulez validate --strict              # validate: warnings fail\nai-rulez okf validate &lt;bundle-dir&gt;      # validate: an existing OKF bundle directory\nai-rulez lock                           # govern: pin includes, skills and content\nai-rulez sign --lock                    # govern: Sigstore attestation of the lock\nai-rulez sbom -o ai-bom.cdx.json        # govern: CycloneDX SBOM\nai-rulez publish --dry-run              # publish: preview release artifacts\n</code></pre>\n<p>Supported and planned standards, with pinned versions and test status, are in\n<a href=\"https://goldziher.github.io/ai-rulez/standards/\">https://goldziher.github.io/ai-rulez/standards/</a>.</p>\n<h2>Other sources and config-free checks</h2>\n<ul>\n<li><code>source = \"agents\"</code> (or a configuration in <code>.agents/ai-rulez.toml</code>) reads the root and nested <code>AGENTS.md</code> and <code>.agents/</code> (skills, rules, agents, checks, commands, context, domains) instead of <code>.ai-rulez/</code>; <code>generate</code> translates them to every other tool and never writes <code>AGENTS.md</code> or <code>.agents/</code>. <code>agents_md_split = true</code> reads <code>AGENTS.md</code> as one item per <code>##</code> heading. Start with <code>ai-rulez init --source agents</code>.</li>\n<li><code>ai-rulez validate --strict</code> works in a repository with no ai-rulez config, linting the files that follow a convention; <code>--path</code>, <code>--glob</code> and <code>--outputs</code> choose what else to lint.</li>\n<li><code>ai-rulez judge --estimate --model openai/gpt-4o-mini</code> previews a model grading of instruction files, again with no config; add <code>--allow-llm</code> to send.</li>\n</ul>\n<h2>Configuration Structure</h2>\n<pre><code>.ai-rulez/\n  config.toml          # Governance configuration\n  config.plugins.toml  # Plugin and marketplace layer, selected by default_layers\n  rules/               # Governance rules (.md files with frontmatter)\n  context/             # Contextual information (.md files)\n  skills/              # Specialized capabilities (name/SKILL.md plus resources)\n  agents/              # Agent definitions (.md files)\n  commands/            # Custom commands (.md files)\n  checks/              # Code-review guidelines (.md files)\n  domains/             # Domain-scoped content\n    backend/\n      rules/\n      context/\n      skills/\n</code></pre>\n<h2>config.toml</h2>\n<p>Keep governance in <code>config.toml</code>. Put marketplace registries (<code>[[marketplaces]]</code>) and authoring\n<code>[plugin]</code>/<code>[marketplace]</code> blocks in <code>config.plugins.toml</code>, and select that layer with\n<code>default_layers = [\"plugins\"]</code> before the first table in <code>config.toml</code>. Plugin authoring\ncan use a separate <code>plugin/.ai-rulez/</code> tree so public product skills exclude contributor rules.</p>\n<pre><code>version = \"5.0\"\nname = \"my-project\"\ndescription = \"Project description\"\n\npresets = [\"claude\", \"cursor\", \"gemini\"]\ndefault_layers = [\"plugins\"]\ndefault = \"backend\"\nbuiltins = [\"go\", \"security\", \"testing\"]\n\n[profiles]\nbackend = [\"backend\", \"shared\"]\nfrontend = [\"frontend\", \"shared\"]\n\n[[includes]]\nname = \"shared-rules\"\nsource = \"https://github.com/org/shared-rules\"\n\n[[installed_skills]]\nname = \"kreuzberg\"\nsource = \"https://github.com/kreuzberg-dev/kreuzberg\"\n\n[[mcp_servers]]\nname = \"ai-rulez\"\ncommand = \"pnpm\"\nargs = [\"dlx\", \"ai-rulez@5.4.1\", \"mcp\"]\n\n[[scopes]]\npath = \"packages/web\"\nprofile = \"frontend\"\npresets = [\"codex\", \"claude\"]\n</code></pre>\n<h2>Content Frontmatter</h2>\n<p>Authored <code>.ai-rulez/</code> content uses OKF frontmatter: <code>type</code>, <code>title</code> and an\n<code>x-ai-rulez</code> identity. Tool-specific fields belong in <code>x-ai-rulez.metadata</code>.\nUse <code>Principle</code> for rules, <code>Concept</code> for context, <code>Playbook</code> for skills and\n<code>Reference</code> for agents. For example, <code>.ai-rulez/rules/project-conventions.md</code>:</p>\n<pre><code>---\ntype: Principle\ntitle: Project conventions\ndescription: Shared project conventions\nx-ai-rulez:\n  kind: rule\n  id: project-conventions\n  metadata:\n    priority: high\n    targets:\n      - CLAUDE.md\n      - .cursor/rules/*\n---\n</code></pre>\n<p><code>priority</code> accepts <code>critical</code>, <code>high</code>, <code>medium</code>, <code>low</code> and <code>minimal</code>. Older flat\nfrontmatter remains readable for migration; run <code>ai-rulez migrate okf</code> to convert\nit and <code>ai-rulez migrate okf --check</code> to verify the authored tree.</p>\n<p>For public plugin skills, set <code>x-ai-rulez.metadata.name</code> to a stable lowercase\nslug matching the skill directory and <code>x-ai-rulez.id</code>. This supplies the required\nnative Agent Skills name across runtime projections.</p>\n<p>Public <code>skills/&lt;name&gt;/SKILL.md</code> exports use native Agent Skills frontmatter,\nincluding <code>name</code> and <code>description</code>, without the OKF wrapper. This public skill\nis such an export; its frontmatter is not the authoring format for <code>.ai-rulez/</code>.</p>\n<h3>Agent-only fields</h3>\n<p>Agent files under <code>.ai-rulez/agents/</code> put native subagent fields inside\n<code>x-ai-rulez.metadata</code>. Supported fields render into the configured harness;\nfields a harness does not support are omitted. For example, create\n<code>.ai-rulez/agents/&lt;agent-id&gt;.md</code> with <code>security-reviewer</code> as the ID:</p>\n<pre><code>---\ntype: Reference\ntitle: Security reviewer\ndescription: Reviews code for security regressions\nx-ai-rulez:\n  kind: agent\n  id: security-reviewer\n  metadata:\n    name: security-reviewer\n    model: opus\n    effort: high\n    permissionMode: default\n    tools:\n      - Read\n      - Grep\n      - Glob\n---\n</code></pre>\n<p>Claude Code receives these fields in <code>.claude/agents/&lt;agent-id&gt;.md</code> using\nits native flat frontmatter. Keep the authored OKF file and generated native\nfile distinct.</p>\n<p><code>effort</code> controls reasoning depth. Set a project-wide default and per-preset\noverrides in <code>config.toml</code>:</p>\n<pre><code>[defaults]\neffort = \"medium\"\n\n[defaults.effort_by_preset]\ncodex = \"high\"      # Codex applies it globally and per agent\nclaude = \"xhigh\"    # Claude applies it as `effort` per agent\namp = \"max\"         # Amp writes amp.anthropic.effort to .amp/settings.json\n</code></pre>\n<p>Resolution order (per preset, per agent): per-agent <code>effort</code> →\n<code>defaults.effort_by_preset[&lt;preset&gt;]</code> → <code>defaults.effort</code> → omit.</p>\n<p>Per-preset support:</p>\n<ul>\n<li><strong>Claude</strong>: per-agent in <code>.claude/agents/*.md</code> (full vocabulary including <code>max</code>; <code>inherit</code> is not a Claude value and is dropped)</li>\n<li><strong>Codex</strong>: global in <code>.codex/config.toml</code> and per-agent in <code>.codex/agents/*.toml</code> (<code>max</code> → <code>high</code>; <code>inherit</code> dropped)</li>\n<li><strong>Amp</strong>: global in <code>.amp/settings.json</code> (<code>xhigh</code> → <code>high</code>)</li>\n<li><strong>Devin</strong>: per-agent in <code>.devin/agents/*.md</code> frontmatter (<code>max</code> → <code>high</code>)</li>\n<li><strong>Opencode</strong>: per-agent <code>variant</code> in <code>.opencode/agents/*.md</code> (joins the agent's <code>model</code> as <code>model#variant</code>)</li>\n<li>Cursor, Copilot, Gemini, Junie, Antigravity, Cline: silently skipped (those tools expose effort via UI toggles or user-managed config files we don't generate).</li>\n</ul>\n<h2>Domains and Profiles</h2>\n<p>Domains group content for different teams or concerns. Profiles select which domains are active.</p>\n<pre><code>ai-rulez domain add backend\nai-rulez add rule api-standards --domain backend\nai-rulez profile add backend-team backend shared\nai-rulez generate --profile backend-team\n</code></pre>\n<h2>Includes</h2>\n<p>Share rules across projects using git repositories or local paths:</p>\n<pre><code>ai-rulez include add shared-rules https://github.com/org/shared-rules\nai-rulez include add local-rules ./path/to/local --merge-strategy include-override\n</code></pre>\n<h2>Installed Skills</h2>\n<p>Install named skills from external repositories:</p>\n<pre><code>ai-rulez skill install kreuzberg --source https://github.com/kreuzberg-dev/kreuzberg\nai-rulez skill install ai-rulez --source https://github.com/Goldziher/ai-rulez\nai-rulez skill list\nai-rulez skill remove kreuzberg\n</code></pre>\n<p>Skills are fetched dynamically at generation time and included in outputs.\nSkill <code>references/</code>, <code>scripts/</code>, and <code>assets/</code> directories are preserved as separate generated resource files when the target preset supports skill directories.</p>\n<h2>Built-in Presets</h2>\n<p>52 presets are available (<code>ai-rulez init</code> writes the list into a comment in the new <code>config.toml</code>): <code>aiassistant</code>, <code>amp</code>, <code>antigravity</code>, <code>augment</code>, <code>baz</code>, <code>bob</code>, <code>claude</code>, <code>cline</code>, <code>codebuddy</code>, <code>codebuff</code>, <code>codewhale</code>, <code>codex</code>, <code>commandcode</code>, <code>copilot</code>, <code>copilot-cli</code>, <code>cortex</code>, <code>crush</code>, <code>cursor</code>, <code>deepagents</code>, <code>devin</code>, <code>dsh</code>, <code>factory</code>, <code>gemini</code>, <code>gitlab-duo</code>, <code>goose</code>, <code>grok</code>, <code>hermes</code>, <code>junie</code>, <code>kilo</code>, <code>kimi</code>, <code>kiro</code>, <code>letta</code>, <code>mimocode</code>, <code>muse</code>, <code>omp</code>, <code>openclaw</code>, <code>opencode</code>, <code>pi</code>, <code>poolside</code>, <code>qoder</code>, <code>qwen</code>, <code>reasonix</code>, <code>replit</code>, <code>rovodev</code>, <code>takt</code>, <code>trae</code>, <code>vibe</code>, <code>warp</code>, <code>xum</code>, <code>zcode</code>, <code>zed</code>, <code>zoocode</code>, plus the opt-in <code>okf</code> preset (creates an Open Knowledge Format bundle at <code>&lt;project-root&gt;/docs/okf/</code> by default; see <code>ai-rulez export okf</code>). The <code>mcp</code> preset is a shared utility (the generic <code>.mcp.json</code>) invoked automatically when MCP servers are configured.</p>\n<p><code>windsurf</code> is now <code>devin</code> and <code>continue-dev</code> was removed; <code>ai-rulez doctor</code> reports both. <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/harnesses.md\">harnesses.md</a> has the per-preset feature matrix (rules folder, skills, agents, commands, MCP, hooks, permissions, checks, user scope).</p>\n<h2>Hooks, Permissions, Checks and User Scope</h2>\n<ul>\n<li><code>[[hooks]]</code> in <code>config.toml</code> renders into the native hooks file of 36 harnesses (a generated plugin module for <code>opencode</code>, <code>kilo</code>, <code>mimocode</code>, <code>pi</code> and <code>amp</code>). Events, matchers and timeouts are translated per harness; a group a harness cannot express is skipped with a warning. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/settings.md\">settings.md</a>.</li>\n<li><code>[permissions]</code> (<code>allow</code>, <code>ask</code>, <code>deny</code>, Claude Code rule syntax) is translated for 24 harnesses. A rule that cannot be expressed is skipped, never widened, and an unenforced deny is reported. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/permissions.md\">permissions.md</a>.</li>\n<li>Checks are code-review guidelines in <code>.ai-rulez/checks/&lt;name&gt;.md</code> (OKF <code>description</code> and <code>x-ai-rulez.metadata</code> fields <code>severity</code>, <code>tools</code>, <code>targets</code>), rendered for <code>cursor</code>, <code>kilo</code>, <code>qwen</code>, <code>factory</code>, <code>rovodev</code>, <code>amp</code>, <code>augment</code> and <code>gitlab-duo</code>. Manage them with <code>ai-rulez add|remove|list check</code>. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/checks.md\">checks.md</a>.</li>\n<li><code>ai-rulez generate --user</code> renders a user config (<code>~/.config/ai-rulez</code>) into the home directories of 47 harnesses; <code>clean --user</code> removes what it wrote. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/user-scope.md\">user-scope.md</a>.</li>\n<li>Settings files you also edit (JSON, JSONC, TOML, YAML) are merged key by key, so your own keys and comments survive <code>generate</code> and <code>clean</code>.</li>\n<li><code>[guard] generated = true</code> adds a PreToolUse hook (<code>ai-rulez guard</code>) that blocks agent edits to generated files and points at the source under <code>.ai-rulez/</code>.</li>\n</ul>\n<h2>Lock, Updates and Verification</h2>\n<ul>\n<li><code>ai-rulez lock</code> writes <code>ai-rulez.lock</code>: commits and digests of remote includes, installed skills and skill sources, plus every authored item and generated output. It is enforced whenever the file exists (<code>[lock] enforce = false</code> opts out). <code>lock --check</code> verifies offline, <code>--diff</code> previews, <code>--subject</code> prints the digest to sign with cosign, <code>generate --locked</code>/<code>--frozen</code> are the CI modes. Exit codes: <code>0</code> ok, <code>1</code> could not run, <code>2</code> drift, <code>3</code> served skills left unpinned by the security scan. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/lockfile.md\">lockfile.md</a>.</li>\n<li>Sources accept <code>version = \"^1.2\"</code>; <code>ai-rulez lock --outdated</code> lists newer tags and <code>ai-rulez update</code> moves range pins (codes <code>AR730</code>, <code>AR731</code>, <code>AR732</code>, <code>AR735</code>).</li>\n<li><code>ai-rulez validate</code> runs deep content checks with stable <code>AR</code> codes (<code>--fix</code>, <code>--since</code>, <code>--baseline</code>, <code>--format json|sarif|github|junit|markdown</code>); <code>ai-rulez scan</code> runs only the security checks; <code>validate --explain AR001</code> explains a rule. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/strict-validation.md\">strict-validation.md</a>.</li>\n<li><code>[[verifiers]]</code> and <code>.ai-rulez/verifiers/*.toml</code> declare deterministic repo checks run by <code>ai-rulez verifiers run</code> (<code>--since</code>, <code>--staged</code>, <code>--format sarif|junit</code>).</li>\n<li><code>ai-rulez sbom</code> prints a CycloneDX bill of materials, <code>ai-rulez catalog</code> lists every item with owner, version, tokens and lock status (<code>--html &lt;dir&gt;</code> writes a static site), <code>ai-rulez tokens</code> and <code>cost</code> report prompt-token cost, <code>ai-rulez search &lt;query&gt;</code> ranks skills.</li>\n<li><code>ai-rulez convert</code> imports existing tool files, a rulesync project or a <code>skills-lock.json</code> into <code>.ai-rulez/</code> with a lossiness report.</li>\n</ul>\n<h2>Roles and Dynamic Skills</h2>\n<ul>\n<li><code>[[roles]]</code> map a job to a slice of the content (<code>domains</code>, <code>include</code>/<code>exclude</code> selectors, <code>skill_mode</code>); <code>generate --role &lt;name&gt;</code> renders it and <code>ai-rulez roles list|show|resolve</code> inspects it. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/roles.md\">roles.md</a>.</li>\n<li><code>delivery: static|served|both</code> in an authored skill's <code>x-ai-rulez.metadata</code> (or <code>[skills] delivery</code>) serves a skill over MCP on demand instead of writing it to the harness trees: run <code>ai-rulez mcp --serve-skills</code> (<code>find_skill</code>, <code>load_skill</code>, <code>list_skill_resources</code>). <code>[[skill_sources]]</code> serve skills from a git repository or directory. See <a href=\"https://github.com/Goldziher/ai-rulez/blob/main/docs/mcp-server.md\">mcp-server.md</a>.</li>\n</ul>\n<p>A tool that isn't built in can be supported at full parity with a provider-backed custom preset: set <code>provider = \"&lt;project-relative spec.toml&gt;\"</code> and point it at a declarative spec validated against <code>schema/provider.schema.json</code>. See the <code>ai-rulez</code> references for the spec shape.</p>\n<h2>MCP Integration</h2>\n<p>MCP servers are configured inline in <code>config.toml</code> with <code>[[mcp_servers]]</code>. ai-rulez exposes an MCP server for AI assistants to read, create, update, validate, dry-run, and generate configuration:</p>\n<pre><code>ai-rulez mcp\n</code></pre>\n<p>Configure in your AI tool's MCP settings to enable CRUD operations from within the assistant.</p>\n<p>MCP server env values can use <code>${VAR}</code> placeholders. <code>ai-rulez generate</code> resolves them from <code>--env</code>,\nprocess env, and dotenv files, then refuses to write secret-bearing generated MCP configs unless the\ntarget paths are gitignored (<code>gitignore = true</code> or <code>generate --gitignore</code> adds them to the managed block).</p>\n<h2>Plugins and Marketplaces</h2>\n<p>ai-rulez can package the same source (skills, commands, agents, MCP servers) as distributable plugin bundles and a marketplace index for Claude, Cursor, Codex, Gemini, Kimi, OpenCode, Factory, Hermes, Pi, Agent Plugins and Copilot via <code>ai-rulez generate --plugin</code>. Consumer <code>[[plugins]]</code>/<code>[[marketplaces]]</code> arrays declare plugins to install from a marketplace (no output file is written for them: <code>generate</code> warns that <code>[[plugins]]</code> has no effect; enable plugins through <code>[claude.settings]</code> for Claude Code and <code>.codex/config.toml</code> for Codex).</p>\n<h2>Verification and distribution</h2>\n<p>Use <code>migrate okf --check</code>, <code>validate --strict --no-local</code>, <code>lock --check</code>, and\n<code>generate --check --no-local --strict-config</code> to check the authored configuration.\nFor published plugins, use <code>verify --plugin</code> before regenerating to detect existing\ndrift; after intentional regeneration, check it again and verify public skill exports.\nPackage from a committed tree with <code>publish --tag &lt;release-tag&gt;</code>, then run\n<code>publish verify &lt;dist-directory&gt;</code> on the actual archive. A successful local package\ndoes not publish a release or registry package.</p>\n<p>Version 5.4.0 includes fixes for registered marketplace members, both-layout MCP ownership,\nOpenCode skill IDs and shared include-cache locking. The repository validates with a reviewed\nsource build pinned in CI; use that exact source revision when reproducing its checks.</p>\n<p>The exact reviewed source revision is recorded in\n<code>.github/workflows/ai-rulez-validation.yml</code>. It includes the ID-only OKF skill\nprojection fix, strict Hermes package metadata, and cache isolation by configured\nsource path and revision. Use that workflow as the source of truth for the pin.</p>\n","files":[{"path":"references/cli-reference.md","sizeBytes":13923,"isText":true},{"path":"references/configuration.md","sizeBytes":9772,"isText":true},{"path":"references/includes-and-skills.md","sizeBytes":4528,"isText":true},{"path":"references/presets-and-outputs.md","sizeBytes":7541,"isText":true},{"path":"SKILL.md","sizeBytes":18188,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"notes-only","suspicious":0,"notes":3,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-16T16:28:43.475832Z","sha256":"EF1381D90CB4272F7C67D651C3A4C63EFFF3B12D7FCAE1697C90392A98BD70BA","sizeBytes":21791},"review":null,"source":{"repositoryUrl":"https://github.com/Goldziher/ai-rulez","path":"skills/ai-rulez","license":"MIT","commit":"ca967ad555fc84aa6e3594648676f209d4e8b546","subtreeSha":"B8E8E5AF24445E5CDEA37411C82B14C266C6B52CB4A89D6B052C6CAED033A1DC","lastSyncedAt":"2026-10-16T16:28:36.671871Z"},"reviewedAt":"2026-10-16T16:29:23.377735Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/Goldziher/ai-rulez/tree/main/skills/ai-rulez"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install goldziher-ai-rulez@llmmart"},{"target":"git","command":"git clone https://github.com/Goldziher/ai-rulez.git"}]}