Skip to content
Back to skills

Uselink Report

ASecurity

Generate formatted HTML reports and publish them to uselink. Use when the user asks for a code review report, architecture overview, sprint summary, daily standup report, or any structured report they want shared via a link.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
data-aigobashgitapi

Works with

  • terminal
  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add compilet-dev/agent-skill-uselink --skill uselink-report --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Uselink Report?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Uselink Report
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/compilet-dev-uselink-report/badge)](https://www.skillsdirectory.com/skills/compilet-dev-uselink-report)

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: uselink-report
description: "Generate formatted HTML reports and publish them to uselink. Use when the user asks for a code review report, architecture overview, sprint summary, daily standup report, or any structured report they want shared via a link."
allowed-tools:
  - Bash
  - Read
  - Write
  - Glob
  - Grep
---

# Uselink Report Generator

> See `report-templates.md` for HTML templates and per-report-type data gathering commands.

## Prerequisites

Before generating any report, verify:

1. **CLI installed** -- `which uselink` must resolve. If not, tell the user to run `npm install -g uselink`.
2. **CLI configured** -- `~/.uselink/config.json` must exist with `api_key`. If not, tell the user to run `uselink login` in their terminal (interactive -- Claude cannot run it).

Stop here if either check fails. The user must fix these.

## Report Types

| Type | Trigger phrases | Data sources |
|------|----------------|--------------|
| Code review | "review report", "code review summary" | `git diff`, file reads, grep |
| Architecture | "architecture report", "system overview" | Directory scan, key config files |
| Sprint/daily | "sprint report", "daily summary", "standup" | `git log --since`, `gh pr list` |
| Custom | Anything else that asks for a "report" | Conversation context, user instructions |

If the type is ambiguous, ask. Do not guess.

## Workflow

1. **Determine report type** from the user's request.
2. **Gather data** using the commands and file reads listed in `report-templates.md` for that report type.
3. **Generate HTML** by filling the matching template from `report-templates.md`. Write to `/tmp/uselink-report-<type>-<timestamp>.html`.
4. **Publish** with `uselink publish <file> --title "<Report Title>" --format html`.
5. **Return the URL** as the primary output.

## Key Rules

- Always use `--format html`. Reports are HTML, not markdown.
- Title format: `<Type> Report -- <Project> -- <Date>`. Example: `Code Review -- my-project -- 2026-05-25`.
- Infer project name from the git remote or directory name.
- Date in titles uses `YYYY-MM-DD`.
- Do not ask the user which template to use -- pick based on the report type.
- The temp file is not cleaned up so the user can re-publish after edits.

## Content Rules

- Use real data from the repo. Never fabricate commits, file names, or findings.
- For code review reports, run the actual diff and analyze it. Do not summarize from memory.
- For sprint reports, use `git log` output, not guesses about what was worked on.
- Keep reports concise. A 200-line HTML report is better than a 2000-line one.

## Gotchas

- **`uselink login` is interactive.** Claude cannot run it. If config is missing, tell the user to run it themselves and stop.
- **HTML must use inline CSS only.** Uselink strips `<link>` and `<style>` tags that reference external files. All styles go in `style` attributes or a single `<style>` block in `<head>`. See templates in `report-templates.md`.
- **Publishing always creates a new document.** There is no upsert. If the user wants to update an existing report, they need to publish again and get a new URL.
- **The CLI prints the URL to stdout.** Capture full stdout from the publish command. The URL is typically the last line.
- **Large diffs can exceed context.** For code review reports on big PRs, summarize by file rather than including every line. Use `git diff --stat` first to scope the work, then read only the files with meaningful changes.
- **`git log` date formats matter.** Use `--format="%H|%an|%s|%ai"` for parseable output. Do not rely on the default pretty format.
- **Sprint "since" needs a sane default.** If the user does not specify a date range, default to 7 days for sprint reports and 1 day for daily summaries.

Files in this skill

  • SKILL.md3.7 KB
  • report-templates.md11.2 KB

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.