diff --git a/.agents/steering/README.md b/.agents/steering/README.md index b60469c9f..aedea0963 100644 --- a/.agents/steering/README.md +++ b/.agents/steering/README.md @@ -70,7 +70,7 @@ By including only relevant guidance, we reduce token usage: .agents/steering/ ├── README.md # This file ├── agent-prompts.md # Agent prompt patterns (Phase 4) -├── claude-skills.md # Claude Code skill development +├── claude-skills.md # Claude skill development standards ├── csharp-patterns.md # C# coding standards (Phase 4) ├── documentation.md # Documentation standards (Phase 4) ├── powershell-patterns.md # PowerShell coding patterns @@ -150,7 +150,7 @@ status: [placeholder | draft | published] | File | applyTo Pattern | Purpose | Copilot Entry Point | |------|-----------------|---------|---------------------| | `agent-prompts.md` | `**/AGENTS.md,src/claude/**/*.md,templates/agents/**/*.md` | Agent prompt standards | `.github/instructions/agent-prompts.instructions.md` | -| `claude-skills.md` | `.claude/skills/**/*` | Skill development guidance | `.github/instructions/claude-skills.instructions.md` | +| `claude-skills.md` | `.claude/skills/**` | Skill development standards | `.github/instructions/claude-skills.instructions.md` | | `security-practices.md` | `**/Auth/**,*.env*,**/*.secrets.*,.github/workflows/**,.githooks/**` | Security best practices | `.github/instructions/security.instructions.md` | | `testing-approach.md` | `**/*.Tests.ps1` | Pester testing conventions | `.github/instructions/testing.instructions.md` | | `documentation.md` | `**/*.md` (excluding agents/steering) | Documentation standards | `.github/instructions/documentation.instructions.md` | diff --git a/.agents/steering/claude-skills.md b/.agents/steering/claude-skills.md index 829aebdb0..2c9c3ce47 100644 --- a/.agents/steering/claude-skills.md +++ b/.agents/steering/claude-skills.md @@ -1,7 +1,7 @@ --- name: Claude Skills -applyTo: ".claude/skills/**/*" -excludeFrom: ".claude/skills/**/node_modules/**" +applyTo: ".claude/skills/**" +excludeFrom: ".claude/skills/**/*.Tests.ps1" priority: 8 version: 1.0.0 status: active @@ -9,149 +9,176 @@ status: active # Claude Skills Steering -Domain-specific guidance for creating and modifying Claude Code skills in `.claude/skills/`. - ## Scope -**Applies to**: `.claude/skills/**/*` (all skill directories, scripts, and configuration) +**Applies to**: + +- `.claude/skills/**` - All files in the Claude skills directory + +**Excludes**: + +- `.claude/skills/**/*.Tests.ps1` - Pester test files (see testing-approach.md) ## Pre-Flight Checks -Before starting skill work, answer these questions: +Before creating or modifying a skill, verify: -1. **New skill or update?** New skills require duplicate functionality check. -2. **Does a similar skill exist?** Search `.claude/skills/*/SKILL.md` descriptions. -3. **Is this skill-only?** Memory changes, hook changes, and ADR changes belong in separate PRs. +1. **New or update?** Check `.claude/skills/` for an existing skill with overlapping purpose. +2. **Duplicate check**: Search skill SKILL.md files for similar `description` or `triggers`. +3. **Memory context**: Load the skill's Serena memory if it exists (e.g., `skills--index`). ## Guidelines -### Language Selection (ADR-042) +### Skill Structure -New scripts use Python 3.10+ per ADR-042. Existing PowerShell scripts may be maintained in PowerShell. +Every skill MUST have this directory layout: -| Scenario | Language | Reference | -|----------|----------|-----------| -| New skill script | Python (.py) | ADR-042 | -| Existing PowerShell maintenance | PowerShell (.ps1) | ADR-042 migration path | -| Hooks with LLM integration | Python (.py) | ADR-042 exception | +```text +.claude/skills// +├── SKILL.md # Frontmatter + prompt (REQUIRED) +├── scripts/ # Implementation scripts +│ └──