Skip to content
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 October 6, 2026
code-qualityrustgobashgitapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned October 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 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
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

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…