You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(dependabot): restructure skill to recommended subdirectory format v1.3.0 (#10)
* refactor(dependabot): restructure skill to recommended subdirectory format v1.3.0
Migrate from legacy flat structure to modern subdirectory structure:
- skills/dependabot.md → skills/dependabot/SKILL.md
- Extract ecosystem tables to references/ecosystems.md
This enables progressive disclosure - Claude loads SKILL.md first,
then fetches reference files only when needed, reducing token usage.
Structure now follows official Claude Code plugin best practices.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: add dependabot to README and document skill structure in CLAUDE.md
- Add dependabot plugin to Available Plugins table
- Add install command example
- Document recommended skill subdirectory structure in CLAUDE.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs(dependabot): remove redundant CLI behavior explanations
Consolidate repeated explanations:
- CLI outputs JSON / doesn't modify files (was in 3 places, now 1)
- --local flag purpose (was in 2 places, now 1)
Keep detailed explanation in Section 4, remove duplicates elsewhere.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs(dependabot): consolidate remaining redundancies
- Simplify Section 5: merge update detection into compact flow
- Remove duplicate ecosystem.md reference (keep one in Section 2)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs(dependabot): apply optional improvements from skill review
- Add trigger phrases: "upgrade dependencies", "version updates"
- Tighten --local flag explanation (save ~15 words)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: plugins/dependabot/skills/dependabot/SKILL.md
+12-55Lines changed: 12 additions & 55 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,15 @@
1
1
---
2
-
description: This skill should be used when the user asks to "check dependencies", "find outdated packages", "scan for updates", "use dependabot", "run dependabot", "check for security updates", "what needs updating", or requests dependency scanning for specific ecosystems like npm, terraform, or github-actions. Supports scanning all ecosystems or specific ones with "use dependabot for <ecosystem>".
2
+
name: dependabot
3
+
description: This skill should be used when the user asks to "check dependencies", "find outdated packages", "scan for updates", "use dependabot", "run dependabot", "check for security updates", "upgrade dependencies", "version updates", "what needs updating", or requests dependency scanning for specific ecosystems like npm, terraform, or github-actions. Supports scanning all ecosystems or specific ones with "use dependabot for <ecosystem>".
3
4
---
4
5
5
6
# Dependabot Update Skill
6
7
7
8
Scan for dependency updates using the official Dependabot CLI and optionally create PRs for found updates.
8
9
10
+
**Reference files:**
11
+
-`references/ecosystems.md` - Complete list of supported ecosystems with aliases and detection methods
12
+
9
13
## 1. Prerequisites Check
10
14
11
15
Before running, verify the required tools are installed:
@@ -36,48 +40,11 @@ Analyze the user's trigger phrase:
36
40
-**"use dependabot for npm"** → Scan only `npm_and_yarn` ecosystem
37
41
-**"use dependabot for github-actions"** or **"use dependabot for actions"** → Scan only `github_actions` ecosystem
38
42
39
-
Map common aliases to Dependabot CLI ecosystem values:
@@ -102,32 +69,28 @@ Where `<ecosystem>` is the CLI ecosystem value (e.g., `npm_and_yarn`, `terraform
102
69
**Understanding the output:**
103
70
- The CLI outputs **JSON lines** (one JSON object per line), NOT human-readable tables
104
71
- The CLI **never modifies files directly** - it only outputs data describing what would change
105
-
- The `--local .` flag means "use local filesystem as source" — this prevents the CLI from cloning from GitHub and instead uses your working directory (it's NOT a "dry-run" flag)
72
+
- The `--local .` flag uses your working directory instead of cloning from GitHub (NOT a "dry-run" flag)
106
73
- Output can be very large (40KB+) - it may be truncated
107
74
-**Important:** Use `2>&1` to capture both stdout and stderr, as the CLI mixes log messages (stderr) with JSON output (stdout)
108
75
109
76
## 5. Parse Results from JSON Output
110
77
111
-
The CLI outputs multiple JSON objects. Look for `create_pull_request` events to find updates:
78
+
Filter the output for `create_pull_request` events — these contain the updates:
112
79
113
80
```bash
114
-
# Filter for PR creation events (these contain the updates)
115
81
<output>| grep '"type":"create_pull_request"'
116
82
```
117
83
84
+
- ✅ **Updates found:**`create_pull_request` events in output
85
+
- ❌ **No updates:** Only `mark_as_processed` events (grep returns nothing)
86
+
118
87
Each `create_pull_request` event contains:
119
88
-`dependencies[].name` - Package name
120
89
-`dependencies[].previous-version` - Current version
121
90
-`dependencies[].version` - Available version
122
91
-`pr-title` - Suggested PR title
123
92
-`updated-dependency-files[]` - The actual file changes to apply
124
93
125
-
**Determining if updates exist:**
126
-
- ✅ **Updates found:** One or more `create_pull_request` events in the output
127
-
- ❌ **No updates:** Only `mark_as_processed` events appear (no `create_pull_request`)
128
-
129
-
This is the definitive way to check — if you grep for `create_pull_request` and get no results, that ecosystem is up-to-date.
130
-
131
94
## 6. Present Results
132
95
133
96
Summarize findings in a clear format:
@@ -179,8 +142,6 @@ Based on user's choice:
179
142
```
180
143
181
144
2.**Apply changes manually:**
182
-
The CLI doesn't modify files - you must apply the changes yourself.
183
-
184
145
From the `create_pull_request` JSON events, extract the `updated-dependency-files` array.
185
146
Each entry contains:
186
147
-`name` - The file path (e.g., `.github/workflows/ci.yml`)
@@ -223,9 +184,5 @@ Based on user's choice:
223
184
## Important Notes
224
185
225
186
- Always use `gh auth token` for authentication - never ask for tokens directly
226
-
- The CLI **outputs JSON describing changes** - it never modifies files directly
227
-
- The `--local .` flag means "use local directory as repo source" (avoids cloning from GitHub)
228
-
- Without `--local`, the CLI clones from GitHub but still doesn't modify your local files
229
187
- Some ecosystems may require additional configuration (e.g., private registries)
230
188
- If dependabot fails for an ecosystem, report the error and continue with others
231
-
- JSON output can be 40KB+ - grep for `create_pull_request` to find relevant data
0 commit comments