Skip to content
Back to skills

Embed

ASecurity

Triage a newly filed bug against existing work — link duplicates and relations, flag possible regressions, create real dependency links for unfinished blockers, and always write a record (including "none found" or "could not complete")

  • 67 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
ai-agentsgobash

Works with

  • terminal
  • cli

Security analysis

A100/100

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

Scanned September 23, 2026

npx -y skills add gethuman-sh/human --skill embed --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Embed?

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

Security grade badge for Embed
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethuman-sh-embed-35c23d93/badge)](https://www.skillsdirectory.com/skills/gethuman-sh-embed-35c23d93)

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: human-relate
description: Triage a newly filed bug against existing work — link duplicates and relations, flag possible regressions, create real dependency links for unfinished blockers, and always write a record (including "none found" or "could not complete")
argument-hint: <bug-key>
---

# Overview

Point this skill at a freshly filed bug and it records where that bug sits among the existing work: what it duplicates or relates to, whether it looks like the return of something already closed, what unfinished work it must wait for (linked as a real dependency), and — when nothing was found — that statement. It runs **once, in a single pass**, using the same read/search/link CLI the ticket-reviewer already uses. It never sub-launches other agents.

This skill runs **without user interaction**. Do NOT use `AskUserQuestion` at any step — decide and record. The verdict is **advisory**: when the bug is later picked up for a fix, the fix pipeline's own triage remains the authority; this record informs it, it does not pre-empt it.

**The record is always written.** A bug with no links must never leave a reader guessing whether the search ran, found nothing, or died halfway. Every run ends with exactly one `[human:related]` marker whose head is `found`, `none`, or `incomplete`.

`$KEY` below is the bug key passed as the argument.

## The rules (these govern every decision)

- **Dependencies are linked for real, not suggested.** A bug that depends on unfinished work is held out of Planning and Implementation until its blocker closes — only a real `--blocks` link achieves that.
- **Direction is fixed: the newly filed bug waits on existing work, never the reverse.** A bug filed a minute ago can never stall something already in flight. The only card whose start it may delay is its own.
- **Never create a link that leaves two tickets waiting on each other.** Check before writing (Step 4). A mutual pair costs two dead cards; two similar bugs filed minutes apart is the realistic way to reach it.
- **Only an open ticket can become a blocker.** A closed one holds nothing and only adds noise.
- **A dependency needs stronger grounds than a relation.** When the evidence only supports "these are related", record a relation, not a dependency.
- **Every dependency states its reasoning on the bug**, one line per blocker, so a wrong one can be removed in one step.
- **A duplicate is never closed automatically.** Link it and state it; leave it open. Closing what someone filed a moment ago reads as the tool losing their report.
- **A match against an already-closed bug is a possible regression, not a duplicate.** It means something different and it is the more valuable finding. Do not create a `--blocks` link against a closed ticket.
- **Nothing is claimed on thin evidence.** A one-line bug with nothing to match against results in `none`, not a speculative link.

## Procedure

### 1. Announce the run

Post the visible progress marker so the bug never looks untouched while the triage runs:

```bash
human marker post $KEY related-started
```

### 2. Read the bug

```bash
human get $KEY
```

Read the title and description. If the bug is a single line with nothing concrete to match against — no error, no named surface, no reproducible behaviour — that is grounds for a `none` verdict (nothing is claimed on thin evidence). Proceed to search anyway, but hold this bar.

### 3. Search for siblings by subject, not wording

Search on the *subject* — the surface, symptom, and component — rather than the exact phrasing of the report:

```bash
human search "<subject terms>" --json --limit 20
human codenav search "<the code surface the bug touches>"
```

Exclude `$KEY` itself from the results. For each candidate that looks relevant, read it (`human get <other>`) so the classification in Step 4 rests on the ticket's real state, not the search snippet.

### 4. Classify each candidate and act

For each relevant candidate, decide which one it is and act:

- **Open bug, same defect → duplicate.** Link it as a plain relation and state it. Never close `$KEY`.
  ```bash
  human link $KEY <other>          # LinkRelated (the default — NO --blocks)
  ```
  Record: `duplicate of <other> (open)`.

- **Closed bug, same defect → possible regression** (NOT a duplicate). Do **not** create a `--blocks` link on a closed ticket. Record: `possible regression of <other> (closed)`.

- **Open work in flight, merely associated → relation.**
  ```bash
  human link $KEY <other>          # LinkRelated
  ```
  Record: `related to <other>`.

- **Open work `$KEY` must WAIT for → dependency.** Only on stronger grounds than a relation, and only when `<other>` is OPEN. Direction is fixed — existing work blocks the new bug:
  ```bash
  human link <other> $KEY --blocks   # <other> must finish before $KEY can start
  ```
  (`human link A B --blocks` means A must finish before B — so `<other>` blocks `$KEY`.)
  Record: `blocked by <other> — <one line of reasoning>`.

  **Cycle guard (check BEFORE writing the blocks link):** run `human get <other>` and inspect its links. If `<other>` is already blocked by `$KEY` (the two-bugs-filed-minutes-apart case), do NOT create the link — it would leave the two waiting on each other. Record a relation instead and note the averted cycle. This mirrors the daemon's own `cycleAmong` guard, which is the backstop; your check is the first line of defence.

Every dependency you create gets its own reasoning line in the record so a wrong one can be removed with a single `human unlink`.

### 5. Write the terminal record — always exactly one `[human:related]` marker

- **Something found or linked:**
  ```bash
  human marker post $KEY related --head found --body-file - <<'EOF'
  ## Related work
  - duplicate of <other> (open) — linked
  - related to <other> — linked
  - possible regression of <other> (closed)
  - blocked by <other> — <reasoning> (dependency linked)

  This record is advisory: the fix pipeline's own triage remains the authority when this bug is picked up.
  EOF
  ```

- **Search ran, nothing matched:**
  ```bash
  human marker post $KEY related --head none
  ```

- **The run could not finish** (a search failed, a link write errored, the container is dying) — name what could not be completed. This head deliberately does NOT set the card's completed-record flag, so the manual "Find related work" menu action still offers a re-run:
  ```bash
  human marker post $KEY related --head incomplete --body-file - <<'EOF'
  Could not complete: <what failed and where it stopped>.
  EOF
  ```

## Autonomy and boundaries

- No human gates — decide and record.
- Never close a ticket.
- Never link in the reverse (new-bug-blocks-existing) direction.
- Never create a `--blocks` link against a closed ticket.
- Never create a link that would leave two tickets waiting on each other.
- The record informs the later fix-pipeline triage; it never pre-empts it.

Files in this skill

  • brainstorm-codebase-agent.md3.3 KB
  • brainstorm-opportunities-agent.md3.7 KB
  • brainstorm-recon-agent.md3.3 KB
  • brainstorm-trajectory-agent.md3.4 KB
  • brainstorm-triage-agent.md4.5 KB
  • codenav-skill.md2.6 KB
  • features-recon-agent.md4.8 KB
  • features-synthesis-agent.md10.2 KB
  • findbugs-api-agent.md5.8 KB
  • findbugs-concurrency-agent.md5.6 KB
  • findbugs-errors-agent.md5 KB
  • findbugs-logic-agent.md4.8 KB
  • findbugs-recon-agent.md4.6 KB
  • findbugs-triage-agent.md4.7 KB
  • gardening-complexity-agent.md5.8 KB
  • gardening-duplication-agent.md5.2 KB
  • gardening-hygiene-agent.md6.6 KB
  • gardening-structure-agent.md5.3 KB
  • gardening-survey-agent.md7.1 KB
  • gardening-triage-agent.md8.6 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.