Files
getsentry__skills/CONTRIBUTING.md
David Cramer 24361e7958 ref(skills): Load sentry-skills plugin from repo root (#117)
Make repo-root `skills/` and `agents/` the canonical source for the
`sentry-skills` plugin by loading the plugin from repo root instead of
from `plugins/sentry-skills`.

The earlier refactor moved the tree to top level, but leaving a
plugin-local `skills` symlink still created a loader risk for
marketplace installs. This removes that dependency entirely: the
marketplace entry now points at `./`, the root plugin manifest uses
repo-root `skills/` and `agents/`, and the old plugin-local `skills`
path goes away.

This pass also tightens the repo guidance around standard skill
locations. `skill-writer` goes back to using `.agents/skills` as its
default local target, `skill-writer` and `skill-scanner` now explicitly
recognize canonical `skills/<name>/` roots, and the repo docs and
registrations are updated to match the new layout, including
`presentation-creator`.

I validated the change with strict-depth validation for `skill-writer`
and `skill-scanner`, plus a local Claude marketplace add/install smoke
test that produced real `skills/` and `agents/` directories in the
installed plugin cache without any plugin-local `skills` symlink.

---------

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <codex@openai.com>
2026-04-19 16:10:08 -07:00

69 lines
2.0 KiB
Markdown

# Contributing
## Philosophy
This repository favors **incremental change** over perfection. Skills are living documents that improve over time through small, iterative updates.
- **Bias toward action** - Ship small improvements rather than waiting for the perfect solution
- **Self-review is the default** - You know your changes best
- **Iterate freely** - Don't hesitate to refine existing skills
## Testing Skills
Before merging, test your changes locally:
1. **Install the plugin from your local clone**
```bash
claude plugin marketplace add ~/path/to/sentry-skills
claude plugin install sentry-skills
```
If you use `claude plugin marketplace add --sparse` for this repo, include `skills` and `agents` in addition to `.claude-plugin` because the root plugin manifest loads repo-root `skills/` and `agents/`.
2. **Restart Claude Code** to pick up changes
3. **Invoke the skill** in a relevant context
```bash
# For explicit invocation
/skill-name
# Or describe a task that should trigger the skill
```
4. **Verify behavior** - Check that the skill produces the expected guidance and handles edge cases appropriately
## Pull Request Workflow
All changes go through the PR flow, but formal review is optional.
- **Self-review and merge** when you're confident in your change
- **Request review** only when you want a second pair of eyes
- Keep PRs focused - one skill or one improvement per PR when practical
## Adding a New Skill
1. Create `skills/<skill-name>/SKILL.md`
2. Add required YAML frontmatter:
```yaml
---
name: skill-name
description: What this skill does. Include trigger keywords.
---
```
3. Update `README.md` to add the skill to the Available Skills table in alphabetical order by skill name
4. Add the skill to `.claude/settings.json`:
```json
"Skill(sentry-skills:skill-name)"
```
5. Update the skills allowlist in `skills/claude-settings-audit/SKILL.md`
See [README.md](README.md) for the full skill template and optional frontmatter fields.