Skip to content
Back to skills

082 Claude 34b7ad48

ASecurity

> Team-maintained workflow document. Update frequently with new learnings.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
documentationpythongobashtestingcode-reviewgitsecurity

Works with

  • claude code
  • mcp

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 082-claude_34b7ad48 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 082 Claude 34b7ad48?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 082 Claude 34b7ad48
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-082-claude-34b7ad48/badge)](https://www.skillsdirectory.com/skills/tools-only-082-claude-34b7ad48)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Claude Code Development Guidelines

> Team-maintained workflow document. Update frequently with new learnings.

## Quick Reference

- **Plugin validation**: `claude plugin validate`
- **Test locally**: `claude --plugin-dir ./`
- **Formatting**: Prettier for MD/JSON, Black for Python

## Development Workflow

### Making Changes

1. **Before editing any file**:
   - Run `claude plugin validate` to ensure current state is valid
   - Check existing patterns in similar files

2. **When adding agents** (`agents/*.md`):
   - Copy structure from `agents/orchestrator.md` as template
   - Include "PROACTIVELY" in description for auto-triggering
   - Specify tools, model (opus/sonnet/haiku), and skills
   - Test trigger keywords work as expected

3. **When adding skills** (`skills/*/SKILL.md`):
   - Keep under 500 lines for optimal context usage
   - Include trigger keywords in description
   - Make content language-agnostic where possible

4. **When adding hooks** (`hooks/*`):
   - Register in `hooks/hooks.json`
   - Use `${CLAUDE_PLUGIN_ROOT}` for paths
   - Exit codes: 0 = allow, 2 = block with message
   - Test with both success and failure cases

5. **After all changes**:
   - Run `claude plugin validate`
   - Test the specific feature with Claude Code

## Code Conventions

### Markdown Files

- Use YAML frontmatter for metadata
- Consistent heading hierarchy (# > ## > ###)
- Code blocks with language specifiers

### Python Hooks

- Use `#!/usr/bin/env python3` shebang
- Read input from stdin as JSON
- Handle all exceptions silently (don't block operations)
- Use subprocess.run with timeout

### JSON Files

- 2-space indentation
- No trailing commas
- Validate syntax before committing

## Git Workflow

### Commit Messages

Follow Conventional Commits:

```
feat: add new agent for X
fix: correct hook exit code handling
docs: update README with new feature
chore: bump version to X.Y.Z
```

### Branching

- `main` is always deployable
- Feature branches: `feature/description`
- Bug fixes: `fix/description`

## Available Agents (Use These!)

When working on this repo, leverage the plugin's own agents:

| Task               | Agent to Use       |
| ------------------ | ------------------ |
| Multi-file changes | `orchestrator`     |
| Code quality check | `code-reviewer`    |
| Bug investigation  | `debugger`         |
| Update docs        | `docs-writer`      |
| Security review    | `security-auditor` |
| Clean up code      | `refactorer`       |
| Add tests          | `test-architect`   |

## Common Patterns

### Hook Script Template

```python
#!/usr/bin/env python3
import json
import sys

def main():
    try:
        input_data = json.load(sys.stdin)
        # Process input_data
        # Exit 0 to allow, exit 2 to block
        sys.exit(0)
    except Exception:
        sys.exit(0)  # Don't block on errors

if __name__ == '__main__':
    main()
```

### Agent Definition Template

```markdown
---
name: agent-name
description: What it does. Use PROACTIVELY when [triggers].
tools: Read, Write, Edit, Bash, Glob, Grep
model: sonnet
---

# Agent Name

[Instructions here]
```

## Testing Checklist

Before pushing:

- [ ] `claude plugin validate` passes
- [ ] Tested feature manually with Claude Code
- [ ] No hardcoded paths (use `${CLAUDE_PLUGIN_ROOT}`)
- [ ] Hook scripts handle errors gracefully
- [ ] CHANGELOG.md updated for user-facing changes

## Troubleshooting

### Hook not executing

- Check `hooks/hooks.json` matcher regex
- Verify script has executable permissions (`chmod +x`)
- Check Python path (`#!/usr/bin/env python3`)

### Agent not triggering

- Ensure "PROACTIVELY" is in description
- Check trigger keywords are in user's prompt
- Verify model name is valid (opus/sonnet/haiku)

### Validation failing

- Run `claude plugin validate` for specific errors
- Check JSON syntax in all config files
- Verify all referenced files exist

---

## Team Notes

<!-- Add learnings, gotchas, and tips here -->

- The format-on-edit hook silently fails if formatter not installed (by design)
- MCP permissions go in user's settings, not plugin
- Commands are accessed via `/project-starter:<command-name>`
- All commands (output styles, inner-loop, verification) go in `commands/` at root

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…