본문으로 건너뛰기
cccskills
무료GitHub에 공개

pm

GitHub Issues-based project management for obsidian-tasks-caldav

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

josecoelho/obsidian-tasks-caldav스타 43(GitHub 43 + cccskills 0)
연동 도구GitHub

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Project Management — GitHub Issues as Source of Truth

All task state lives in GitHub Issues. Never create local files for tracking (no markdown task files, no local epics, no PRDs). Use gh commands for everything.

Labels

Priority

LabelUse when
p0-criticalData loss, crash, blocks all other work
p1-highImportant bug or feature blocking near-term work
p2-mediumShould do soon, but not blocking
p3-lowNice to have, do when convenient

Area

LabelScope
caldavCalDAV client, XML, protocol, VTODO mapping
syncSync engine, diff logic, adapters, storage
obsidian-uiSettings tab, modals, ribbon, notices
tasks-pluginobsidian-tasks API integration
infraBuild, CI, testing infrastructure, tooling

Type

LabelMeaning
bugSomething broken
featureNew capability
choreMaintenance, refactor, cleanup
spikeResearch or investigation

Creating Issues

Every issue must include:

  1. Clear title — imperative, concise (e.g., "Handle VTIMEZONE in recurring events")
  2. Description with context on why this matters
  3. Acceptance criteria — bulleted list of what "done" looks like
  4. Testing note — specify which testing approach based on CLAUDE.md:
    • E2E test needed — CalDAV protocol, sync round-trips, server quirks
    • Unit test needed — pure logic, parsing, mapping
    • Manual test needed — Obsidian UI, obsidian-tasks API interactions
  5. Labels — at least one from each category (priority, area, type)

Example:

gh issue create \
  --title "Handle line-folded DESCRIPTION in VTODO responses" \
  --body "$(cat <<'EOF'
## Context
Some CalDAV servers fold long DESCRIPTION lines per RFC 5545. Our parser doesn't unfold them, causing truncated task descriptions.

## Acceptance Criteria
- [ ] VTODO parser unfolds continuation lines (space/tab prefix)
- [ ] Round-trip test: create task with long description, fetch back, verify intact
- [ ] Unit test with fixture for folded DESCRIPTION

## Testing
- E2E test needed (server may fold differently than expected)
- Unit test to lock down the parser fix
EOF
)" \
  --label "bug,p1-high,caldav"

Prioritization Guidelines

When triaging, consider:

  1. Data loss risk → always p0-critical
  2. Blocks other work → p1-high minimum
  3. Protocol/server compatibility → p1-high (breaks real users)
  4. Polish, DX, cleanup → p2-medium or p3-low

Linking PRs to Issues

Always use closes #N in PR descriptions to auto-close issues on merge:

gh pr create --title "Fix line folding" --body "Closes #42"

Issue Comments for Context

Use issue comments to record decisions and progress:

gh issue comment 42 --body "Investigated: Radicale doesn't fold, but Nextcloud does. Adding fixtures for both."

Workflows

Triage

  1. gh issue list --state open --json number,title,labels
  2. Find issues missing priority labels
  3. Suggest priorities with reasoning based on the guidelines above

Planning (Breaking Down Features)

Use GitHub sub-issues for feature decomposition:

  1. Create a parent tracking issue for the feature
  2. Create each work item as its own issue with labels, acceptance criteria, and testing notes
  3. Link work items as sub-issues of the parent using the GraphQL API:
    # Get node IDs
    gh issue view <number> --json id -q .id
    # Add sub-issue
    gh api graphql -f query='mutation { addSubIssue(input: {issueId: "<parent_id>", subIssueId: "<child_id>"}) { issue { id } } }'
    
  4. Note dependencies between siblings in issue bodies ("Blocked by #N")
  5. The parent issue tracks overall progress via its sub-issue list

From Implementation Plans to Issues

When superpowers:writing-plans produces a plan that spans multiple issues, it may be converted to GitHub issues:

  • Create a parent issue for the plan
  • Each plan step becomes a sub-issue of the parent
  • Dependencies between steps become "Blocked by #N" notes in issue bodies
  • The plan's acceptance criteria become the issue's acceptance criteria
  • Apply appropriate labels based on what each step touches
  • Use /plan command to automate this conversion

Note: Not all plans need decomposition into issues. When planning the implementation of a single issue, the plan guides the work — no extra issues needed.

Daily Workflow

  1. Check what's open: gh issue list --state open --label "p0-critical,p1-high"
  2. Pick the highest-priority unblocked issue
  3. Create a branch, do the work, link the PR
  4. Close via PR merge (using closes #N)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

이 스킬의 문제 신고