agentleFS
tovrleaftovrleaf/openkata/skills/create-rule/SKILL.md

create-rule

Skill1 starsChanged 13 days agoMITView on GitHub

Creates rule files that define always-on constraints for agent sessions. Investigates the repo for existing conventions, writes a RULE.md with clear structure, and validates against real usage. Use when the user wants to create a rule, add a convention, enforce a standard, establish a project-wide constraint, define coding style, standardize formatting across generated files, notices inconsistent output across sessions, or is setting up a new project's conventions.

18 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use review-bugbot, update-cli-config and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • 0mlkrizzz655335vSkill

    review-bugbot

    缺陷导向代码审查。用 Bugbot 子代理找 bug。

    Also in 5 projects that use this

  • PandelisZSkill

    update-cli-config

    View and modify Cursor CLI configuration settings in ~/.cursor/cli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences.

    Also in 7 projects that use this

  • 0mlkrizzz655335vSkill

    origin

    origin CLI 管理。安装、登录、更新、修复 origin.cursor.com 的 CLI。"disabled-environments:

    Also in 3 projects that use this

  • Tsumugii24Skill

    split-to-prs

    Split current work into small reviewable PRs. Use when the user asks to split a chat, set of changes, branch, or PR.

    Also in 7 projects that use this

  • MicrosoftSkill

    create-hook

    Create a hook (.json) to enforce policy or automate agent lifecycle events.

    Also in 9 projects that use this

  • testdino-hqSkill

    shell

    Google's official Shell scripting style guide. Covers Bash scripting, naming conventions, error handling, portability, and shell best practices.

    Also in 7 projects that use this

  • +3 more from 0mlkrizzz655335v

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create rules — always-on constraints applied to every agent session.

    line 19
  2. Distinctive:

    Don't ask the user what you can look up yourself.

    line 37
  3. Distinctive:

    Verify the conventions are consistent with what's already there

    line 70

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “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

Create Rule

Create rules — always-on constraints applied to every agent session. Unlike skills, rules don't need triggers. They're loaded at session start and apply to all work.

Workflow

  1. Gather intent — Understand what the rule should enforce. Collect:
    • A short name (lowercase, hyphenated)
    • What conventions or constraints to enforce
    • Any style guides or standards to draw from
  2. Investigate the repo — Before asking questions, search for facts that reduce ambiguity:

    • Existing rules and conventions
    • Style guides, linter configs, or formatting standards
    • Patterns in existing files that reveal implicit conventions

    Don't ask the user what you can look up yourself.

  3. Clarify — Ask only questions that materially affect the rule. Push until these are clear:
    • Which file types or contexts the rule applies to
    • Hard requirements vs preferences
    • Any exceptions or edge cases
  4. Write RULE.md — Structure:

    # Rule Name
    
    Brief description of what this rule enforces.
    
    ## Section
    
    - Convention one
    - Convention two

    Writing principles:

    • Be specific. "Use - for unordered lists" is enforceable. "Use consistent formatting" is not.
    • State conventions, not explanations. The agent doesn't need to know why a convention exists to follow it.
    • Group by concern. Separate sections for structure, spacing, emphasis, etc.
    • Keep it short. Rules are loaded every session — every line costs tokens on every interaction.
  5. Validate — Check the rule against existing files:
    • Pick 2–3 representative files in the repo
    • Verify the conventions are consistent with what's already there
    • Note any conflicts with existing patterns
  6. Confirm — Show the user the created rule and ask if adjustments are needed.

Example Scenario

User: "Every model formats markdown differently, I want consistency."

  1. Skill checks repo for .editorconfig, linter configs, existing rules — finds none
  2. Asks: "Which conventions matter most — headings, lists, code blocks, line length?"
  3. Reads 2–3 existing markdown files to extract implicit patterns
  4. Creates markdown-style/RULE.md with specific, enforceable conventions grouped by concern:

    # Markdown Style
    
    Enforces consistent markdown formatting across all generated files.
    
    ## Lists
    
    - Use `-` for unordered list items, never `*` or `+`.
    - Indent nested lists with 2 spaces.
    
    ## Headings
    
    - Use ATX headings (`#`), never setext (`===` or `---`).
    - One blank line before and after every heading.
    
    ## Code Blocks
    
    - Use fenced code blocks (` ``` `) with an explicit language tag.
    - Never use indented code blocks.
    
    ## Line Length
    
    - Wrap prose at 80 characters.
    - Do not wrap code blocks or tables.
  5. Validates against existing files — no conflicts

Common Failures

  • Too vague to enforce — "use consistent formatting" is unenforceable. "Use - for unordered lists" is clear.
  • Conflicts with existing tooling — the rule says one thing, the linter config says another. Check for .editorconfig, linter configs, and formatter settings first.
  • Too long — rules load every session. A 200-line rule costs tokens on every interaction, even when irrelevant.
  • Overlaps with existing rules — check .agents/rules/ for rules that already cover the same concern.

A good rule is enforceable by reading it literally. If an agent has to interpret intent, the rule is too vague.

Quality Checklist

Before finalizing, verify:

Design

  • Every convention is specific enough to apply mechanically
  • No convention requires inferring intent
  • Sections are grouped by concern, not by discovery order

Validation

  • Checked 2–3 existing repo files — no conflicts found
  • Checked .editorconfig, linter configs, and formatters
  • Checked .agents/rules/ for overlapping rules

Token efficiency

  • No sentence that restates another
  • No explanations — only conventions
  • Rule is as short as it can be while remaining complete

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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.