Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions .claude/skills/compliance-checker/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
name: compliance-checker
description: |
Run skill design compliance validation for agentic collections. Use when the user asks to:
- "Check skill compliance" / "Validate skill design" / "Run compliance check"
- "Verify my skills follow design principles"
- Before committing skill changes

Runs the validate_skill_design.py script against SKILL_DESIGN_PRINCIPLES.md.
---

# Skill Design Compliance Checker

Run the programmatic compliance check for skills in this agentic-collections repository.

## When to Use This Skill

Invoke this skill when the user wants to:
- Validate skills against [SKILL_DESIGN_PRINCIPLES.md](SKILL_DESIGN_PRINCIPLES.md)
- Check compliance before committing or opening a PR
- Verify design principle adherence (DP1–DP7)

## Workflow

1. **Run from project root** (the workspace root).

2. **Preferred: validate only changed skills** (recommended for local dev):
```bash
make validate-skill-design-changed
```
This validates only staged and unstaged skill changes.

3. **Alternative: validate all skills or a specific pack**:
```bash
make validate-skill-design
# Or validate a specific pack:
make validate-skill-design PACK=rh-sre
```

4. **Report results** to the user:
- If validation passes: report success
- If validation fails: list the errors and suggest fixes per the design principles

## Dependencies

- `uv` must be installed (run `make install` if needed)
- Script: `scripts/validate_skill_design.py`
- Reference: [SKILL_DESIGN_PRINCIPLES.md](../../../SKILL_DESIGN_PRINCIPLES.md)

## Design Principles Checked

- DP1: Document consultation transparency
- DP2: Parameter specification and ordering
- DP3: Description conciseness (≤500 tokens)
- DP4: Dependencies declaration
- DP5: Human-in-the-loop for critical skills
- DP6: Mandatory sections (Prerequisites, When to Use, Workflow)
- DP7: Credential security (avoid echoing env vars)
1 change: 1 addition & 0 deletions .cursor/skills
6 changes: 4 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Packs known to the validator are listed in `scripts/validate_structure.py` (`PAC

### Skills — `skills/<name>/SKILL.md`

Must start with valid YAML frontmatter containing at minimum `name` and `description`:
Must start with valid YAML frontmatter. Root-level fields: `name`, `description`, `model`, `color`. Use `metadata` for custom fields (author, priority). See SKILL_DESIGN_PRINCIPLES.md for the 2026 Agentic Skills structure.

```yaml
---
Expand All @@ -63,6 +63,8 @@ description: |
Keep under 500 tokens.
model: inherit
color: blue
metadata:
author: "team-name"
---
```

Expand All @@ -88,7 +90,7 @@ Same YAML frontmatter requirement (`name` + `description`). Agents orchestrate s

**NEVER hardcode credentials.** Always use `${ENV_VAR}` references. Gitleaks runs as a pre-commit hook and in CI.

## Design Principles (from CLAUDE.md)
## Design Principles (from SKILL_DESIGN_PRINCIPLES.md)

1. **Skills encapsulate tools** — never call MCP tools directly; always go through a skill.
2. **Agents orchestrate skills** — complex workflows delegate to specialized skills.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@ on:
branches: [main]

jobs:
validate:
compliance-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
Expand All @@ -19,8 +21,17 @@ jobs:
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh

- name: Install dependencies and validate
- name: Install dependencies and validate structure
run: |
source $HOME/.cargo/env
make install
make validate

- name: Validate skill design (changed skills only)
env:
GITHUB_EVENT_NAME: ${{ github.event_name }}
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_EVENT_BEFORE: ${{ github.event.before }}
run: |
source $HOME/.cargo/env
./scripts/ci-validate-changed-skills.sh
Loading