‹ 首页

project

@darkroomengineering · 收录于 昨天 · 上游提交 昨天

GitHub Issues as PLAN.md replacement — agents read/update them. Auto-invoke on issue-linked branches. Triggers "what's the plan", "project status", "sync with github", "close the issue".

适合你,如果使用GitHub Issues管理任务并希望AI自动更新状态

/ 通过 npx 安装 校验哈希
npx oh-my-skill add darkroomengineering/cc-settings/project
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- darkroomengineering/cc-settings/project
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify darkroomengineering/cc-settings/project
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
40GitHub stars
~1.2K上下文体积 · 单文件
索引托管

怎么用

商店整理自技能原文 · 版本 fa04efc · 表述以原文为准
它做什么

当你在当前 Git 分支上工作时,Claude 会自动读取关联的 GitHub Issue 作为计划,并在你完成任务后更新 Issue 的进度、勾选待办项。它也能帮你创建新 Issue、查看项目看板。

什么时候触发

当你进入一个与 GitHub Issue 关联的分支时自动触发,或者当你说出“what's the plan”、“project status”、“sync with github”等关键词时。

装好后可以这样说
Claude 会读取当前 Issue 并总结任务列表。
Claude 会列出你负责的未关闭 Issue 及进度。
Claude 会将当前工作进度同步到 Issue 的评论中。
技能原文 SKILL.md作者撰写 · MIT · fa04efc

GitHub Project Sync

Bridge between Claude Code sessions and GitHub Issues/Projects. Issues are the plan — agents read them for context and update them with progress.

Core Concept

GitHub Issues replace local PLAN.md files. Each issue contains:

  • Scope and constraints
  • Task breakdown (checkboxes)
  • Design decisions and rationale
  • Implementation notes (via comments)
  • Linked commits and PRs

This means project context is shared, versioned, and visible to every team member and their agents — not locked in local handoff files.

Actions
Check current issue (auto on session start)

Detect the current branch and find its linked issue:

# Get current branch
BRANCH=$(git branch --show-current)

# Extract issue number from branch name (e.g., feat/123-description, fix/42-title)
ISSUE_NUM=$(echo "$BRANCH" | grep -oE '[0-9]+' | head -1)

# Read the issue for context
if [[ -n "$ISSUE_NUM" ]]; then
  gh issue view "$ISSUE_NUM" --comments
fi

If an issue is found, present a brief summary:

  • Issue title and status
  • Task checklist progress (X/Y completed)
  • Most recent comment (latest context)
  • Assigned labels and milestone
Update issue with progress

After completing work or at session end:

# Add a progress comment
gh issue comment ISSUE_NUM --body "## Progress Update

### Completed
- [x] Task description
- [x] Another task

### Files Modified
- \`path/to/file.ts\` — description of change

### Notes
Any decisions made or context for next session.

### Next Steps
- [ ] Remaining work"
Check off tasks in issue body

When tasks from the issue body are completed:

# View current issue body, update checkboxes, edit
gh issue edit ISSUE_NUM --body "$(updated body with checked items)"
View project board status
# List issues assigned to you
gh issue list --assignee @me --state open

# List issues in a milestone
gh issue list --milestone "v2.0"

# List project items
gh project item-list PROJECT_NUM --owner ORG --format json
Create an issue from a plan

When the user describes a feature or task:

gh issue create --title "feat: description" --body "$(cat <<EOF
## Goal
What we're building and why.

## Tasks
- [ ] Task 1 — verify: \`command\` → expected output
- [ ] Task 2
- [ ] Task 3

## Decisions
- Decision 1: rationale
- Decision 2: rationale

## Constraints
- Any known constraints or requirements

## Plan stamp
Written against $(git rev-parse --short HEAD) on $(git branch --show-current).
EOF
)"

The plan stamp anchors the issue to the commit it was written against — file paths, line refs, and task assumptions are only guaranteed valid at that SHA. Give tasks machine-checkable done criteria (command → expected output) where possible, not prose.

Body shaping follows rules/git.md "Issue descriptions": observed effect first, numbered one-action repro steps, one issue per problem — tangents become their own linked issues.

Reconcile a stale issue

Before resuming an issue whose plan stamp is behind the current HEAD, reconcile instead of trusting it:

# What changed since the plan was written?
git log --oneline PLAN_SHA..HEAD
git diff --stat PLAN_SHA..HEAD
  • Verify checked tasks — re-run their done-criteria commands; a task that no longer passes gets unchecked with a comment, not silently trusted.
  • Refresh drifted tasks — file paths and line refs may have moved; re-check them against HEAD and edit the body.
  • Retire dead tasks — work made obsolete by intervening merges gets struck through with a one-line reason, so future audits don't re-litigate it.
  • Re-stamp the body with the new SHA once reconciled.
Link commits to issues

When committing, reference the issue:

git commit -m "feat: description

Refs #ISSUE_NUM"
Session Workflow
Starting a session
  1. Detect branch → find linked issue
  2. Read issue body + recent comments for context
  3. Present summary: "You're working on #123: Title. 3/7 tasks done. Last update: ..."
During work
  • Reference the issue task list for what to work on next
  • Make progress on tasks, verify with build/tests
Ending a session
  1. Comment on the issue with progress update
  2. Check off completed tasks in the issue body
  3. Create handoff (existing system) for local session state
Branch Naming Convention

For auto-detection, use branches that include the issue number:

feat/123-add-coupon-validation
fix/42-login-redirect-loop
chore/88-upgrade-dependencies

The skill extracts the first number from the branch name and looks up that issue.

When There's No Linked Issue

If the branch doesn't match an issue:

  • Show open issues assigned to the user: gh issue list --assignee @me
  • Offer to create a new issue from the current work
  • Fall back to the regular handoff system
Integration with Handoffs

This skill complements the existing handoff system:

  • GitHub Issue = shared project state (team-visible, persistent)
  • Local handoff = session state (personal, ephemeral)

Both get updated. The issue is the source of truth for project progress. The handoff captures session-specific context (open files, debug state, personal notes).

按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。