Agent skill

Dx Roaster

by Varnan-Tech in Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo.

MITAuto-check passedDevelopment

Install Dx Roaster

skills CLI
$ npx skills add Varnan-Tech/opendirectory --skill dx-roaster -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Varnan-Tech/opendirectory dx-roaster --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dx-roaster .claude/skills/dx-roaster && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dx-roaster
GitHub stars
674
Used in
1 other repo
Token cost
~2.5k tokens
SKILL.md length
885 words
Files
5 (incl. references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Brutally honest developer-experience audit for a GitHub repo.

  • Works in 7 steps: Intake → Discover → Score 10 dimensions → …
  • User says roast my repo
  • SKILL.md covers Critical rules (read before…, Step 1: Intake, Step 2: Discover and Step 3: Score 10 dimensions, plus 8 more sections
  • Calls gh and git; reaches github.com; needs GITHUB_TOKEN

What it does

Dx Roaster is an agent skill from Varnan-Tech/opendirectory. Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch…

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `README.md`, `references/readme-template.md` and `references/roast-voice-guide.md`). Compatibility notes: ["claude-code","gemini-cli","github-copilot"]

It sits in Development, covering Technical documentation, Product launch strategy and Prioritization frameworks. It works with GitHub. The repository describes itself as: AI Agent Skills built for Founders who hate Marketing. The licence is MIT.

When your agent uses it

  • User says roast my repo
  • Audit my README
  • Developer experience review
  • Score my GitHub project

Example prompts

  • “roast my repo”
  • “audit my README”
  • “dx audit”
  • “/dx-roaster”

Requirements

  • A credential in GITHUB_TOKEN
  • Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"]

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Intake
  2. Discover
  3. Score 10 dimensions
  4. Write the roast
  5. Generate action plan
  6. Generate ideal README
  7. Terminal summary

What it can do on your machine

Read from SKILL.md and the folder at commit 62e437a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GITHUB_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    ["claude-code","gemini-cli","github-copilot"]

    From compatibility in the SKILL.md frontmatter.

Context cost

Dx Roaster loads about 2.5k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 141 tokens; SKILL.md has 885 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~141
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Varnan-Tech/opendirectory at commit 62e437a, republished under its MIT licence (© Varnan-Tech). 885 words, ~2,530 tokens.

Download SKILL.mdSave it as .claude/skills/dx-roaster/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
dx-roaster
description
Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".
compatibility
["claude-code","gemini-cli","github-copilot"]
author
OpenDirectory
version
1.0.0

dx-roaster

Roasts a GitHub repo's developer experience. Produces four files: roast.md, action-plan.md, ideal-readme.md, score.json. Built for OSS maintainers and dev-tool founders preparing for Show HN, Product Hunt, or any launch where the first five minutes matter.


Critical rules (read before every run)

  1. Read all three reference files BEFORE scoring. references/scoring-rubric.md, references/roast-voice-guide.md, references/readme-template.md. The rubric is non-negotiable — use the exact 10 dimensions.

  2. Score every dimension on the 0–10 scale. Never skip. Missing data = score 0, not "N/A".

  3. Roast must cite specific findings. Quote bad lines verbatim. Reference file paths. Cite line numbers when possible. Never write generic platitudes like "documentation could be better".

  4. Tone matters. Default honest. Switch voice per references/roast-voice-guide.md. Brutal is funny but never personal. Kind is encouraging but still specific.

  5. Action plan is impact-ranked, not severity-ranked. Use impact × (1 / effort). A 5-minute fix that adds 10 points ranks above a 2-hour fix that adds 12 points.

  6. Never invent URLs. When writing ideal-readme.md, use <placeholder> syntax for missing links. Roast will tell maintainer to fill in.

  7. Never name maintainers or contributors. Roast the work, not the people.

  8. Output exactly four files in dx-roast/. Do not write to other locations. Do not skip files.


Step 1: Intake

Required:

  • repo — local path (default .) OR https://github.com/owner/repo URL

Optional:

ParameterDefaultDescription
tonehonestbrutal / honest / kind
output_dirdx-roast/Where to write the 4 output files
compare_tononeOptional second repo URL for benchmark comparison

If repo is a URL: clone to a temp dir using git clone <url> /tmp/dx-roast-<short-hash>. Scan from there. Delete temp dir after run.

If repo is . or local path: scan in place, do not modify anything.


Step 2: Discover

Read these files (each may be absent — note absence):

  • README.md — full contents, structure (headings), code blocks, image refs, badge URLs
  • CONTRIBUTING.md, CODE_OF_CONDUCT.md
  • .github/ISSUE_TEMPLATE/, .github/PULL_REQUEST_TEMPLATE.md, .github/CODEOWNERS
  • package.json (description, homepage, repository, license, scripts), pyproject.toml, Cargo.toml, go.mod
  • LICENSE (existence + type)
  • docs/ folder contents (just file names + sizes)
  • examples/ or samples/ or cookbook/ folder
  • .github/workflows/*.yml (just names + brief CI presence check)

If repo is a URL, also fetch via gh:

bash
gh api repos/<owner>/<repo> --jq '{stars: .stargazers_count, forks: .forks_count, watchers: .subscribers_count, pushed_at, description, homepage, topics, default_branch}'
gh api repos/<owner>/<repo>/commits --jq '.[0].commit.author.date' | head -1
gh api repos/<owner>/<repo>/contributors --paginate --jq '[.[] | .login] | length'

Catch and continue if any GitHub call fails.


Step 3: Score 10 dimensions

For each of the 10 dimensions in references/scoring-rubric.md, output {score: 0–10, evidence: [...]} where evidence is a list of 1–3 short strings citing what you found.

Example:

json
"visual_proof": {
  "score": 4,
  "evidence": [
    "Found 1 screenshot at line 89 (below the fold)",
    "No animated demo / gif",
    "No video"
  ]
}

Sum scores → total (0–100) → grade (A/B/C/D/F per rubric).

Save to dx-roast/score.json with this exact shape:

json
{
  "repo": "<owner/repo or local path>",
  "scanned_at": "<ISO 8601 timestamp>",
  "dimensions": {
    "time_to_first_success": { "score": 7, "evidence": ["..."] },
    "what_is_this_clarity": { "score": 5, "evidence": ["..."] },
    "visual_proof": { "score": 4, "evidence": ["..."] },
    "install_simplicity": { "score": 9, "evidence": ["..."] },
    "runnable_quick_start": { "score": 8, "evidence": ["..."] },
    "documentation_depth": { "score": 6, "evidence": ["..."] },
    "examples": { "score": 5, "evidence": ["..."] },
    "community_signals": { "score": 3, "evidence": ["..."] },
    "trust_signals": { "score": 7, "evidence": ["..."] },
    "marketing_signals": { "score": 4, "evidence": ["..."] }
  },
  "total": 58,
  "grade": "D",
  "tone": "honest"
}

Step 4: Write the roast

Read references/roast-voice-guide.md. Apply the requested tone. Write 250–500 words to dx-roast/roast.md.

Required structure:

markdown
# DX Roast: <repo name>

**Grade: <letter> (<total>/100)** · Tone: <tone>

<Paragraph 1: the verdict. What works + the big gap.>

<Paragraph 2: cite 2 specific findings with file references.>

<Paragraph 3: cite 2 more findings, tie to dimension scores.>

<Paragraph 4 (optional): a final twist or comparison to a known good repo.>

<Closing paragraph: point to `action-plan.md` for the path forward.>

Every roast must reference at least 3 specific findings from score.json evidence arrays.


Step 5: Generate action plan

Compute priority = impact / effort_minutes for each candidate fix. Take top 5–10. Sort desc by priority.

For each fix, write to dx-roast/action-plan.md:

markdown
### N. <Fix in imperative voice, one line>

**Why:** <One-sentence justification. Reference which dimension it improves.>

**Impact:** +<X> points · **Effort:** <5min / 30min / 2h / half-day>

**How:**

1. <Concrete step 1>
2. <Concrete step 2>
3. <Concrete step 3>

<Optional code/markdown snippet showing exact change>

Open action-plan.md with:

markdown
# Action Plan — <repo name>

Current grade: <letter> (<total>/100)
Top fixes ranked by impact × effort. Do these in order.

---

Step 6: Generate ideal README

Read references/readme-template.md. Fill the template per "Filling rules" section. Write to dx-roast/ideal-readme.md.

Use placeholders <homepage_url> etc. for missing values. Length cap: 100 lines.


Step 7: Terminal summary

Print this exact format to the user:

DX Roast complete — Grade: <letter> (<total>/100)

Top 3 fixes (impact-ranked):
  1. <fix 1>                                +<X> pts  · <effort>
  2. <fix 2>                                +<X> pts  · <effort>
  3. <fix 3>                                +<X> pts  · <effort>

Files:
  → dx-roast/roast.md          (shareable verdict)
  → dx-roast/action-plan.md    (prioritized fixes)
  → dx-roast/ideal-readme.md   (target state)
  → dx-roast/score.json        (raw scores)

If compare_to was provided, add a comparison line:

Benchmark: <other repo> scores <X>/100 (grade <Y>) — gap of <delta> points.

Show full SKILL.md (379 more words)Show less

Self-QA (every run, before printing the terminal summary)

  • All 10 dimensions in score.json have score + evidence
  • Total equals sum of dimensions
  • Grade letter matches the total per rubric thresholds
  • Roast references at least 3 evidence items from score.json
  • Roast does not name any maintainer / contributor
  • Action plan has 5–10 items, sorted desc by priority
  • Ideal README is < 100 lines
  • Ideal README uses <placeholder> for any URL not found in scan
  • All 4 files exist in output_dir
  • No <TBD> / <TODO> placeholders in roast.md or action-plan.md

If any check fails, fix and re-run that step.


Error handling

These four failure modes get explicit handling — never let the skill silently produce a partial output without surfacing the cause.

CaseBehavior
repo doesn't exist OR can't be cloned OR can't be readExit immediately with the message Repo not found or inaccessible: <repo>. Do not write any output files.
README.md is missingRun anyway. Score what_is_this_clarity, visual_proof, runnable_quick_start, and marketing_signals near 0. Use the absence as the opening of the roast ("No README is its own statement").
Repo is private + no GitHub auth availableTry a local clone (git clone <url>); if it fails, exit with Repo is private and no authentication is available. Suggest the user set GITHUB_TOKEN or pass a local path.
compare_to URL fails (network, 404, private, etc.)Continue without the benchmark. Add a single line to the roast: Note: requested benchmark against <compare_to> could not be fetched. Omit the Benchmark: line from the terminal summary.

Any GitHub API error (rate limit, transient 5xx) during Step 2 metadata fetch is caught and logged in score.json under trust_signals.evidence as "github metadata unavailable". The rest of the run proceeds.


Examples

Good invocation:

"Roast my repo at https://github.com/myorg/mytool — tone: brutal."

→ Skill clones, scans, scores, writes 4 files to dx-roast/, prints summary. Total runtime <60s for a typical repo.

Good comparison:

"DX audit on the current dir. Benchmark against https://github.com/vercel/next.js."

→ Scans both, scores current, includes benchmark line in roast and summary.


What this skill does NOT do

  • Does not modify the target repo (read-only scan)
  • Does not run security audits or dependency scans
  • Does not generate marketing copy (action items are concrete, not "rewrite for tone")
  • Does not produce images or assets (just placeholders)
  • Does not post to social media (writes shareable text only)

© Varnan-Tech, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/dx-roaster of Varnan-Tech/opendirectory.

  • SKILL.md
  • README.md
  • references/readme-template.md
  • references/roast-voice-guide.md
  • references/scoring-rubric.md

Open the folder on GitHubat commit 62e437a

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in Varnan-Tech/opendirectory, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Dx Roaster next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dx Roaster compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dx Roaster this skillVarnan-Tech/opendirectory6741 repos~2.5kAutomated safety check: PassMIT
Update .NET OS Packagesdotnet/core22k—~2.3kAutomated safety check: PassMIT
Beautify GitHub Readmeoil-oil/beautify-github-readme1.8k—~4.1kAutomated safety check: PassMIT
Library Documentation Seekerwithkynam/vibecode-pro-max-kit1.1k2 repos~1kAutomated safety check: NotesMIT
Update .NET Supported OS Matrixdotnet/core22k—~4.1kAutomated safety check: PassMIT
Debate ReviewamElnagdy/review-skills1322 repos~986Automated safety check: PassMIT

Similar skills

  • Official

    Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.

    22k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Beautify GitHub Readme

    oil-oil/beautify-github-readme

    Redesign GitHub README homepages or create project-native pure SVG, hybrid SVG-composed PNG/WebP, and opt-in animated GIF assets.

    1.8k GitHub stars~4.1k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Library Documentation Seeker

    withkynam/vibecode-pro-max-kit

    Looks up library and framework documentation through Context7 first, with bundled Node scripts as a fallback that fetch and analyze llms.txt files.

    1.1k GitHub starsUsed in 2 repos~1k tokens
    DevelopmentAuto-check: notes
  • Official

    Audits and updates the supported-os.json files for .NET releases, checking them against upstream lifecycle data and regenerating the markdown with the release-notes tool.

    22k GitHub stars~4.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Debate Review

    amElnagdy/review-skills

    Two-model debate review of a GitHub PR, GitLab MR, Azure DevOps PR, or local working tree, posted as inline comments or printed.

    132 GitHub starsUsed in 2 repos~986 tokens
    DevelopmentAuto-check passed
  • Post Draft Review

    agent-substrate/substrate

    Posts pull request review findings as GitHub draft (pending) inline comments for a human to edit and submit, instead of publishing them straight to the PR author.

    4.5k GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed

More from Varnan-Tech/opendirectory

All 61 skills in this repo
  • Podcast Transcript Fetcher

    Varnan-Tech/opendirectory

    A skill your agent uses when fetching, searching, or analyzing transcripts from Lenny's Podcast, Dwarkesh Podcast, Cheeky Pint, 20VC, or A16z Podcast.

    674 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check: notes
  • Graphic Ebook

    Varnan-Tech/opendirectory

    Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.

    674 GitHub stars~5k tokensUpdated 1 mo ago
    Auto-check passed
  • Where Your Customer Lives

    Varnan-Tech/opendirectory

    Given a product utility and ICP, researches the internet to find the specific channels.

    674 GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Docs From Code

    Varnan-Tech/opendirectory

    Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture.

    674 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Chart

    Varnan-Tech/opendirectory

    Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6.

    674 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Gif

    Varnan-Tech/opendirectory

    Creates animated looping GIFs from CSS animations (default) or AI image-to-video.

    674 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Dx Roaster

What does Dx Roaster do?

Brutally honest developer-experience audit for a GitHub repo. Dx Roaster is an agent skill from Varnan-Tech/opendirectory. Brutally honest developer-experience audit for a GitHub repo.

When should I use Dx Roaster?

Dx Roaster fits situations like: user says roast my repo; audit my README; developer experience review; score my GitHub project.

How do I install Dx Roaster in Claude Code?

Run `npx skills add Varnan-Tech/opendirectory --skill dx-roaster -a claude-code`. Or copy the skill folder (skills/dx-roaster in Varnan-Tech/opendirectory) into .claude/skills/dx-roaster in your project. Claude Code loads it when a task matches its description.

How do I install Dx Roaster in Codex?

Run `npx skills add Varnan-Tech/opendirectory --skill dx-roaster -a codex`. Or copy the skill folder (skills/dx-roaster in Varnan-Tech/opendirectory) into .agents/skills/dx-roaster in your project. Codex loads it when a task matches its description.

Can I use Dx Roaster in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Varnan-Tech/opendirectory --skill dx-roaster -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dx-roaster, .gemini/skills/dx-roaster, .github/skills/dx-roaster and .opencode/skills/dx-roaster in your project.

What does Dx Roaster need to run?

Going by SKILL.md and its folder, Dx Roaster needs the command-line tools its instructions call (gh and git) and credentials named GITHUB_TOKEN. Our summary lists: A credential in GITHUB_TOKEN. Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"].

Does Dx Roaster access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Dx Roaster safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Dx Roaster use?

Dx Roaster is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dx Roaster use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.5k tokens, read only when the agent opens those files.

What are the alternatives to Dx Roaster?

Skills that share tags, products or a category with Dx Roaster: Update .NET OS Packages (dotnet/core, 22k stars), Beautify GitHub Readme (oil-oil/beautify-github-readme, 1.8k stars), Library Documentation Seeker (withkynam/vibecode-pro-max-kit, 1.1k stars) and Update .NET Supported OS Matrix (dotnet/core, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dx Roaster?

Varnan-Tech (a GitHub organization) maintains it in Varnan-Tech/opendirectory, which has 674 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on August 16, 2026.

Source: Varnan-Tech/opendirectory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.