Skip to content
Back to skills

Issue Link Verification

ASecurity

Use when adding URLs to issue descriptions or comments. Verifies all links before posting to prevent broken references.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsgobashgitapi

Works with

  • api

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add bordenet/superpowers-plus --skill issue-link-verification --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Issue Link Verification?

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

Security grade badge for Issue Link Verification
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bordenet-issue-link-verification/badge)](https://www.skillsdirectory.com/skills/bordenet-issue-link-verification)

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: issue-link-verification
disable-model-invocation: true
source: superpowers-plus
triggers: ["add link to issue", "post comment with URL", "update description with reference", "link to PR in ticket", "reference commit in issue", "add repo link to ticket"]
anti_triggers: ["verify wiki links", "check wiki page links", "scan wiki"]
description: Use when adding URLs to issue descriptions or comments. Verifies all links before posting to prevent broken references.
summary: "Use when: adding URLs to issue descriptions or comments."
coordination:
  group: issue-tracking
  order: 3
  requires: []
  enables: []
  escalates_to: []
  internal: false
composition:
  consumes: [todo-items]
  produces: [verified-links]
  capabilities: [validates-links]
  priority: 25
---

# Issue Link Verification

> **Purpose:** Verify all URLs before including in issue descriptions/comments
> **Pattern:** Same rigor as wiki link verification — no broken links
> **Adapter:** See `_adapters/` for platform-specific configuration
>
> **Wrong skill?** Verifying wiki links → `link-verification`. Creating issues → `issue-authoring`. Verifying issue identifiers → `issue-verify`.

## When to Use

Invoke this skill when:

- Adding URLs to issue descriptions
- Posting comments with links
- Cross-referencing wiki pages
- Linking PRs/commits
- Any external URL in issue content

## Pre-Posting Link Check (MANDATORY)

<EXTREMELY_IMPORTANT>

**Before posting ANY content with URLs:**

1. **Extract all URLs** from content
2. **Verify each URL** by type
3. **Report verification status**
4. **Block if critical links fail**

</EXTREMELY_IMPORTANT>

## Link Type Verification Methods

| Link Type | How to Verify | On Failure |
|-----------|---------------|------------|
| **Internal Wiki** | Wiki API query | **HARD BLOCK** |
| **Pull Request** | Source control API | **HARD BLOCK** |
| **Repository** | Source control API | **HARD BLOCK** |
| **Issue Reference** | `verify_link` (URL) or `get_issue` (platform-native identifier) via adapter; `search_issues` for discovery only | **HARD BLOCK** if `exists: false`; route to source-control workflow if `entityType: "pull_request"`; **HARD BLOCK** if `entityType: "other"` (unknown non-issue entity — do not reference without reclassification); for `entityType: "unknown"` (permission/cross-workspace ambiguity) — **WARN** and stop until the user provides **explicit confirmation** that this reference is intentional; silence, unclear, off-topic, echo, and partial responses do not count as approval |
| **External URL** | `web-fetch` or `curl` | **WARN** |

## Verification Workflow

1. **EXTRACT** — Parse all URLs (`\[([^\]]+)\]\(([^)]+)\)` and bare `https?://` patterns)
2. **CATEGORIZE** — Wiki / Source Control / Issues / External
3. **VERIFY** — Check each by type (see below)
4. **REPORT** — Generate status table: `| # | Type | URL | Status | Notes |`
5. **GATE** — Block on HARD failures, warn on soft. Post only if verification passes.

## Verification by Type

**Wiki links**: Use wiki adapter's `get_page` operation. Common mistake: fabricating slugs from titles.

**Repository/PR links**: Use source control adapter's `get_pull_request` / `get_repository` operations. See `skills/issue-tracking/_adapters/`.

**Issue links**: Use your adapter's `verify_link` operation for URL-based verification, or `get_issue` for exact platform-native identifier lookup (key, number, or ID). Fall back to `search_issues` only for discovery. May fail if issue is in another workspace.

**External URLs**: `curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 "URL"` or `web-fetch`. Status: `200/301/302` → PASS · `401/403` → WARN · `404` → FAIL · `5xx` → WARN.

```bash
# Verify an external URL before posting
curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 "https://example.com/docs/setup"
# 200 → PASS, 404 → FAIL, 5xx → WARN (retry once)
```

## Hallucination Prevention

<EXTREMELY_IMPORTANT>

**AI commonly hallucinates these link patterns:**

| Pattern | Reality |
|---------|---------|
| `github.com/org/assumed-repo` | Repo may not exist or may be private |
| `/doc/assumed-page-name` | Wiki slugs include random IDs |
| `[your-tracker-url]/issue/XXX-999` | Issue may not exist |

**ALWAYS verify. Never assume URLs are valid.**

</EXTREMELY_IMPORTANT>

## Failure Modes

| Failure | Fix |
|---------|-----|
| Verifying domain but not full path — domain correct, slug fabricated | Verify the complete URL, not just the host |
| Skipping verification for URLs "verified earlier in conversation" | Context drifts — re-verify before every post |
| Link target exists but content doesn't match anchor text | Read the target page title, not just HTTP status |
| Timeout on link check marked as "warn" instead of "fail" | Transient timeout → retry once; persistent → fail |

## Companion Skills

- **link-verification**: General link verification (wiki-focused)
- **issue-authoring**: Creating issues with proper links
- **issue-comment-debunker**: Evidence-based comments
- **issue-editing**: Editing issues after link verification

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…