# /inject-standards — Load relevant coding standards into context

Loads one or more standards files from `.claude/standards/` and displays their full content.

## Usage

```
/inject-standards                          — auto-select based on the current task
/inject-standards powershell/execution-pattern   — load a specific standard by path
/inject-standards "syncro billing comment"       — load standards relevant to a task description
/inject-standards syncro/comment-dedup syncro/time-entry-protocol   — load multiple specific standards
```

## Procedure

Follow these steps exactly when /inject-standards is invoked:

### Step 1 — Parse $ARGUMENTS

- If $ARGUMENTS is empty: proceed to Step 2 (auto-select based on conversation context).
- If $ARGUMENTS contains one or more paths that match known standards slugs (e.g., `powershell/execution-pattern`, `syncro/comment-dedup`): skip Step 2, go directly to Step 3 with those paths.
- If $ARGUMENTS is a task description (plain English, not a path): use it as the query in Step 2.

### Step 2 — Auto-select relevant standards

1. Read `.claude/standards/index.yml`.
2. Review the descriptions for all entries.
3. Select the 2–5 standards most relevant to either:
   - The task description in $ARGUMENTS, or
   - The current conversation context (what has the user been working on?).
4. Prefer specificity: `syncro/comment-dedup` is more relevant than `conventions/no-emojis` for a Syncro billing task.
5. Always include `conventions/no-emojis` when writing any output that will go into scripts, logs, or client-facing text.

### Step 3 — Load and display the selected standards

For each selected standard (in order of relevance):

1. Read the file at `.claude/standards/<slug>.md`.
2. Display a header:
   ```
   === STANDARD: <slug> ===
   ```
3. Display the full file content (including frontmatter).
4. Add a blank line between standards.

### Step 4 — Report

After displaying all standards, print a one-line summary:

```
[INFO] Loaded N standards: <slug1>, <slug2>, ...
```

If auto-selection was used, briefly explain why each standard was chosen (one phrase per standard).

## Examples

**Specific standards:**
```
/inject-standards powershell/execution-pattern git/commit-style
```
Loads those two files directly and displays them.

**Task description:**
```
/inject-standards "writing a PowerShell script to check Windows service status"
```
Would select: `powershell/execution-pattern`, `conventions/no-emojis`, `conventions/output-markers`

**Syncro billing task:**
```
/inject-standards "billing Syncro ticket for emergency onsite"
```
Would select: `syncro/time-entry-protocol`, `syncro/comment-dedup`, `syncro/html-formatting`

**GuruRMM agent feature:**
```
/inject-standards "adding Linux temperature collection to the agent"
```
Would select: `gururmm/platform-parity`, `gururmm/build-pipeline`, `conventions/no-emojis`

**Empty (auto from context):**
```
/inject-standards
```
Reads the recent conversation, infers the task type, selects 2–5 most relevant standards.

## Standards index location

`.claude/standards/index.yml`

## Standards files location

`.claude/standards/<folder>/<name>.md`
