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>
This commit is contained in:
94
.claude/commands/inject-standards.md
Normal file
94
.claude/commands/inject-standards.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# /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 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 `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 2–5 most relevant standards.
|
||||
|
||||
## Standards index location
|
||||
|
||||
`D:/claudetools/.claude/standards/index.yml`
|
||||
|
||||
## Standards files location
|
||||
|
||||
`D:/claudetools/.claude/standards/<folder>/<name>.md`
|
||||
Reference in New Issue
Block a user