AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Implement Issue

skill-cloud-peek-agent-skills-implement-issue · by Cloud-Peek

Use when the user wants to implement a GitHub issue end-to-end: fetch issue context, claim it (assign yourself, set status to In progress), create a branch, plan, code, validate, push, and open a draft PR.

No reviews yet
0 installs
38 views
0.0% view→install

Install

$ agentstack add skill-cloud-peek-agent-skills-implement-issue

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-cloud-peek-agent-skills-implement-issue)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Implement Issue? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Implement Issue

Implement a GitHub issue end-to-end: resolve the issue, claim it, create a branch from the default base, plan the change, implement, validate, push, and open a draft PR using the pr-from-branch skill.

Resolve The Issue

Accept:

  • Full issue URL: extract owner, repo, and issue number.
  • Bare number: infer owner and repo from gh repo view --json owner,name.
  • #123: strip # and treat as a bare number.

If no argument or an unparseable argument is provided, stop and ask for an issue link or number.

Prerequisites

Verify:

git rev-parse --is-inside-work-tree
git status --porcelain
gh --version
gh auth status

The worktree must be clean before branching. If dirty, stop and ask the user to commit or stash; do not include unrelated work.

Fetch The Issue

Read the issue body and every comment:

gh issue view "" --repo "/" \
  --json number,title,body,labels,assignees,state,url,comments

If the issue is closed, stop and confirm with the user before continuing.

Extract acceptance criteria, linked designs or PRs, named files, scope hints, labels, and comment updates that override the original body.

Claim The Issue

Once the issue is confirmed open and you're going to work it, claim it before branching.

Assign yourself with @me (resolves to the authenticated gh user — don't hardcode a username):

gh issue edit "" --repo "/" --add-assignee @me

Set the project Status to "In progress". Status lives on a GitHub Projects (v2) board, not on the issue, so use the GraphQL API. The issue may sit on more than one board — update each that has a Status field.

  1. Find the issue's project items and project IDs:
gh api graphql -f query='
  query($owner:String!, $repo:String!, $number:Int!) {
    repository(owner:$owner, name:$repo) {
      issue(number:$number) {
        projectItems(first:20) { nodes { id project { id title number } } }
      }
    }
  }' -F owner="" -F repo="" -F number=""

If projectItems is empty, the issue isn't on a board — note it and skip the status update; don't guess which board to add it to.

  1. For each item, resolve the "Status" single-select field id and the option whose name matches "In progress" (case-insensitive):
gh api graphql -f query='
  query($project:ID!) {
    node(id:$project) {
      ... on ProjectV2 {
        field(name:"Status") { ... on ProjectV2SingleSelectField { id options { id name } } }
      }
    }
  }' -F project=""
  1. Apply the update:
gh api graphql -f query='
  mutation($project:ID!, $item:ID!, $field:ID!, $option:String!) {
    updateProjectV2ItemFieldValue(input:{
      projectId:$project, itemId:$item, fieldId:$field,
      value:{ singleSelectOptionId:$option }
    }) { projectV2Item { id } }
  }' -F project="" -F item="" -F field="" -F option=""

These are best-effort. If a call fails (e.g. the token lacks the project scope — gh auth refresh -s project grants it), report it and continue with the implementation rather than aborting.

Create The Branch

Resolve the base branch from the GitHub default branch, falling back to main, then master. Verify it exists on origin, fetch it, and branch from origin/.

Check recent merged PR branch naming:

gh pr list --state merged --limit 10 --json headRefName --jq '.[].headRefName'

Pick a short kebab-case branch name matching repo convention and derived from the issue title. If the branch already exists locally, stop and ask whether to reuse it or pick another name.

Read Project Conventions

Before planning, read:

  • Root CLAUDE.md or AGENTS.md.
  • Nested convention files under directories likely to change.
  • Linked docs or contribution files.
  • Relevant package.json scripts.

Project instructions override this skill when they conflict.

Plan

For anything beyond a one-line fix, create a step-by-step plan. If the project requires a task file, write the plan there too.

Cover:

  • Files and modules expected to change.
  • Tests required and coverage expectations.
  • Migrations, env vars, or config changes.
  • Manual verification for UI work.
  • Design questions requiring user input before coding.

For large or unfamiliar areas, use subagents for focused exploration when available.

Implement

Work through the plan incrementally and update task status as items complete.

Guidelines:

  • Make the minimum change satisfying the issue.
  • Add unit tests for new code when project rules require them.
  • Mock external dependencies.
  • Match neighboring code patterns.
  • Use shared components and utilities.
  • Never commit secrets or real credentials.

If scope expands materially or the issue appears wrong, stop and re-plan with the user.

Validate

Run project validation from local instructions and scripts. Common Bun baseline:

bun fmt
bun lint
bun typecheck
bun test

Fix validation failures caused by the work. If a failure is unrelated and pre-existing, report it and stop rather than hiding it.

For UI changes, start the app and verify the main path plus at least one edge case.

Commit And Push

Stage only intentionally edited files. Never use git add -A or git add ..

Check staged paths:

git diff --cached --name-only

Use the repo's commit style. Reference the issue in the commit body with Closes # or Refs #.

Push with upstream tracking:

git push -u origin "$(git branch --show-current)"

If push fails, report the exact error and stop.

Draft PR

Invoke the pr-from-branch skill with the resolved base branch. The PR should be draft and the body must include Closes #.

Before creation, verify:

  • The title reflects the issue intent.
  • The body contains the close keyword.
  • Labels match touched paths and existing labels.
  • Draft status is set.

If a PR already exists for the branch, report its URL instead of recreating it.

Hand Back

Summarize:

  • Issue claim outcome (assigned to you; Status → "In progress") — flag it if skipped or failed.
  • Branch name.
  • Draft PR URL.
  • Files touched.
  • Tests added and passed.
  • Manual checks or follow-ups.

Guardrails

  • Never force-push or rewrite history.
  • Never close the issue directly.
  • Never bypass hooks or validation unless explicitly authorized.
  • Never commit .env files or generated secrets.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.