원클릭으로
epic-journey-update
Update epic issue with implementation journey and lessons learned after work completes
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Update epic issue with implementation journey and lessons learned after work completes
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create GitHub epic issue from any implementation plan file
Extracts and synthesizes biographical information from multiple sources
Generates polished presenter profile content in professional narrative style
Analyzes multiple talks to extract themes, expertise areas, and CNCF project focus
Generates polished case study sections
Analyzes transcripts to extract structured data
| name | epic-journey-update |
| description | Update epic issue with implementation journey and lessons learned after work completes |
| version | 1.0.0 |
Update epic issue with comprehensive implementation journey documenting challenges, solutions, learnings, and context for future agents.
Announce at start: "I'm using the epic-journey-update skill to document the implementation journey."
If working from branch:
BRANCH_NAME="<feature-branch>"
BASE_BRANCH="main"
# Get commits
git log $BASE_BRANCH..$BRANCH_NAME --oneline --no-merges
# Get files changed
git diff $BASE_BRANCH...$BRANCH_NAME --name-only
If working from PR:
PR_NUMBER="<pr-number>"
# Get PR details
gh pr view $PR_NUMBER --json title,body,commits,comments
# Get commit messages
gh pr view $PR_NUMBER --json commits --jq '.commits[].commit.message'
# Get files changed
gh pr view $PR_NUMBER --json files --jq '.files[].path'
Review the commits, PR discussion, and code changes to understand:
Challenges (2-4 items):
Solutions (2-4 items):
Learnings (2-3 items):
Artifacts:
This is the most important section. Write 2-4 sentences covering:
Design Rationale:
Integration Points:
Dependencies:
Follow-up Work:
Warnings:
Create journey content:
---
## 📊 Status
✅ **Completed**
**Completed:** <date>
**Branch:** `<branch-name>`
**PR:** #<pr-number> (if applicable)
---
## 📚 Implementation Journey
### Summary
<2-3 sentences: what was accomplished, key deliverables>
### Challenges Encountered
- **<Challenge 1>**: <Description and impact>
- **<Challenge 2>**: <Description and impact>
### Solutions Applied
- **<Solution 1>**: <How solved and why>
- **<Solution 2>**: <Decision and rationale>
### Key Learnings
- <Learning 1>
- <Learning 2>
### Artifacts Created
- **Files Modified:** <count> files (key: file1, file2, ...)
- **Tests Added:** <count> test files
- **Related PRs:** #<pr1>
### Context for Future Agents
**Design Rationale:** <Why this approach>
**Integration Points:** <What depends on this>
**Dependencies:** <Requirements>
**Follow-up Work:** <Limitations and improvements>
**Warnings:** <What not to do>
---
Get current issue body and update the journey section:
EPIC_NUMBER="<epic-number>"
# Get current body
CURRENT_BODY=$(gh issue view $EPIC_NUMBER --json body --jq '.body')
# Replace content between JOURNEY_START and JOURNEY_END markers
# Option 1: In-place update (complex text manipulation)
# Option 2: Append as comment (simpler)
# Simpler approach - post journey as comment
gh issue comment $EPIC_NUMBER --body "$(cat journey_log.md)"
Alternative - update in place:
# Save current body
echo "$CURRENT_BODY" > temp_body.md
# Use sed or awk to replace section between JOURNEY_START and JOURNEY_END
# with new journey content
# Update issue
gh issue edit $EPIC_NUMBER --body "$(cat updated_body.md)"
# Add completion labels
gh issue edit $EPIC_NUMBER --add-label "completed,documented"
# Note: Do NOT close the issue (per user preference)
gh issue comment $EPIC_NUMBER --body "✅ Epic journey documented. Implementation complete and lessons learned captured for future reference."
Journey logs must be:
Bad: "We improved performance" Good: "MCP stdio connection had 2s startup delay causing test timeouts. Added retry logic with 3 attempts. Reduced test failures from 30% to 0%."
Integrated CNCF Landscape MCP server to replace direct API calls, providing real-time project and member data with validated quality.
Design Rationale: MCP client uses stdio transport (not HTTP) because landscape-mcp-server only supports stdio currently. Chose context manager pattern for automatic cleanup after API errors to prevent leaked Docker processes.
Integration Points: All company verification flows through validate_company.py → mcp_client.query_members(). Project validation uses transcript-analysis skill → validate_analysis.py → mcp_client.query_projects(). Do not bypass mcp_client or you'll have stale data from old landscape.json cache.
Dependencies: Requires Docker and mcp Python package (0.1.0+). Landscape data URL is configurable but defaults to https://landscape.cncf.io/data/full.json. Connection fails silently if Docker not running - check stderr logs for "connection refused".
Follow-up Work: Consider adding connection pooling for multiple concurrent requests (currently serial). HTTP transport would be more reliable but requires upstream changes to landscape-mcp-server. Caching layer could reduce Docker startup overhead in tests (currently 2s per test).
Warnings: Do not remove retry logic in connect() method - Docker startup is genuinely slow (2s). Do not lower fuzzy match threshold below 85 - causes false positives (tested: "Adobe" matched "Abode" at 80%). Do not cache query results longer than 1 hour - landscape data updates multiple times daily.
Called by:
finishing-a-development-branch skill - After Option 1 (local merge) when epic detected