Create, view, or update a developer trust profile for a GitHub user. Tracks trust level, strengths, weaknesses, PR patterns, and review history.
Scanned 10/6/2026
npx -y skills add tomzx/agents --skill developer-trust-profile --agent claude-codeInstalls 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.
[](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.
---
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 |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!