Files
claudetools/.claude/commands/inject-standards.md
Mike Swanson dd0ef45645 feat: implement agent-os standards system and feature planning tools
- Split CODING_GUIDELINES.md into 19 indexed standards files under .claude/standards/
  - 9 from CODING_GUIDELINES (conventions, powershell, security, api, git, gururmm)
  - 10 from session log tribal knowledge (syncro, ssh, gitea, python, client, gururmm)
- Add .claude/standards/index.yml for cheap relevance-based lookup
- Add /inject-standards command: load targeted standards per task instead of full guidelines
- Add /shape-spec command: pre-implementation spec for GuruRMM features (plan.md,
  shape.md, references.md, standards.md) with mandatory out-of-scope gate
- Add docs/tech-stack.md and docs/mission.md for ClaudeTools API
- Add projects/msp-tools/guru-rmm/docs/tech-stack.md and mission.md for GuruRMM
- Update CLAUDE.md commands table with /inject-standards and /shape-spec

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 12:59:49 -07:00

95 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# /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 `D:/claudetools/.claude/standards/index.yml`.
2. Review the descriptions for all entries.
3. Select the 25 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 `D:/claudetools/.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 25 most relevant standards.
## Standards index location
`D:/claudetools/.claude/standards/index.yml`
## Standards files location
`D:/claudetools/.claude/standards/<folder>/<name>.md`