Skip to content

feat(github-sprint-planner): add GitHub Issues + Projects v2 sprint planning plugin#36

Open
rahul-infra wants to merge 7 commits into
mainfrom
feat/github-sprint-planner
Open

feat(github-sprint-planner): add GitHub Issues + Projects v2 sprint planning plugin#36
rahul-infra wants to merge 7 commits into
mainfrom
feat/github-sprint-planner

Conversation

@rahul-infra

@rahul-infra rahul-infra commented May 12, 2026

Copy link
Copy Markdown

Summary

  • New github-sprint-planner Claude Code plugin for sprint planning with GitHub Issues + Projects v2
  • Python MCP server built with FastMCP, httpx (REST + GraphQL), BeautifulSoup, and Pydantic
  • Reads sprint plan documents (HTML/markdown), diffs against GitHub Issues, and bulk-creates stories linked to epics
  • All mutations are logged to an append-only action log with rollback info

What was implemented

MCP Server (server/)

  • github_client.py — GitHub REST v3 + GraphQL v4 wrapper (issues, sub-issues, Projects v2, iterations)
  • config.py — Pydantic models for sprint-planner.json (org, repo, project number, team, epics)
  • parsers/ — HTML and markdown plan document parsers that extract stories
  • action_log.py — append-only JSON log of all write operations

MCP Tools (server/tools/)

  • sprint_sync — read-only diff of plan doc stories vs existing GitHub Issues
  • sprint_bulk_create — create issues in bulk, link as sub-issues to epic, add to Projects v2 with optional iteration
  • sprint_bulk_update — batch update assignees, labels, and state
  • sprint_bulk_rename — preview or apply epic prefix renames on issue titles
  • sprint_status — epic overview table with story counts by status and assignee
  • sprint_action_log — query past operations

Slash Commands (commands/)

  • /sprint-sync [epic] — diff plan doc vs GitHub Issues
  • /sprint-plan — interactive assignment and push
  • /sprint-status [epic] — epic progress overview

Other

  • skills/sprint-planning/SKILL.md — auto-invoked skill guiding Claude to use bulk tools correctly
  • .gitignore — excludes sprint-planner.json and epics/ (contain real credentials and data)
  • Registered in marketplace at v1.0.0

Test plan

  • claude --plugin-dir ./github-sprint-planner loads plugin without errors
  • /sprint-status shows epics from config
  • /sprint-sync diffs plan doc against GitHub Issues (read-only)
  • sprint_bulk_rename preview shows non-compliant issue titles
  • sprint-planner.json and epics/ are gitignored

rahul-infra added 2 commits May 12, 2026 12:07
…lanning plugin

New plugin mirroring clickup-sprint-planner with a GitHub backend. Includes
bulk create/update/rename, sub-issue linking, plan doc sync, sprint status,
and action logging. Registered in marketplace at v1.0.0.

@ashwinimanoj ashwinimanoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ensure to use shield instead of adding a separate github-sprint-planner.
clickup-sprint-planner is deprecated pattern

@ashwinimanoj ashwinimanoj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes should be in shield plugin, not as separate plugin

… lives in shield

Shield determines required integrations at /shield init time; github-sprint-planner
will not be listed as a standalone installable plugin. Code preserved on branch for
future reference.
@rahul-infra

Copy link
Copy Markdown
Author

The changes should be in shield plugin, not as separate plugin

Removed github-sprint-planner from the PR. Shield handles this internally via /shield init.

@rahul-infra rahul-infra requested a review from ashwinimanoj May 19, 2026 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants