agentleFS
sponge-b0bsponge-b0b/Polaris/.agents/skills/github-issue-dependencies/SKILL.md

github-issue-dependencies

Skill4 starsChanged 3 months agoApache-2.0View on GitHub

Internal GitHub relationship helper used by `$to-specs`, `$to-tickets`, and `$project-delivery-management` for authorized native parent/child and dependency mutations. Documents current `gh` CLI relationship flags so lifecycle owners do not duplicate tracker mechanics.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 11 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not let this helper decide whether a dependency is semantically required, where it belongs, which lifecycle owns it, or whether a Spec …

    line 18
  2. Distinctive:

    All four flags can be combined in one call.

    line 29
  3. Very specific:

    Only $to-tickets may use this helper to establish direct-decomposition parentage during ticket publication/reconciliation.

    line 33
  4. Distinctive:

    Do not substitute an upstream provenance issue for the direct decomposition parent.

    line 40
  5. Distinctive:

    If an authorized caller needs a native operation the installed CLI cannot perform, return the tool/version blocker to that caller.

    line 63
  6. Very specific:

    Do not browse GitHub documentation, search the web, probe REST or GraphQL alternatives, try raw gh api relationship mutations, or …

    line 69
  7. Very specific:

    If the required gh version or prescribed flag is unavailable, unsupported, or fails because the local CLI/API contract has drifted, return …

    line 71
  8. Very specific:

    Use gh issue edit directly for existing issue relationships.

    line 75
  9. Distinctive:

    Remove its native parent:

    line 85
  10. Distinctive:

    When operating from the parent side:

    line 91
  11. Distinctive:

    Add or remove dependency relationships:

    line 100
  12. Distinctive:

    After every native relationship mutation, the caller must re-read the affected issue relationship and require the requested result:

    line 117
  13. Distinctive:

    add → exact relationship exists.

    line 119
  14. Distinctive:

    remove → exact relationship is absent.

    line 120
  15. Distinctive:

    If verification fails, return the mutation/verification failure to the semantic owner.

    line 123

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GitHub Issue Dependencies

This is a mechanical relationship helper, not a semantic lifecycle owner and not a standalone Human Handoff.

Authorized callers:

  • $to-specs — native Spec dependency mutations after it has established semantic ownership and cycle safety. This includes same-Wayfinder-lineage Spec prerequisites and every Spec prerequisite where either endpoint is intentionally Independent;
  • $to-tickets — native direct-decomposition hierarchy plus dependency edges it already owns;
  • $project-delivery-management — native blocked by / blocking mutations only after it has established cross-Wayfinder semantic ownership, lowest-accurate placement, and cycle safety. Both dependency endpoints must be Wayfinder-managed.

Do not let this helper decide whether a dependency is semantically required, where it belongs, which lifecycle owns it, or whether a Spec is Wayfinder-managed versus Independent.

Native gh flags

As of gh CLI v2.94.0 (June 2026), gh issue create supports:

  • --parent <number> — creates the new issue as a native sub-issue of <number>;
  • --blocked-by <numbers> — marks the new issue as blocked by the given issue number(s)/URL(s), comma-separated for multiple;
  • --blocking <numbers> — marks the new issue as blocking the given issue number(s)/URL(s);
  • --type <name> — sets the issue type, if your tracker uses GitHub's issue types.

All four flags can be combined in one call.

$to-tickets hierarchy invariant

Only $to-tickets may use this helper to establish direct-decomposition parentage during ticket publication/reconciliation.

Resolve <native_parent_issue_number> from the artifact directly decomposed by $to-tickets:

  • ordinary Spec ticketing → the Spec issue number;
  • Spec Review remediation → the Spec Review issue number.

Do not substitute an upstream provenance issue for the direct decomposition parent. In particular, a remediation ticket's originating Parent Spec remains lifecycle/branch provenance and is not its native GitHub parent.

Example:

gh issue create \
  --title "..." \
  --body "..." \
  --parent <native_parent_issue_number> \
  --blocked-by <blocker_1_number>,<blocker_2_number> \
  --label ready-for-agent

$to-specs and $project-delivery-management must not use --parent, --remove-parent, --add-sub-issue, or --remove-sub-issue when reconciling dependency edges.

Before relying on this

Confirm the installed gh version supports the required relationship flags:

gh --version   # needs >= 2.94.0

If an authorized caller needs a native operation the installed CLI cannot perform, return the tool/version blocker to that caller. Do not silently replace native relationships with text or raw GraphQL from this helper unless the owning lifecycle explicitly defines that fallback.

Deterministic execution rule

The commands and flags in this helper are the prescribed mechanics for authorized native issue relationships. Use them directly.

Do not browse GitHub documentation, search the web, probe REST or GraphQL alternatives, try raw gh api relationship mutations, or experiment with alternate command forms while executing a lifecycle transition.

If the required gh version or prescribed flag is unavailable, unsupported, or fails because the local CLI/API contract has drifted, return that exact blocker to the lifecycle owner. Do not discover or invent a fallback during the lifecycle run.

Editing relationships on an already-published issue

Use gh issue edit directly for existing issue relationships.

Parent/sub-issue operations — $to-tickets only

Set or change an issue's native parent:

gh issue edit <issue_number> --parent <native_parent_issue_number>

Remove its native parent:

gh issue edit <issue_number> --remove-parent

When operating from the parent side:

gh issue edit <parent_issue_number> --add-sub-issue <child_issue_number>
gh issue edit <parent_issue_number> --remove-sub-issue <child_issue_number>

Dependency operations — authorized semantic owner required

Add or remove dependency relationships:

gh issue edit <issue_number> --add-blocked-by <blocker_numbers_or_urls>
gh issue edit <issue_number> --remove-blocked-by <blocker_numbers_or_urls>
gh issue edit <issue_number> --add-blocking <blocked_issue_numbers_or_urls>
gh issue edit <issue_number> --remove-blocking <blocked_issue_numbers_or_urls>

The relationship flags accept comma-separated issue numbers or URLs where multiple relationships are supported.

For $to-specs, mutate only the exact Spec dependency edge it semantically owns: either both Specs share the same Wayfinder lineage, or at least one endpoint is intentionally Independent under the repository Spec-governance rules. For $project-delivery-management, mutate only the exact cross-Wayfinder edge it authorized between two Wayfinder-managed endpoints. Neither caller may add/remove neighboring dependencies, hierarchy, labels, Project fields, or lifecycle state in the same helper call.

Verification

A zero exit status is not sufficient proof.

After every native relationship mutation, the caller must re-read the affected issue relationship and require the requested result:

  • add → exact relationship exists;
  • remove → exact relationship is absent;
  • parent change → exact direct parent matches.

If verification fails, return the mutation/verification failure to the semantic owner. Do not compensate by writing text-based duplicate relationship state.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.