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
125 changes: 0 additions & 125 deletions .claude-plugin/marketplace.json

This file was deleted.

2 changes: 1 addition & 1 deletion .github/gemini-review-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Check the diff against the project rules injected in PROJECT RULES REFERENCE (fr
- **Skill invocation**: use `/skill-name` slash format, never call MCP tools directly
- **Human-in-the-Loop**: required for create/delete/modify/restore/execute ops, not for read-only
- **New packs**: must add pack name to `PACK_DIRS` in `scripts/validate_structure.py`; `docs/data.json` must NOT be committed
- **Build reminder**: if skills, agents, or `.mcp.json` changed, remind author to run `make validate`
- **Build reminder**: if skills, agents, or `mcps.json` changed, remind author to run `make validate`

### 3. Code Quality Issues
Any bugs, security concerns, logic errors, or broken links (with file:line references).
Expand Down
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
- [ ] New agent
- [ ] New pack
- [ ] Update existing skill / agent
- [ ] MCP server config (`.mcp.json`)
- [ ] MCP server config (`mcps.json`)
- [ ] Docs / README
- [ ] CI / tooling

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ The workflow will:

**Repository structure validation (`make validate`):**
- ✅ Collection directory structure and naming conventions
- ✅ Required files presence (README.md, .mcp.json, etc.)
- ✅ Required files presence (README.md, mcps.json, etc.)
- ✅ Plugin metadata completeness
- ✅ MCP server configurations

Expand Down Expand Up @@ -199,7 +199,7 @@ The workflow will fail and provide:
3. Reference to SKILL_DESIGN_PRINCIPLES.md

**Common validation errors**:
- Missing required collection files (README.md, .mcp.json)
- Missing required collection files (README.md, mcps.json)
- Invalid MCP server configuration syntax
- Skills not following design principles (see SKILL_DESIGN_PRINCIPLES.md)
- Missing documentation in collections
Expand Down
4 changes: 2 additions & 2 deletions .gitleaks.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ useDefault = true
# Custom rules for project-specific patterns
[[rules]]
id = "mcp-hardcoded-credentials"
description = "Hardcoded credentials in .mcp.json files (must use ${ENV_VAR} pattern)"
description = "Hardcoded credentials in mcps.json files (must use ${ENV_VAR} pattern)"
regex = '''["'](?:LIGHTSPEED_CLIENT_ID|LIGHTSPEED_CLIENT_SECRET|API_KEY|SECRET|TOKEN|PASSWORD)["']\s*:\s*["'][^"']{8,}["']'''
path = '''\.mcp\.json$'''
path = '''\.(mcp|mcps)\.json$'''
tags = ["mcp", "credentials"]

[[rules]]
Expand Down
31 changes: 17 additions & 14 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,25 @@ agentic-collections/

### Agentic Pack Architecture

Packs follow the [Lola](https://github.com/RedHatProductSecurity/lola) package manager format. Install via `lola install -f <pack-name>` from the marketplace.

Each pack follows this structure:
```
<pack-name>/
├── CLAUDE.md # Claude Code instruction routing (persona, skills, rules)
├── README.md # Pack description, persona, target marketplaces
├── .claude-plugin/ # Claude Code plugin metadata
│ └── plugin.json # Name, version, description, author, license
├── .mcp.json # MCP server configurations (uses env vars for credentials)
├── skills/ # Specialized task executors (including orchestration skills)
├── mcps.json # MCP server configurations (uses env vars for credentials)
├── skills/ # Specialized task executors (including orchestration skills)
│ └── <skill>/
│ └── SKILL.md # Skill definition with YAML frontmatter
└── docs/ # AI-optimized knowledge base (rh-sre only currently)
├── INDEX.md # Documentation map and AI discovery guide
├── SOURCES.md # Official Red Hat source attributions
└── .ai-index/ # Semantic indexing for token optimization
│ └── SKILL.md # Skill definition with YAML frontmatter
└── docs/ # AI-optimized knowledge base (rh-sre only currently)
├── INDEX.md # Documentation map and AI discovery guide
├── SOURCES.md # Official Red Hat source attributions
└── .ai-index/ # Semantic indexing for token optimization
```

Optional (not required for Lola): `.claude-plugin/plugin.json` — Claude Code plugin metadata if you publish this pack through the Claude Code plugin format in addition to Lola.

## Working with Agentic Collections

### Skills
Expand Down Expand Up @@ -72,7 +74,7 @@ Each pack follows this structure:

### MCP Server Integration

MCP servers are configured in `<pack>/.mcp.json`:
MCP servers are configured in `<pack>/mcps.json`:
```json
{
"mcpServers": {
Expand Down Expand Up @@ -153,9 +155,10 @@ last_updated: YYYY-MM-DD
2. Add `README.md` with description, persona, marketplaces
3. Add `CLAUDE.md` with persona, skill-first rule, intent routing table, MCP servers, and global rules (see [rh-ai-engineer/CLAUDE.md](rh-ai-engineer/CLAUDE.md) for reference)
4. Create `skills/` directory
5. Optional: Add `.claude-plugin/plugin.json` for Claude Code
6. Optional: Add `.mcp.json` for MCP server integrations
7. Update main `README.md` table with link
5. Add `mcps.json` when the pack integrates MCP servers (use `${VAR}` for secrets)
6. Register the pack in [`marketplace/rh-agentic-collection.yml`](marketplace/rh-agentic-collection.yml) so `lola install -f <pack-name>` can resolve it
7. Optional: Add `.claude-plugin/plugin.json` only if publishing via Claude Code’s plugin mechanism
8. Update main `README.md` table with link

### Adding a Skill

Expand Down Expand Up @@ -244,7 +247,7 @@ When creating new collections, follow the pattern that best matches your needs:
### Security & Configuration
5. **Environment variables for secrets** - Never hardcode credentials
6. **Never expose credential values** - Check env vars are set, but NEVER print their values in output
7. **MCP server integration** - Use `.mcp.json` with environment variable references
7. **MCP server integration** - Use `mcps.json` with environment variable references

### Documentation & Quality
8. **Official sources only** - Document all sources in SOURCES.md
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ help:
@echo ""
@echo "Available targets:"
@echo " install - Install Python dependencies (requires uv)"
@echo " validate - Validate pack structure (plugin.json, .mcp.json, frontmatter)"
@echo " validate - Validate pack structure (mcps.json, CLAUDE.md, frontmatter; plugin.json if present)"
@echo " validate-skill-design - Validate all skills (use PACK=rh-sre for a specific pack)"
@echo " validate-skill-design-changed - Validate only changed skills (staged + unstaged, for local dev)"
@echo " generate - Generate docs/data.json"
Expand Down
Loading
Loading