Custom Claude Code skills for managing work across sessions using GitHub issues as execution plans.
Claude Code starts fresh every session. Complex tasks that span multiple conversations lose their thread: what's been done, what decisions were made, what's still pending.
Use a GitHub issue as a persistent plan. Six skills manage the full lifecycle:
| Skill | What it does |
|---|---|
/gh-create-plan |
Creates a structured GitHub issue with description, design, steps, diagram, and links as separate comments |
/gh-read-plan |
Reads the issue, identifies completed and pending steps, and briefs the session |
/gh-implement-plan |
Works through steps in order, commits after each step, checks off checkboxes |
/gh-update-plan |
Updates the issue with session progress, new decisions, and a commits table |
/gh-close-plan |
Consolidates session logs, captures learnings, finalizes commit hashes, and closes |
/handover |
Prepares a handover prompt for continuing work in a new session |
A new conversation can pick up exactly where the last one left off by reading the issue with /gh-read-plan, or by pasting a /handover prompt from the previous session.
Copy the skill directories into your Claude Code skills folder:
cp -r gh-create-plan gh-read-plan gh-implement-plan gh-update-plan gh-close-plan handover ~/.claude/skills/Or clone and symlink (recommended — picks up new skills on git pull):
git clone https://github.com/gjoranv/claude-plan-skills ~/git/claude-plan-skills
for d in ~/git/claude-plan-skills/*/SKILL.md; do
ln -sfn "$(dirname "$d")" ~/.claude/skills/
done/gh-create-plan owner/repo # Create a plan issue in the given repo
/gh-read-plan owner/repo#42 # Read the plan into the current session
/gh-implement-plan owner/repo#42 # Start implementing the plan
/gh-update-plan # Update the plan after a session
/gh-close-plan # Finalize and close the plan
/handover # Prepare a handover for a new session
After creating an issue, the skills accept a URL or owner/repo#number. If a plan issue was referenced earlier in the conversation, the argument can be omitted.
- Claude Code
- GitHub CLI (
gh) authenticated
These skills are described in Claude Code Doesn't Remember. Here's How I Fixed That.