fvadicamo/dev-agent-skills
fvadicamo/dev-agent-skills · 5 plugins
Marketplace Claude Code skills plugin for Git, GitHub, and skill authoring workflows
Install
The repo has no one-line install. Follow its README.
Plugins 5
After adding the marketplace, install one with /plugin install <name>@dev-agent-skills.
- 1github-workflowGit commit, PR creation, review, and merge skills following Conventional Commits
/plugin install github-workflow@dev-agent-skills - 2skill-authoringGuide for creating Claude Code skills following Anthropic's best practices
/plugin install skill-authoring@dev-agent-skills - 3guardrailsSafety guardrails for running Claude Code with reduced supervision. The guard-destructive PreToolUse hook matches against a normalized view of each command (heredoc bodies and comments stripped, quoted strings neutralized except interpreter arguments like ssh / sh -c / eval / su / doas), so a command that merely mentions a destructive pattern is not flagged. It hard-blocks catastrophic Bash commands (rm -rf /, rsync --delete, docker volume rm) and makes rm/rmdir scope-aware: operations whose operands all resolve inside the allowed workspace (the session project root, temp dirs, any $GUARD_ALLOWED_EXTRA root, or a variable assigned from a bare mktemp earlier in the same command) run silently, while anything outside it (or any glob/variable/escape it cannot resolve) raises a single reflective confirmation. git reset --hard / clean / restore, shred, dd, mkfs still always prompt.
/plugin install guardrails@dev-agent-skills - 4privacy-guardKeeps private infrastructure details out of public repositories. Ships the privacy-guard skill: session rules for what must never cross the public boundary, plus a per-repo pre-commit gate built on a gitignored local denylist and gitleaks. The denylist is never committed, so the hook is a no-op for external contributors and in CI while gitleaks still covers generic secrets.
/plugin install privacy-guard@dev-agent-skills - 5decision-recordsCreates, supersedes and validates decision records (ADRs) against the convention a collection already follows, instead of against a published spec it may never have adopted. Ships the decision-records skill: a propose-then-write flow that never rewrites an accepted record, and check-decisions.sh, a validator that deduces the filename scheme, section set and status vocabulary from the records already present and reports eight classes of violation with a stable code and an exit status. Ships no template into the target repo, and delegates private-token scanning to privacy-guard rather than keeping a second denylist.
/plugin install decision-records@dev-agent-skills
Files
dev-agent-skills
Agent skills and hooks for development workflows - Git, GitHub, skill authoring, safety guardrails, public-repo privacy, and decision records.
These skills are designed for Claude Code, the CLI tool by Anthropic.
Why these skills?
Claude Code already knows how to commit, create PRs, and review code. But without structured guidance it tends to:
- Use inconsistent commit formats across a session
- Skip target branch confirmation and create PRs against the wrong branch
- Not search for task documentation or validate task completion before opening a PR
- Suggest labels that don't exist in the project
- Process review comments in random order instead of by severity
- Use the wrong GitHub API syntax for replying to threads (
-finstead of--input -) - Generate verbose merge messages that clutter the git log
- Merge without verifying all review comments have been addressed
These skills add structured workflows that prevent these issues. They don't replace Claude's capabilities - they guide them through the right sequence of steps.
There are no official Anthropic skills for Git/GitHub workflows. This plugin fills that gap.
Quick install
# Add marketplace
/plugin marketplace add fvadicamo/dev-agent-skills
# Install plugins
/plugin install github-workflow@dev-agent-skills
/plugin install skill-authoring@dev-agent-skills
/plugin install guardrails@dev-agent-skills
/plugin install privacy-guard@dev-agent-skills
/plugin install decision-records@dev-agent-skillsHow skills work
Skills are model-invoked - Claude automatically activates them based on your request:
- "Create a commit" -> activates
git-commit - "Open a PR" -> activates
github-pr-creation - "Merge the PR" -> activates
github-pr-merge - "Address review comments" -> activates
github-pr-review - "Help me create a skill" -> activates
creating-skills - "Set up the privacy guard on this public repo" -> activates
privacy-guard - "Record this decision" / "check our ADRs" -> activates
decision-records
Plugin: github-workflow
Skills for Git and GitHub workflows following Conventional Commits.
git-commit
Creates commits following Conventional Commits format with type/scope/subject.
What it adds over Claude's default behavior:
| Without this skill | With this skill |
|---|---|
| Inconsistent commit format across a session | Enforces CC format with required scope, max 50 chars, imperative tense |
| Ignores existing commit style in the project | Dynamic context injection loads recent commits so Claude matches the style |
| Sometimes uses generic messages ("update code") | Strict rules against vague messages |
| No HEREDOC for multi-line commits | Provides HEREDOC pattern for clean multi-line messages |
Additional features:
- Checks CLAUDE.md for project-specific commit conventions
- Extra commit type
securitybeyond standard CC
github-pr-creation
Creates Pull Requests with automated validation, task tracking, and label suggestions.
What it adds over Claude's default behavior:
| Without this skill | With this skill |
|---|---|
| Often skips target branch confirmation | Always asks user to confirm base branch |
| Doesn't search for task documentation | Searches Kiro, Cursor, Trae, GitHub Issues, and generic paths for task specs |
| No task completion validation | Maps commits to tasks and reports missing sub-tasks before creating PR |
| Suggests labels that may not exist in the project | Checks gh label list first, matches available labels, suggests creating missing ones |
| Generic PR body | 7 type-specific templates (feature, release, bugfix, hotfix, refactoring, docs, CI/CD) |
| May skip tests | Tests must pass before PR creation |
github-pr-merge
Merges Pull Requests after validating a pre-merge checklist.
What it adds over Claude's default behavior:
| Without this skill | With this skill |
|---|---|
| May merge without checking review comments | Detects unreplied comments via jq query, stops merge and redirects to review skill |
| Inconsistent merge strategy | Always merge commit (--merge), never squash/rebase |
| Verbose or empty merge messages | Concise format: 3-5 bullets + reviews/tests/refs (~10 lines max) |
| May skip CI/lint checks | Full pre-merge checklist (tests, lint, CI, comments) with summary shown to user |
| Forgets branch cleanup | Auto-deletes remote branch, switches to develop and pulls |
github-pr-review
Handles PR review comments and feedback resolution.
What it adds over Claude's default behavior:
| Without this skill | With this skill |
|---|---|
| Processes comments in random order | Classifies by severity (CRITICAL > HIGH > MEDIUM > LOW) and processes in order |
| No severity detection | Detects Gemini badges, Cursor HTML comments, and keyword-based severity |
| One commit per fix regardless of impact | Batch strategy: separate commits for functional fixes, single batch for cosmetic |
May use -f in_reply_to=... (broken) |
Uses correct --input - JSON syntax for thread replies |
| Generic or no replies to threads | Standard templates: Fixed, Won't fix, By design, Deferred, Acknowledged |
| Triggers bot review loops on every push | Strategies to avoid loops: batch pushes, draft PR, skip keywords |
| Forgets to submit formal review | Prompts gh pr review with appropriate flag (approve/request-changes/comment) |
Plugin: skill-authoring
creating-skills
Guide for creating Claude Code skills following Anthropic's official best practices.
What it adds over Claude's default behavior:
Claude knows the basics of skill creation, but this skill provides a comprehensive, up-to-date reference covering features that Claude may not know about or consistently apply.
- Complete frontmatter reference (all 10 fields including
allowed-tools,context,agent,hooks) - Invocation control matrix (
disable-model-invocation,user-invocable) - Dynamic features: context injection (
!`cmd`), string substitutions ($ARGUMENTS), subagent execution - Degrees of freedom concept for matching specificity to task fragility
- Directory structure with
scripts/,references/, andassets/resource types - Description formula, naming conventions, progressive disclosure patterns
Comparison with the official skill-creator
This skill complements the official skill-creator from Anthropic. They serve different purposes and can be used together.
| Feature | This skill | Official skill-creator |
|---|---|---|
| Complete frontmatter reference (10 fields) | Yes | No (only 5 fields) |
| Invocation control matrix | Yes | No |
Dynamic context injection (!`cmd`) |
Yes, with examples | No |
String substitutions ($ARGUMENTS, $1) |
Yes | No |
Subagent execution (context: fork) |
Yes, with example | No |
| Discovery hierarchy | Yes | No |
| Context budget (2%, 16k fallback) | Yes | No |
| Skills/commands unification | Yes | No |
| Frontmatter validation rules | Yes | No |
| 6 feature-specific examples | Yes | No |
Scaffolding script (init_skill.py) |
No | Yes |
Packaging script (package_skill.py) |
No | Yes |
Validation script (quick_validate.py) |
No | Yes |
| Workflow patterns reference | No | Yes |
| Output patterns reference | No | Yes |
In short: this skill is a practical, up-to-date reference for all available features. The official skill is a conceptual guide with scaffolding/packaging tools. Install both for the most complete experience.
Plugin: guardrails
Safety guardrails for running Claude Code with reduced supervision (for example under --dangerously-skip-permissions). It currently ships one PreToolUse hook; more checks may follow. Unlike the skills, the hook is not model-invoked: it runs automatically on every Bash tool call, before the command executes.
guard-destructive
What it adds over Claude's default behavior:
| Without this hook | With this hook |
|---|---|
| Catastrophic commands run if permissions allow | Hard-blocks rm -rf / (and ~/$HOME), rsync --delete, docker rm -v / docker volume rm |
rm runs without a second look |
Prompts for confirmation and enumerates the resolved operands so you see what would be deleted |
| Temp-file cleanup triggers the same prompt | rm whose operands all sit strictly under a temp dir (/tmp, /private/tmp, /var/tmp, /var/folders) is exempted |
Destructive commands hidden in ssh '...' slip through |
Catches commands wrapped in ssh '...' / sh -c "..." |
git reset --hard, dd, mkfs, shred run unguarded |
Prompts for confirmation before each |
The hook is harness-only - it adds no token cost to the model context.
Plugin: privacy-guard
For people who run private infrastructure (a home lab, a VPS fleet, client machines) and also publish open-source repos. The public repo is the boundary: hostnames, internal project names, local usernames, home paths and VPN addresses must not cross it, in files or anywhere else.
privacy-guard
What it adds over Claude's default behavior:
| Without this skill | With this skill |
|---|---|
| Internal hostnames and paths slip into docs and examples | An explicit threat model of what is sensitive and what is fine to publish |
| Mentioning an internal host in chat leads Claude to write it into the repo | The conversation is private, the repo is not: naming a host does not authorize committing it |
| Only files get checked | Commit messages, branch names, PR and issue bodies, CHANGELOG and release artifacts are in scope too |
| Nothing catches a leak before it is pushed | A pre-commit gate greps the lines a commit adds against a local denylist and blocks it, printing the matched lines with their real line numbers |
| A shared denylist would publish the very tokens it protects | The denylist lives in gitignored .local/, so it stays private and the hook is a no-op for external contributors and CI, where gitleaks still covers generic secrets |
| A script copied into each repo drifts invisibly | Each copy carries its version and provenance, and check-sync.sh REPO... reports which copies are behind, diverged, or missing |
Setup is per-repo and scripted by the skill: copy check_privacy.sh into scripts/, fill .local/privacy-denylist.txt from the shipped placeholder template, add the gitleaks + denylist blocks to .pre-commit-config.yaml, then arm-check it with a throwaway file containing a known token. A repo that already sets core.hooksPath cannot run pre-commit install; the skill documents the variant that calls the script from the existing hook instead.
Note the deliberate trade-offs: the guard is client-side and only protects commits made from a machine that has the denylist; it scans what a commit adds, so it stops new leaks and does not audit history; and it does not cover pastes into the GitHub web UI. That is what the behavioral rules are for.
Plugin: decision-records
For a repo that already keeps decision records (ADRs) and has stopped trusting them: numbers that collide, an index that no longer matches the directory, a record that says it was superseded and does not say by what. The skill writes records, and mainly holds a collection to its own convention.
decision-records
What it adds over Claude's default behavior:
| Without this skill | With this skill |
|---|---|
| A record gets written in whatever shape Claude reaches for | The filename scheme, section set and status form are read off the records already there, and reported before anything is written |
| A draft gets written to disk and then discussed | Propose first, write only after explicit approval, write nothing at all if you decline |
| Changing your mind means editing the old record | An accepted record is never rewritten: a new one is created and the old status becomes superseded by <ref> |
| The index drifts from the directory in silence | Both directions are checked: a record absent from the index, and an index row pointing at a file that is not there |
| "The ADRs look fine" is an impression | check-decisions.sh exits 0, 1 or 2, with a stable code per violation (NAME, SECTION, STATUS, DRIFT, SUPERSEDE, DUPLICATE, INDEX, PORTABLE) |
| A collection with a house convention gets flagged for having one | The convention is deduced, not imposed; --require and --status are the only way a rule enters that the collection is not already following |
check-decisions.sh [--require "A,B"] [--status "a,b"] [--portable] DIR
# 0 clean, 1 violations, 2 usage error or nothing to checkWhere this sits next to what already exists. ADR linters are not new and some are much more capable: mdbook-lint ships 17 ADR rules, madr-lint covers MADR v2 to v4 and ships its own Claude skills, adrkit finds supersession cycles and contradicting decisions. They all validate against a published spec, Nygard or MADR, chosen by auto-detecting between those. A collection whose convention is neither, say date-prefixed filenames with a house section set, has its own convention reported to it as violations. That case is what this one is for, and it needs no toolchain: it is one bash script.
Deliberate limits. It ships no template file into your repo, because a template beside the records is a second home for the convention and the two diverge in silence. It does not scan for private tokens: hostnames, instance names and identity are privacy-guard's denylist, and a second copy of that list here would be the same mistake with worse consequences. --portable covers only what breaks when a record is copied: absolute paths, and links that climb out of the collection directory.
Development
Three plugins ship executable logic, and each has a regression suite:
bash plugins/guardrails/tests/run.sh # guard-destructive.sh
bash plugins/privacy-guard/tests/run.sh # check_privacy.sh, check-sync.sh
bash plugins/decision-records/tests/run.sh # check-decisions.shAll exit non-zero on failure and run on macOS and Linux. Each accepts an override
(GUARD_HOOK=, PRIVACY_SCRIPT=, SYNC_SCRIPT=, CHECK_SCRIPT=) that points it at a
candidate script: point it at the version from before a fix and the suite must go red. A
bench nobody has seen fail says nothing. Stronger where a suite claims to hold one guard
down: remove that guard from the real script and check that its case goes red and the
others do not, because a case can pass beside the guard it names.
After cloning the repo to work on either, enable the shared git hooks (they live in the
versioned .githooks/, not in .git/hooks/):
git config core.hooksPath .githooks # one-time, per cloneWith that set, a pre-commit hook runs a plugin's suite whenever that plugin's shipped
files or its tests are staged, and blocks the commit on a regression (bypass once with
git commit --no-verify). It also runs this repo's own privacy check on the staged
lines. There is no CI: that hook is the only gate, and it only fires for whoever set
core.hooksPath.
If you change anything under plugins/<name>/, bump that plugin's version in
plugins/<name>/.claude-plugin/plugin.json and in its marketplace.json entry. The
pre-commit hook blocks the commit otherwise, and the reason is not bookkeeping:
claude plugin update compares the version number, so a change shipped under a frozen
number never reaches an installed copy — the node keeps running the old files while the
version claims they are current. Everything in the plugin directory is shipped, tests
included. .githooks/tests/run.sh benches that check.
See each suite's tests/README.md for the case format and CLAUDE.md for contributor
guidance.
License
MIT License - see LICENSE for details.
{
"name": "dev-agent-skills",
"owner": {
"name": "Francesco Vadicamo",
"email": "fvadicamo@gmail.com"
},
"metadata": {
"description": "Agent skills and hooks for development workflows - Git, GitHub, skill authoring, safety guardrails, public-repo privacy, and decision records",
"version": "1.16.0"
},
"plugins": [
{
"name": "github-workflow",
"description": "Git commit, PR creation, review, and merge skills following Conventional Commits",
"source": "./plugins/github-workflow",
"version": "1.4.2",
"strict": false
},
{
"name": "skill-authoring",
"description": "Guide for creating Claude Code skills following Anthropic's best practices",
"source": "./plugins/skill-authoring",
"version": "1.4.0",
"strict": false
},
{
"name": "guardrails",
"description": "Safety guardrails for running Claude Code with reduced supervision. The guard-destructive PreToolUse hook matches against a normalized view of each command (heredoc bodies and comments stripped, quoted strings neutralized except interpreter arguments like ssh / sh -c / eval / su / doas), so a command that merely mentions a destructive pattern is not flagged. It hard-blocks catastrophic Bash commands (rm -rf /, rsync --delete, docker volume rm) and makes rm/rmdir scope-aware: operations whose operands all resolve inside the allowed workspace (the session project root, temp dirs, any $GUARD_ALLOWED_EXTRA root, or a variable assigned from a bare mktemp earlier in the same command) run silently, while anything outside it (or any glob/variable/escape it cannot resolve) raises a single reflective confirmation. git reset --hard / clean / restore, shred, dd, mkfs still always prompt.",
"source": "./plugins/guardrails",
"version": "1.7.6",
"strict": false
},
{
"name": "privacy-guard",
"description": "Keeps private infrastructure details out of public repositories. Ships the privacy-guard skill: session rules for what must never cross the public boundary, plus a per-repo pre-commit gate built on a gitignored local denylist and gitleaks. The denylist is never committed, so the hook is a no-op for external contributors and in CI while gitleaks still covers generic secrets.",
"source": "./plugins/privacy-guard",
"version": "1.3.3",
"strict": false
},
{
"name": "decision-records",
"description": "Creates, supersedes and validates decision records (ADRs) against the convention a collection already follows, instead of against a published spec it may never have adopted. Ships the decision-records skill: a propose-then-write flow that never rewrites an accepted record, and check-decisions.sh, a validator that deduces the filename scheme, section set and status vocabulary from the records already present and reports eight classes of violation with a stable code and an exit status. Ships no template into the target repo, and delegates private-token scanning to privacy-guard rather than keeping a second denylist.",
"source": "./plugins/decision-records",
"version": "0.3.0",
"strict": false
}
]
}Facts
- Kind
- Marketplace
- Repo
- fvadicamo/dev-agent-skills
- Group
- Uncategorized
- Marketplace name
- dev-agent-skills
- Owner
- Francesco Vadicamo
- License
- MIT
- Language
- Shell
- Created
- 2025-12-21
- Forks
- 6
- Topics
- ai-coding-agent, anthropic, claude-code, claude-code-plugin, claude-code-skills, conventional-commits, developer-tools, git, github, pull-requests
- Plugins
- 2
- 1f/prompts.chatf/prompts.chatf.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.
- 2affaan-m/everything-claude-codeaffaan-m/everything-claude-codeThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
- 3obra/superpowersobra/superpowersAn agentic skills framework & software development methodology that works.
- 4anthropics/skillsanthropics/skillsPublic repository for Agent Skills
- 5anthropics/claude-codeanthropics/claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
- 6nextlevelbuilder/ui-ux-pro-max-skillnextlevelbuilder/ui-ux-pro-max-skillAn AI skill that provides design intelligence for building professional UI/UX across multiple platforms.