Skip to content
cccskills
FreePublished on GitHub

pr-track-v1

Create a GitHub tracking issue from a merged Kilo v1 pull request, documenting behavior, edge cases, and acceptance criteria so an agent can verify or rebuild the same behavior in opencode v2.

OriginalShow the original description

Create a GitHub tracking issue in Kilo-Org/kilocode that captures a merged Kilo v1 PR's behavior so it can be re-implemented or verified in opencode v2. Use when the user invokes /pr-track-v1 or asks to track a v1 core fix/feature for the v2 rewrite.

Works withGitHub
See how to install

Good for

  • Track a v1 bug fix for the v2 rewrite
  • Document behavior and edge cases to preserve
  • Prepare implementation instructions for a v2 agent
  • Check whether a tracking issue already exists

Files included (1)

  • SKILL.md8.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Track V1 Change For V2

opencode v2 is a complete rewrite, so Kilo v1 fixes and features do not carry over automatically. This skill records what the behavior was and why it mattered in enough detail that a v2 agent can either confirm v2 already covers it or implement it from scratch without reading v1 code.

The /pr-track-v1 command is the normal entry point. Its arguments are optional context, not text to paste blindly into the issue.

Outcome

Finish with an issue in Kilo-Org/kilocode that:

  • Is titled [v2-port] <summary>, labeled core-v1-changes-port, and assigned to @me.
  • Opens with the auto-created provenance banner naming the source PR.
  • Describes the problem, the user-visible behavior contract, edge cases, and acceptance criteria — not a file-by-file diff narration.
  • Ends with a paste-ready Prompt For V2 Agent block.
  • Is linked back from a comment on the source v1 PR.
  • Contains no placeholders, invented motivations, or unverified claims.
  • Is reused rather than duplicated when a tracking issue for the same PR already exists.

Resolve The Source PR

  1. Run gh auth status and confirm access.

  2. Resolve the target repo explicitly on every gh call: pass --repo Kilo-Org/kilocode. The user may invoke this from a worktree or from another repository.

  3. Arguments may contain PR numbers, PR URLs, or several of them. With no argument, resolve the current branch's PR and confirm it is the intended one:

    gh pr view --repo Kilo-Org/kilocode --json number,url,title,state
    
  4. Do not guess. If no PR can be resolved, ask for the PR number instead of inventing one.

Inspect The Change

Gather the behavior, not the implementation:

gh pr view <N> --repo Kilo-Org/kilocode \
  --json number,url,title,body,state,mergedAt,mergeCommit,author,labels,files,commits,comments,reviews,closingIssuesReferences
gh pr diff <N> --repo Kilo-Org/kilocode

Priority sources for functional detail, in order:

  1. The PR body (problem / rationale / user-impact sections) and the changeset file in the diff. The changeset is written for end users and is the best one-line summary.
  2. Tests added or changed in the diff. They state the behavior contract and the edge cases.
  3. Linked issues (closingIssuesReferences) and review discussion. These hold the constraints and rejected alternatives that a rewrite is most likely to re-break.
  4. The code diff, last, and only to extract intent: ordering, retries, defaults, platform quirks.

Also record:

  • The affected surface: CLI/core, VS Code extension, JetBrains, gateway, or SDK.
  • Any config key, flag, env var, default, persisted state, or telemetry event introduced or changed.
  • Whether the change was a Kilo behavior change or an upstream-opencode workaround.

If the PR has no Kilo-specific behavior worth carrying over — dependency bump, pure upstream merge, formatting-only change — say so and stop without creating an issue.

Avoid Duplicates

gh issue list --repo Kilo-Org/kilocode --label core-v1-changes-port --state all \
  --search "pull/<N>" --json number,url,title

If a match references the same PR, report its URL and do not create a second issue. Update the existing body only when the user asks for it.

Ensure The Label Exists

gh label list --repo Kilo-Org/kilocode --search core-v1-changes-port
gh label create core-v1-changes-port --repo Kilo-Org/kilocode --color 5319e7 \
  --description "Kilo core v1 change to re-implement or verify in opencode v2"

Create the label only when the search returns no exact match. Treat an "already exists" error as success. If creation fails on permissions, report it rather than creating the issue unlabeled.

Title

Use [v2-port] <summary>:

  • Derive the summary from the user-visible outcome, not the branch name or commit subject.
  • Imperative, standalone-readable. No conventional-commit type and no [JetBrains] / [VS Code] prefixes.
  • Keep the whole title under 80 characters when practical.
  • Example: [v2-port] Keep queued user messages when a session aborts mid-stream.

Issue Body

Write the body to a temporary Markdown file and pass it with --body-file so multiline content and nested fences stay intact. Use this template:

> Auto-created by `/pr-track-v1` from Kilo v1 PR #<N>. The summary below is generated from that PR's
> changes, tests, and discussion for the opencode v2 rewrite — review it before planning.

## Context

<1-3 sentences: what the change was, which surface it affected, and whether it was a fix, feature, or
behavior change.>

## Problem In V1

<The concrete bug, limitation, or missing capability. Include the user-visible symptom and the exact
conditions that trigger it.>

## Behavior To Preserve In V2

- <User-visible behavior / contract item.>
- <Edge case, race, or failure mode that was explicitly handled.>
- <Config key, flag, default, env var, persisted state, or telemetry event introduced or changed.>

## Non-Goals

<What v1 intentionally did not handle, and v1-specific implementation that should not be carried over.
Write `None.` when there is nothing.>

## Why This May Not Carry Over Automatically

<Why a rewrite could plausibly miss it: non-obvious edge case, ordering or race, platform quirk,
upstream workaround. If v2's architecture likely covers it already, say that instead.>

## Acceptance Criteria

- [ ] Confirmed whether opencode v2 already provides this behavior, and where.
- [ ] If missing, behavior implemented idiomatically in v2 (not a code port).
- [ ] <Specific checkable verification, ideally derived from the v1 tests.>

## V1 Reference

- Source PR: <url> — `<title>`, merged <date>
- Linked issues: <refs or `None.`>
- Key v1 code (reference only, v2 is a rewrite): `path/to/file.ts:NN` — <one line on why it matters>

## Prompt For V2 Agent

```
You are working in the opencode v2 codebase. Kilo v1 shipped this behavior: <summary>.

First determine whether v2 already provides it. If it does, report where and stop.

If it does not, implement it idiomatically for v2 — do not port v1 code structure.

Required behavior:
- <contract item>
- <edge case>

Verify by: <check or test>.

Background (v1, different architecture): <PR url>.
```

Body rules:

  • Functional detail is the product. Keep code references to at most a few lines, and only when they carry intent a rewrite would miss. Omit Key v1 code entirely when the prose already covers it.
  • Never invent symptoms, issue links, telemetry names, or config keys. If the PR does not record why the change was made, write that the rationale is not recorded in the PR.
  • Resolve every <placeholder> before creating the issue.

Create, Assign, Link

gh issue create --repo Kilo-Org/kilocode \
  --title "$title" \
  --body-file "$body" \
  --label core-v1-changes-port \
  --assignee @me

Do not pass --project and do not use an issue template. These are internal v2 planning trackers, so the board requirement in the repository's gh-issues skill does not apply. If --assignee @me fails because the user is not assignable, report it instead of leaving the issue silently unassigned.

Then link back from the source PR:

gh pr comment <N> --repo Kilo-Org/kilocode \
  --body "Tracked for the opencode v2 rewrite in #<issue-number> (\`core-v1-changes-port\`)."

Delete the temporary body file. If the PR comment fails (locked PR, permissions), keep the issue and report the failure rather than retrying blindly.

Verify

  1. gh issue view <issue> --repo Kilo-Org/kilocode --json url,title,labels,assignees,body.
  2. Confirm the [v2-port] title, the core-v1-changes-port label, the @me assignee, every section present exactly once, and no unresolved placeholder.
  3. Confirm the back-link comment is visible with: gh pr view <N> --repo Kilo-Org/kilocode --json comments.
  4. Return the issue URL, the source PR, the one-line summary, and anything a human must fill in.

Multiple PRs

Process each PR independently and return one line per PR: the issue URL, or the reason it was skipped. When one PR clearly contains several independent behaviors, ask once whether to split before creating issues.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

chart

FreeSummary

Creates charts from numerical data using the chart tool and Chart.js v4. Supports bars, lines, pies, scatter plots, and other formats to show comparisons, trends, proportions, and relationships, with options for dataset colors and mixed charts.

  • Comparing values across categories with a bar chart
  • Showing monthly changes with a line chart
  • Displaying proportions with a pie or doughnut chart
Kilo-Org/kilocode27.7KUpdated Oct 18, 2026

effect

FreeSummary

Develop TypeScript services and workflows with Effect v4 by checking its source and existing project examples. Guides data schemas, typed errors, explicit dependencies, and tests that follow the project's established patterns.

  • Implementing services with Effect v4
  • Defining data schemas and typed errors
  • Organizing dependencies and HTTP handlers
Kilo-Org/kilocode27.7KUpdated Oct 18, 2026

gh-issues

FreeSummary

Create and manage GitHub issues for the Kilo VS Code extension or JetBrains plugin using gh, GitHub's command-line tool. Guides template selection, clear titles, required project board assignment, and authentication permissions.

  • Reporting a bug in the VS Code extension
  • Requesting a feature for the JetBrains plugin
  • Filing usage or design questions
Kilo-Org/kilocode27.7KUpdated Oct 18, 2026

icon-jetbrains

FreeSummary

Create and review SVG icons for IntelliJ New UI. Choose sizes by interface role, prepare matching light and dark versions, refine shapes and strokes, and place the assets in the plugin’s resource folders.

  • Creating icons for actions and tool windows
  • Preparing matching light and dark SVG versions
  • Adapting existing icons to a 16×16 canvas
Kilo-Org/kilocode27.7KUpdated Oct 18, 2026

icon-vscode

FreeSummary

Create and review icons for Kilo’s VS Code extension and webviews, the extension’s embedded interface panels. Choose existing icons or suitable SVG assets, register them correctly, and check theme appearance and accessible button names.

  • Choosing icons for commands, menus, and view containers
  • Adding icons to webview registries
  • Rescaling SVGs while preserving visual weight
Kilo-Org/kilocode27.7KUpdated Oct 18, 2026

jetbrains-arch

FreeSummary

Guides development across the Kilo JetBrains plugin’s shared, frontend, and backend modules. Explains remote calls between modules, UI thread rules, dependency packaging, and testing practices, including serialization failures that require checks in a running IDE.

  • Placing new code in the appropriate plugin module
  • Defining frontend and backend communication
  • Reviewing UI threading and coroutine usage
Kilo-Org/kilocode27.7KUpdated Oct 18, 2026

See all skills by Kilo-Org

Report a problem with this skill