set-parent

set-parent is a skill for Claude Code from nick-pape/grackle. It costs 45 tokens per session (480 once invoked), scanned A, original, MIT.

A tool for linking GitHub issues as parent and child tasks. GitHub issues are work items, and a sub-issue is a smaller item tracked under a larger one.

In plain words
What is it for?
Making one issue a sub-issue of another or removing that relationship.
Why use it?
It makes the relationship between a larger piece of work and its smaller tasks visible in GitHub.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/nick-pape/grackle/set-parent
Any agent
npx skills add nick-pape/grackle --skill set-parent
Clone the repo
git clone --depth 1 https://github.com/nick-pape/grackle

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for set-parent

README.md
[![agentmods](https://agentmods.dev/badge/skills/nick-pape/grackle/set-parent.svg)](https://agentmods.dev/skills/nick-pape/grackle/set-parent)
Your own site
<a href="https://agentmods.dev/skills/nick-pape/grackle/set-parent"><img src="https://agentmods.dev/badge/skills/nick-pape/grackle/set-parent.svg" alt="Measured on agentmods" height="20"></a>
Per session 45 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 480 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00045 $0.00480
Opus 5 $0.00023 $0.00240
Sonnet 5 $0.00009 $0.00096
Haiku 4.5 $0.00005 $0.00048

Measured 6d ago against content hash e76a9bebe1b6, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

set-parent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/set-parent/SKILL.md · 67 lines

What it actually says

Set Parent — GitHub Sub-Issue Relationships

Manages parent/child (sub-issue) relationships between GitHub issues using the GraphQL API.

REPO_OWNER="nick-pape"
REPO_NAME="grackle"

Usage

  • /set-parent <child#> <parent#> — make child a sub-issue of parent
  • /set-parent remove <child#> <parent#> — remove the sub-issue relationship

Step 1: Get Node IDs

Fetch node IDs for both issues:

gh api graphql -f query='
  query($owner: String!, $name: String!, $parent: Int!, $child: Int!) {
    repository(owner: $owner, name: $name) {
      parent: issue(number: $parent) { id title }
      child: issue(number: $child) { id title }
    }
  }
' -f owner="$REPO_OWNER" -f name="$REPO_NAME" -F parent=<PARENT_NUMBER> -F child=<CHILD_NUMBER>

Step 2: Mutate

Add sub-issue

gh api graphql -f query='mutation {
  addSubIssue(input: {
    issueId: "<PARENT_NODE_ID>",
    subIssueId: "<CHILD_NODE_ID>"
  }) { issue { number title } subIssue { number title } }
}'

Remove sub-issue

gh api graphql -f query='mutation {
  removeSubIssue(input: {
    issueId: "<PARENT_NODE_ID>",
    subIssueId: "<CHILD_NODE_ID>"
  }) { issue { number title } subIssue { number title } }
}'

Field names (easy to mix up):

  • issueId = the parent
  • subIssueId = the child

Step 3: Confirm

Report what was done: "Made #child a sub-issue of #parent" or "Removed #child from #parent's sub-issues."

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 67 lines · 45 tokens per session scan A e76a9bebe1b6

Subscribe to this mod's changes

set-parent is a skill published in the GitHub repository nick-pape/grackle (21 stars, last pushed 2mo ago), licensed MIT. It adds 45 tokens to every session and 480 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

copilot-pr-review-loop

Drive a GitHub pull request through repeated rounds of Copilot code review until convergence. Use when the user asks to "request Copilot review", "run a Copilot review loop", iterate on Copilot feedback, or wants automated triage-and-respond on Copilot PR comments. Covers re-request mechanics, open-thread filtering…

microsoft/intelligent-terminal · 91 tokens

upstream-sync

Periodically sync new commits from microsoft/terminal into this manually-forked intelligent-terminal repo by cherry-picking commit-by-commit onto a dated sync branch, auto-skipping revert pairs and empty commits, auto-resolving known take-upstream files, and stopping cleanly on genuine conflicts. The agent (you…

microsoft/intelligent-terminal · 139 tokens

release-notes

Generate user-facing release notes for Intelligent Terminal. Use when asked to write release notes, changelog, what-is-new summary, or prepare a release. Compares git commits between releases, looks up PR-linked issues and community contributors, then outputs formatted notes with "Verbed + Impact + Scenario" style…

microsoft/intelligent-terminal · 73 tokens

add-acp-agent-support

Add first-class support for an ACP-compatible agent CLI to Intelligent Terminal. Use when integrating a new built-in AI agent, ACP server command, authentication flow, model selection, interactive delegation, session hooks, onboarding, Settings, branding, GPO policy, documentation, tests, build, deployment, or live…

microsoft/intelligent-terminal · 72 tokens

pr-integration-test

Design, implement, and validate Intelligent Terminal integration tests for a target pull request or regression. Use when asked to add PR integration tests, convert a bug fix into E2E coverage, prove existing behavior still works, map tests to the release checklist, or verify E2E reports mark checklist cases complete.

microsoft/intelligent-terminal · 66 tokens

opentag

Deploy or operate OpenTag's supported paired setup when a user needs to bootstrap the self-hosted Docker Compose Control Plane and Slack Source App, configure or pair a local ACP Runner with a GitHub Project Target, start the Runner service, verify readiness, or diagnose a Slack mention that did not complete.

amplifthq/opentag · 64 tokens