<< All versions

Skill v1.0.1

currentAutomated scan100/100
benbrastmckie/nvim/skill-pr-implementation

+2 new

──Details
PublishedOctober 26, 2026 at 07:39 PM
Content Hashsha256:9c1e00f0cd38dde8...
Git SHA171b8fd9aba4
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 6.8 KB)
SKILL.md6.8 KBactive
SKILL.md · 165 lines · 6.8 KB

version: "1.0.1" name: skill-pr-implementation description: PR description preparation for CSLib tasks. Analyzes task description and git diff to produce pr-description.md. Delegates to cslib-implementation-agent and transitions task to [PR READY]. Branch creation and CI are handled by the /pr command. Invoke for pr implementation tasks. allowed-tools: Agent, Bash, Edit, Read, Write


PR Implementation Skill

Thin wrapper that delegates PR preparation work to cslib-implementation-agent subagent with PR-specific delegation context. The critical difference from skill-cslib-implementation is the postflight status transition: this skill calls pr_ready (not implement), setting the task to [PR READY] to direct the user to run /pr {task_number}.

Trigger Conditions

This skill activates when:

  • Task type is "pr"
  • /implement command targets a PR preparation task
  • A pr-description.md needs to be composed based on the task description and git diff

Execution Flow

Stage 1: Input Validation

Validate task_number exists, task_type is "pr", and an implementation plan is present.

Stage 2: Preflight Status Update

Update status to "implementing" BEFORE invoking subagent.

bash
bash .claude/scripts/update-task-status.sh preflight "$task_number" implement "$session_id"

Stage 3: Prepare Delegation Context

PR-specific context for the cslib-implementation-agent:

  • Target output: specs/{NNN}_{SLUG}/pr-description.md (canonical PR description file)
  • Diff analysis: Run git diff to analyze what changes are present on the current branch
  • Standards: pr-description-format.md and pr-conventions.md (loaded via index-entries.json languages: ["pr"])
  • Note: Branch creation and CI verification are handled by the /pr command
json
{
"session_id": "sess_{timestamp}_{random}",
"delegation_depth": 1,
"delegation_path": ["orchestrator", "implement", "skill-pr-implementation"],
"timeout": 3600,
"task_context": {
"task_number": N,
"task_name": "{project_name}",
"description": "{description}",
"task_type": "pr"
},
"plan_path": "specs/{NNN}_{SLUG}/plans/MM_{short-slug}.md",
"orchestrator_mode": true,
"metadata_file_path": "specs/{NNN}_{SLUG}/.return-meta.json",
"pr_description_path": "specs/{NNN}_{SLUG}/pr-description.md"
}

Important: The subagent's task is PR description composition only -- NOT branch creation, CI verification, or Lean proof implementation. The agent should:

  1. Read the task description and plan to understand what was implemented
  2. Run git diff (or git diff upstream/main...HEAD) to analyze changes on the current branch
  3. Compose pr-description.md following the canonical format from pr-description-format.md
  4. Determine base_branch (typically "main") and include it in the return metadata
  5. Write .return-meta.json with status implemented when done

Stage 4: Invoke Subagent

Use Agent tool with subagent_type: "cslib-implementation-agent".

Stage 4b: Self-Execution Fallback

CRITICAL: If you performed the work above WITHOUT using the Agent tool (i.e., you read files, wrote artifacts, or updated metadata directly instead of spawning a subagent), you MUST write a .return-meta.json file now before proceeding to postflight. Use the schema from return-metadata-file.md with the appropriate status value for this operation.

If you DID use the Agent tool, skip this stage -- the subagent already wrote the metadata.

Postflight (ALWAYS EXECUTE)

The following stages MUST execute after work is complete, whether the work was done by a subagent or inline (Stage 4b). Do NOT skip these stages for any reason.

Stage 5: Parse Subagent Return

Read the metadata file from specs/{N}_{SLUG}/.return-meta.json.

Stage 6: Update Task Status (Postflight — PR READY)

CRITICAL DIFFERENCE: This skill calls pr_ready as the status target, NOT implement. This sets the task to [PR READY] instead of [COMPLETED], directing the user to run /merge.

bash
bash .claude/scripts/update-task-status.sh postflight "$task_number" pr_ready "$session_id"

Do NOT call postflight implement -- that would incorrectly mark the task as [COMPLETED] before the PR has been submitted.

Stage 7: Link Artifacts

Add pr-description.md artifact to state.json with summary. Update TODO.md per @.claude/context/patterns/artifact-linking-todo.md with field_name=**Summary**, next_field=**Description**.

Artifact type: pr_description, path: specs/{NNN}_{SLUG}/pr-description.md.

base_branch: Also record the base branch in the state.json task entry. This field is read by the /pr command to set --base when creating the PR. Use the branch name the PR will target (e.g., "main" for direct upstream PRs, or "feat/parent-branch" for stacked PRs).

The subagent should determine and report the base branch used (typically "main" unless this task is stacked on top of another unmerged PR).

bash
# Write base_branch to state.json task metadata
base_branch_used="main" # or the parent branch for stacked PRs
bash .claude/scripts/state-write.sh \
'.active_projects |= map(if .project_number == $num then . + {"base_branch": $branch} else . end)' \
--session-id "$session_id" \
--argjson num "$task_number" \
--arg branch "$base_branch_used"

Stage 8: Git Commit

Commit changes with session ID.

Stage 9: Return Brief Summary

Include a message directing the user to run /pr {task_number} now that the task is [PR READY]:

PR description complete. Task is now [PR READY].
Run /pr {task_number} to create the branch, run CI, and submit the pull request.

MUST NOT (Postflight Boundary)

After the agent returns, this skill MUST NOT:

  1. Edit .lean files - All CSLib proof work is done by agent
  2. Run lake build/test/lint - Verification is done by agent
  3. Use lean-lsp MCP tools - Domain tools are for agent use only
  4. Grep for sorries - Debt analysis is agent work
  5. Write pr-description.md - Artifact creation is agent work
  6. Create feature branches - Branch creation is handled by the /pr command, not this skill
  7. Run CI pipeline - CI verification (lake test, lint, shake) is handled by the /pr command, not this skill
  8. Call `postflight implement` - This skill MUST use postflight pr_ready to set [PR READY]
PROHIBITION: If the subagent returned partial or failed status, the lead skill MUST NOT attempt to continue, complete, or "fill in" the subagent's work. Report the partial/failed status and let the user re-run /implement to resume.

The postflight phase is LIMITED TO:

  • Reading agent metadata file
  • Updating state.json via jq (using pr_ready status target)
  • Updating TODO.md status marker via Edit
  • Linking artifacts in state.json
  • Git commit
  • Cleanup of temp/marker files

Reference: @.claude/context/standards/postflight-tool-restrictions.md

Return Format

Brief text summary (NOT JSON).

← v1.0.0All versions