Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Developer Trust Profile

ASecurity

Create, view, or update a developer trust profile for a GitHub user. Tracks trust level, strengths, weaknesses, PR patterns, and review history.

10 stars
0 votes
0 copies
0 views
Added 10/6/2026
code-qualityrustgobashgitapidocumentation

Works with

api

Security Analysis

A100/100

Scanned 10/6/2026

$npx -y skills add tomzx/agents --skill developer-trust-profile --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Developer Trust Profile?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Developer Trust Profile
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tomzx-developer-trust-profile/badge)](https://www.skillsdirectory.com/skills/tomzx-developer-trust-profile)

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

Download with Pro
Files
SKILL.md
---
name: developer-trust-profile
description: Create, view, or update a developer trust profile for a GitHub user. Tracks trust level, strengths, weaknesses, PR patterns, and review history.
allowed-tools: Bash(gh:*, git:*), Read, Write, Glob
argument-hint: "<github_username> [--after-review <owner/repo> <pr_number> <approved|not_approved>]"
---

# Developer Trust Profile

Manages per-developer trust profiles that inform PR review behavior. Each profile lives in its own file and accumulates observations across reviews. Call this skill to view a profile, create one from scratch, or update it after a PR review.

## Prerequisites

- GitHub username (`$1`) of the developer
- Optional: `--after-review <owner/repo> <pr_number> <approved|not_approved>` to update after a review

## Profile Location

```
~/.developer-trust/{github_username}.md
```

## Trust Levels

| Level | Meaning | Effect on quick-pr-review |
|-------|---------|--------------------------|
| `trusted` | Developer consistently produces high-quality PRs | Standard checks, prefer approval on borderline cases |
| `neutral` | Unknown or mixed track record | Standard checks, default behavior |
| `cautious` | History of issues, missed edge cases, or unclear PRs | Apply stricter interpretation of checks, flag marginal cases |
| `always_reject` | Persistent quality/policy issues warranting manual review | Never auto-approve; always require human review |

## Workflow

```
Ensure ~/.developer-trust is a git repo
              |
Read existing profile (or start fresh)
              |
      Mode: view or update?
       /                  \
     View                Update
      |                    |
  Print profile      Fetch PR metadata
                           |
                    Synthesize observations
                    (strengths, weaknesses,
                     patterns seen in diff)
                           |
                    Update profile sections
                    + append review history row
                           |
                    Write profile file
                           |
                    git commit
```

## Steps

### 1. Initialize repository

Ensure `~/.developer-trust` exists and is a git repository:

```bash
mkdir -p ~/.developer-trust
git -C ~/.developer-trust init
```

`git init` is idempotent: safe to run even if the directory is already a repository.

### 2. Resolve paths and arguments

Parse `$@`:
- `GITHUB_USERNAME`: `$1`
- If `--after-review` flag present, extract:
  - `REPO`: next argument (`owner/repo`)
  - `PR_NUMBER`: next argument
  - `OUTCOME`: next argument (`approved` or `not_approved`)

`PROFILE_PATH`: `~/.developer-trust/{GITHUB_USERNAME}.md`

### 3. Load existing profile

If `PROFILE_PATH` exists, read it. Extract current trust level, strengths, weaknesses, patterns, and review history. If it does not exist, initialize with defaults (trust level: `neutral`, all sections empty).

### 4a. View mode (no `--after-review`)

Print the profile contents and summarize:
- Trust level and reason
- Strengths count
- Weaknesses count
- Number of reviews in history

Stop here.

### 4b. Update mode (`--after-review` present)

#### Fetch PR context

```bash
gh pr view {PR_NUMBER} --repo {REPO} \
  --json number,title,body,author,additions,deletions,changedFiles,labels,headRefName
gh pr diff {PR_NUMBER} --repo {REPO}
```

#### Synthesize observations

Based on the PR diff, title, description, and outcome, identify:

- **Strengths**: positive patterns (e.g., "well-structured tests", "clear commit messages", "good error handling", "thorough documentation")
- **Weaknesses**: problem areas (e.g., "missing test coverage", "unclear PR description", "mixed concerns in single commit", "ignores edge cases")
- **PR patterns**: recurring behaviors (e.g., "tends to include unrelated refactors", "consistently links issues", "PRs are atomic and focused")

Merge new observations with existing ones: add new items, update or reinforce existing ones (do not duplicate), and remove items that are contradicted by recent evidence.

#### Update trust level

Recalculate trust level based on the full review history and current observations:
- If the developer has a long track record of clean, approved PRs: consider upgrading to `trusted`
- If recurring issues appear across multiple reviews: consider downgrading to `cautious`
- If issues are severe or repeated despite feedback: consider `always_reject`
- Do not change trust level based on a single review alone unless it is egregious

Update the trust level reason to reflect the current evidence.

#### Append review history row

Add a new row to the Review History table:
```
| {ISO_DATE} | {REPO} | #{PR_NUMBER} | {Approved/Not approved} | {one-line observation} |
```

### 5. Write the profile

Write or overwrite `PROFILE_PATH` with the updated content using the format below.

### 6. Commit the change

Stage and commit the updated profile:

```bash
git -C ~/.developer-trust add {GITHUB_USERNAME}.md
git -C ~/.developer-trust commit -m "Update {GITHUB_USERNAME} trust profile ({OUTCOME}: {REPO}#{PR_NUMBER})"
```

For view-mode runs (step 4a), skip this step.

## Profile Format

```markdown
# Developer Trust Profile: {github_username}

_Last updated: {ISO_DATE}_

## Trust Level

**Level**: trusted | neutral | cautious | always_reject
**Reason**: <brief rationale for the current trust level>

## Overview

<2-3 sentence summary of the developer's overall style, habits, and track record>

## Strengths

- <strength observed across PRs>
- <strength>

## Weaknesses

- <weakness observed across PRs>
- <weakness>

## PR Patterns

- <recurring behavior, positive or negative>
- <pattern>

## Review History

| Date | Repository | PR | Outcome | Notes |
|------|------------|----|---------|-------|
| {ISO_DATE} | {owner/repo} | #{number} | Approved | <one-line note> |
```

## Example Usage

**Scenario 1: View an existing profile**
```
/developer-trust-profile alice
```
Reads `~/.developer-trust/alice.md` and prints a summary. If no profile exists, reports that alice has no profile yet.

**Scenario 2: Create a profile from scratch via first review**
```
/developer-trust-profile bob --after-review acme/api 42 approved
```
No existing profile for bob. Fetches PR #42, synthesizes initial observations, creates a new profile with trust level `neutral` and the first review history entry.

**Scenario 3: Update an existing profile**
```
/developer-trust-profile alice --after-review acme/api 55 not_approved
```
Loads alice's profile, fetches PR #55 diff, merges new observations, appends review history row. Reconsiders trust level if patterns suggest a change is warranted.

**Scenario 4: Developer with persistent issues**
```
/developer-trust-profile carol --after-review acme/api 88 not_approved
```
Carol's profile shows 4 consecutive non-approvals, all due to missing tests. Updates trust level to `cautious` with reason "Consistently submits PRs without adequate test coverage despite prior feedback."

## Useful Commands Reference

| Command | Description |
|---|---|
| `mkdir -p ~/.developer-trust && git -C ~/.developer-trust init` | Initialize the trust store as a git repo |
| `gh pr view <pr> --repo <owner/repo> --json ...` | Fetch PR metadata |
| `gh pr diff <pr> --repo <owner/repo>` | Fetch the PR diff |
| `git -C ~/.developer-trust add <file> && git -C ~/.developer-trust commit -m "..."` | Stage and commit a profile update |

Attribution

tomzxtomzx
View sourceSee grades on GitHubMore from tomzx →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman Review

Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", "/review", or invokes /caveman-review. Auto-triggers when reviewing pull requests.

1100021 votes

Caveman Commit

Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.

1100021 votes

Springboot Verification

Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

2456590 votes

Verification Loop

一个全面的 Claude Code 会话验证系统。

2456590 votes

Django Verification

Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.

2456590 votes
View all in code-quality →