Skip to content

Feature request: allow per-agent skills propagation instead of global --skills/--no-skills only #392

@456838

Description

@456838

Problem

Ruler currently treats skills propagation as a global switch.

From the README:

  • default_agents controls which agents are applied by default
  • skills are enabled by default
  • skills can only be controlled globally via:
    • ruler apply --skills
    • ruler apply --no-skills
    • [skills].enabled = true/false

In practice, this makes it hard to use Ruler in mixed-agent projects.

Example:

default_agents = ["codex", "trae", "cursor"]

[agents.codex]
enabled = true

[agents.cursor]
enabled = true

[agents.trae]
enabled = true

[agents.claude]
enabled = false

Even with only codex, trae, and cursor intended for active use, skills-related output can still become confusing, and there is no explicit way to say:

propagate skills to codex
propagate skills to cursor
do NOT propagate skills to claude
do NOT propagate skills to any other supported agent
Expected behavior
Ruler should support agent-level control for skills propagation.

Something like this would solve the problem:

[skills]
enabled = true

[agents.codex.skills]
enabled = true

[agents.cursor.skills]
enabled = true

[agents.trae.skills]
enabled = false

[agents.claude.skills]
enabled = false

Or equivalently:
[skills]
enabled = true
allowed_agents = ["codex", "cursor"]

Why this matters
default_agents is not expressive enough for skills distribution.

There are real cases where users want:

rules/config for some agents
skills only for a subset of those agents
clean repositories without extra generated skill directories for tools they are not using
Without per-agent control, the only safe option is disabling skills globally, which is too coarse.

Proposed solution
Any of these would help:

Per-agent skills enable/disable
Global skills.allowed_agents = [...]
ruler apply --skills-agents codex,cursor

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions