# Filing Issues

> File a well-crafted GitHub issue for tekton-pruner. Use when the user wants to report a bug, request a feature, propose a design change, or track a task. Searches for duplicates, asks clarifying questions, and creates the issue using the gh CLI following Tekton community conventions.

- Skill: `tektoncd/filing-issues` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tektoncd/filing-issues`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tektoncd/filing-issues/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- License: Apache-2.0
- Author: tektoncd (https://skillmd.com/u/tektoncd)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tektoncd/filing-issues

---


# Filing GitHub Issues

A good issue gives a reader everything they need to understand the problem
without prescribing a solution.

## Process

### 1. Identify the repository

Default repo: `tektoncd/pruner`. Confirm access:

```bash
gh repo view tektoncd/pruner
```

### 2. Search for duplicates

Before writing anything, search with at least two different query terms:

```bash
gh issue list --repo tektoncd/pruner --state all --search "<key terms>"
```

If a related issue exists, present it to the user. Do not file duplicates
without explicit go-ahead.

### 3. Ask clarifying questions

Identify what a stranger would need to understand the problem. Focus on:

- **Component**: controller, webhook, ConfigMap validation, metrics, e2e tests?
- **Trigger**: which ConfigMap field, annotation, resource type (PipelineRun/TaskRun)?
- **Observed vs expected**: what actually happens vs what should happen?
- **Version**: output of `kubectl get cm -n tekton-pipelines tekton-pruner-default-spec -o yaml`
  and `kubectl -n tekton-pipelines get deployment tekton-pruner-controller -o jsonpath='{.spec.template.spec.containers[0].image}'`
- **Reproduction**: is a minimal ConfigMap snippet reproducible?

Ask all questions in one message. Wait for answers.

### 4. Write the issue

**Title**: concise, scannable. Lead with the affected component.

Good: `pruner: TTL-based deletion fires on completed PipelineRuns with keep-history set`
Poor: `Issue with pruner not working`

**Body sections** (include only what applies):

- **What happens**: current behavior, error messages, logs
- **What should happen**: expected behavior
- **How to reproduce**: numbered steps from a clean state, include ConfigMap YAML
- **Context**: why it matters, who is affected

**What to leave out**: do not propose a fix in the issue body.

### 5. File the issue

After the user approves the draft:

```bash
gh issue create \
  --repo tektoncd/pruner \
  --title "<title>" \
  --body "$(cat <<'EOF'
<body>
EOF
)"
```

Return the issue URL.

## Constraints

- **Never file without user approval.** Present draft first.
- **Never propose a solution** in the issue body.
- **Never invent facts.** Ask if version or reproduction steps are missing.
- Match the issue template in `.github/ISSUE_TEMPLATE/`:
  `bug-report.md` for bugs, `feature-request.md` for features,
  `free-form.md` for anything else.

