agentleFS
jwrobesjwrobes/skills/full-path-github/SKILL.md

full-path-github

Skill1 starsChanged 7 months agoMITView on GitHub

Confidence-gated orchestrator that takes a raw GitHub issue and delivers a reviewed, tested pull request on a personal GitHub project. Chains intake, enrichment, planning, execution, validation, and shipping with a three-tier confidence model. Use when the user says "full path", "orchestrate", "run the full pipeline", "take this issue end to end", or provides a GitHub issue URL for autonomous implementation.

  • Commits and pushes

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Add a single optional label orchestrator-blocked only when the orchestrator needs human input mid-flight.

    line 104
  2. Distinctive:

    Create the label once in the repo:

    line 126
  3. Very specific:

    Read phases/intake.md — execute it

    line 185
  4. Distinctive:

    When the user says "resume the orchestrator on issue #NNN":

    line 199
  5. Distinctive:

    Read the latest comment to find the human's response to the blocking question

    line 202
  6. Distinctive:

    Look at whether a draft PR exists to know how far along the run got

    line 203
  7. Distinctive:

    Read the sub-skill for the blocked phase

    line 205
  8. Very specific:

    Remove the orchestrator-blocked label

    line 207

≈ “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

Full Path Orchestrator (GitHub)

Confidence-gated pipeline. Takes a GitHub issue (raw or groomed) and delivers a reviewed, tested pull request. Stops only when it genuinely can't proceed — otherwise makes decisions, documents them, and moves on.

This is a personal-projects orchestrator: assumes one repo owner (you), no SLA, the gh CLI for all GitHub interaction, and the ~/workspace/ worktree convention — worktrees live in a sibling ~/workspace/{project}_workspace/ directory, named {project}-{slug}, on a build-{slug} branch (see Input and EXECUTE).

Intent Detection

KeywordsAction
"full path", "orchestrate", "end to end", "take this issue"Use this skill
"run the pipeline on #NNN", "implement this issue"Use this skill
"resume the orchestrator on #NNN"Resume from last phase

Input

RequiredDescription
Issue referenceGitHub issue URL, number, or owner/repo#NNN format
ProjectThe repo to implement in (e.g., jwrobes/some-project)
OptionalDefault
Modeauto (other options: plan-first, build-first)
Branch namebuild-{issue-slug}
Worktree path~/workspace/{project}_workspace/{project}-{slug}/

Prerequisites

Skills (at ~/workspace/skills/ or installed via install.sh)

SkillPhaseRequired
grill-meEnrichYes
structured-backlogPlanYes
tdd-pocockExecuteYes — the inner TDD loop
code-reviewEnrich + ValidateYes
scaffold-workspacePre-executeOptional but recommended
gh-pr-createShipYes
comprehension-artifactShipOptional, strongly encouraged (non-trivial work)

Tools

ToolPurpose
gh (GitHub CLI)Issue + PR + label operations
git (with worktree support)Isolated execution environment

Verify before starting:

gh auth status
ls ~/workspace/skills/{grill-me,structured-backlog,tdd-pocock,code-review,gh-pr-create}/SKILL.md

Sub-Skills

This orchestrator is a thin conductor. All phase logic lives in composable sub-skills under phases/. Read them in order as each phase begins:

full-path-github/
├── SKILL.md          # This file
└── phases/
    ├── guardrails.md  # READ FIRST — hard rules, confidence thresholds
    ├── intake.md      # Phase 1 — read issue, find code context
    ├── enrich.md      # Phase 2 — grill-me self-interrogation, pattern eval
    ├── plan.md        # Phase 3 — structured-backlog decomposition
    ├── execute.md     # Phase 4 — TDD loop via tdd-pocock
    ├── validate.md    # Phase 5 — tests + ACs + review rubric
    ├── ship.md        # Phase 6 — PR creation, execution log
    └── retrospect.md  # Phase 7 — friction analysis, skill creation

GitHub State Model (no state:: labels)

Personal projects don't need a six-state Kanban. The orchestrator uses three signals that are native to GitHub:

SignalMeaningHow to set
Issue is open with assignee = meWork in progressgh issue edit --add-assignee @me
Draft PR linked to the issueImplementation done, validatinggh pr create --draft
PR marked ready for reviewAll gates passed; awaiting human mergegh pr ready

Add a single optional label orchestrator-blocked only when the orchestrator needs human input mid-flight. The presence of that label is the only "blocked-on-human" signal — its absence means work continues.

Native dependencies & sub-issues (work-ordering signals)

GitHub provides two native relationships the orchestrator respects (GA 2025):

RelationshipMeaningAPI
Sub-issueParent tracker → child leavesPOST issues/{n}/sub_issues (-F sub_issue_id=<int>)
DependencyThis issue is blocked_by / blocking anotherPOST issues/{n}/dependencies/blocked_by (-F issue_id=<int>)

These differ from orchestrator-blocked (which is "blocked on a human"). blocked_by is "blocked on other work" — INTAKE's dependency gate refuses to start an issue with open blockers (see intake.md Step 1.5), and SHIP reports which downstream issues a merge will unblock (ship.md Step 6.5).

Gotcha: both POST bodies take an integer id (-F, not -f). The string form silently no-ops. Reads are eventually-consistent — trust the dependencies/blocked_by list over the summary count when they disagree.

Create the label once in the repo:

gh label create orchestrator-blocked --description "Full-path orchestrator blocked on human input" --color B60205 --force

Workflow

Issue URL + Project
  │
  ├─ 0. Read guardrails.md                    ── Always first
  │
  ├─ 1. INTAKE (intake.md)                    ── assign issue to me
  │     Fetch issue, find code context,
  │     dependency gate (skip if blocked_by open),
  │     vagueness gate (what/where/verify)
  │     → blocked if too vague OR has open blockers
  │
  ├─ 2. ENRICH (enrich.md)                    ── update issue body
  │     Pattern quality evaluation
  │     Grill-me self-interrogation
  │     Confidence-gated decisions
  │     → blocked if low-confidence (plan-first/auto mode)
  │
  ├─ 3. PLAN (plan.md)
  │     E2E hook check (build if missing)
  │     Structured-backlog decomposition
  │     Parallel group identification
  │
  ├─ 4. EXECUTE (execute.md)                  ── follow tdd-pocock per task
  │     Worktree set up via scaffold-workspace (if not already)
  │     Vertical-slice TDD: test→impl→test→impl
  │     Parallel groups via subagents (optional)
  │
  ├─ 5. VALIDATE (validate.md)
  │     Layer 1:   Tests pass
  │     Layer 1.5: Schema-refutation (refute-first; external-contract code)
  │     Layer 2:   ACs verified
  │     Layer 3:   code-review ≥ Solid
  │     Layer 4:   E2E hooks pass (if applicable)
  │     → blocked if validation fails after retry
  │
  ├─ 6. SHIP (ship.md)                        ── draft PR → ready for review
  │     Push branch, create draft PR (gh-pr-create)
  │     Execution log in PR description
  │     Mark PR ready when validation green
  │
  └─ 7. RETROSPECT (retrospect.md)
        Analyze session friction
        Create skills for gaps found
        Write implementable refactor plans

Execution

Fresh Start

  1. Read phases/guardrails.md
  2. Read phases/intake.md — execute it
  3. Read phases/enrich.md — execute it
  4. Read phases/plan.md — execute it
  5. Read phases/execute.md — execute it
  6. Read phases/validate.md — execute it
  7. Read phases/ship.md — execute it
  8. Read phases/retrospect.md — execute it

At each phase transition, append to the execution log (a markdown buffer the orchestrator carries through the run, embedded in the PR description at SHIP time).

Resume After Block

When the user says "resume the orchestrator on issue #NNN":

  1. Fetch the issue: gh issue view NNN --json title,body,labels,comments
  2. Read the latest comment to find the human's response to the blocking question
  3. Look at whether a draft PR exists to know how far along the run got
  4. Read phases/guardrails.md
  5. Read the sub-skill for the blocked phase
  6. Continue from where the phase stopped, incorporating the human's input
  7. Remove the orchestrator-blocked label

Resume mapping

SignalResume from
Issue assigned, no code context commentintake.md
Issue body enriched, no draft PRenrich.md or plan.md (check log)
Draft PR exists, tests failingexecute.md or validate.md
Draft PR exists, review failsvalidate.md

Mode Reference

ModeWhen to useLow-confidence behavior
plan-firstDefault. Architectural decisions, new features.Write parallel plan sketches, ask human to pick.
build-firstImplementation-level uncertainty.Build both options in parallel worktrees, compare in VALIDATE.
autoLet the orchestrator decide.Architectural → plan-first. Implementation → build-first.

Error Handling

ErrorAction
Issue is private and you don't have accessStop.
Issue has open blocked_by dependencies (intake)Add orchestrator-blocked, comment which issues block it, stop. Don't start blocked work.
Code context not found (intake)Add orchestrator-blocked label, comment asking for pointers
Vagueness gate failsAdd orchestrator-blocked label, comment listing unanswerable questions
Low-confidence decision (enrich)Mode-dependent: block or split
Tests fail after 2 attemptsStop and report
code-review phase scores 0 after retryStop and report
E2E validation can't be builtStop and report
gh CLI not authenticatedStop and report
Sub-skill file missingStop and list what needs to be installed

Output

When complete, report:

Full-path orchestrator complete.

  Issue:     {repo}#{number} — {title}
  PR:        {pr_url}
  Branch:    {branch_name}
  Worktree:  {worktree_path}

  Tasks:     {completed}/{total}
  Tests:     {pass_count} passing ({new_count} new)
  ACs:       {covered}/{total} verified
  Review:    {band} ({pct}%)
  E2E:       {pass/fail/n/a}

  Decisions: {high_count} high, {medium_count} medium (flagged)
  Blocks:    {block_count} encountered, {resolved_count} resolved

  Retrospect:
    Skills created:     {count}
    Refactors proposed: {count}

Review the PR when ready.

Composition

This skill composes other skills — each remains usable independently:

grill-me ─────────────┐
code-review ──────────┤
structured-backlog ───┤── full-path-github ──▶ PR
tdd-pocock ───────────┤
gh-pr-create ─────────┘
scaffold-workspace ──── (optional, for worktree setup)

Predecessor

A GitHub issue exists (raw or groomed). For personal projects this is typically your own brain dump — a sentence or two is fine; INTAKE will flag if it's too vague to proceed.

Successor

You review the PR. The orchestrator's execution log in the PR description provides full context for self-review.

Origin

Adapted from a private GitLab-flavored orchestrator. The TDD inner loop in EXECUTE delegates to the tdd-pocock skill (Matt Pocock's TDD skill, MIT-licensed, redistributed in this repo with attribution).

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.