基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/huytieu/COG-second-brain --skill export-open-issues命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Run one task through the V-model verification loop: CP-2 plan → CP-3 build → CP-3v component verify → CP-4 integration verify (full lane) → CP-5 acceptance. The worker never grades its own homework; evidence rows trace back to AC-n. Opt-in: invoke with /closed-loop or by asking for the closed loop, proper verification, or an evidence trail. Ordinary work does not run this.
Run a large, multi-session goal (e.g. shipping a whole side product) through the full V-model closed loop, one phase at a time, with cross-session state and a final north-star acceptance gate. Ultragoals never downgrade the lane: every phase runs CP-1→CP-6 with adversarial verification. Opt-in: invoke with /ultragoal or by calling something a long-running goal. Ordinary work does not run this.
Run one task through the V-model verification loop: CP-2 plan → CP-3 build → CP-3v component verify → CP-4 integration verify (full lane) → CP-5 acceptance. The worker never grades its own homework; evidence rows trace back to AC-n. Opt-in: invoke with /closed-loop or by asking for the closed loop, proper verification, or an evidence trail. Ordinary work does not run this.
| name | export-open-issues |
| description | Audit and export open issues from any project tracker with summary analysis and vault archival |
| roles | ["product-manager","engineering-lead","founder"] |
| integrations | ["github","linear","jira"] |
Check agent_mode in 00-inbox/MY-PROFILE.md frontmatter:
agent_mode: team — use parallel agents to collect from all active trackers simultaneously and produce a unified reportagent_mode: solo — collect from the primary tracker sequentially/export-open-issuesRead 00-inbox/MY-INTEGRATIONS.md to determine which trackers are active
Read 00-inbox/MY-PROFILE.md for active projects
Get current timestamp: Run date '+%Y-%m-%d %H:%M' using Bash
Ask the user (if not already provided):
Launch collection agents using the Task tool with run_in_background: true:
Agent: "github-issues-collector" (if GitHub is active)
Export all open issues from GitHub.
Repository: [CUSTOMIZE: your-org/your-repo]
1. Get all open issues:
gh issue list --repo [CUSTOMIZE: your-org/your-repo] --state open --json number,title,author,assignees,labels,createdAt,updatedAt,milestone,url --limit 500
2. Get all open PRs (separate from issues):
gh pr list --repo [CUSTOMIZE: your-org/your-repo] --state open --json number,title,author,labels,createdAt,updatedAt,reviewDecision,url --limit 200
For each issue, calculate:
- Age in days (today - createdAt)
- Days since last update (today - updatedAt)
- Staleness flag: >30 days since last update = stale
Return: full issue list with calculated fields
Agent: "linear-issues-collector" (if Linear is active)
Export all open issues from Linear.
1. Use ToolSearch to load Linear tools
2. List all teams: mcp__claude_ai_Linear_2__list_teams
3. For each relevant team, list open issues: mcp__claude_ai_Linear_2__list_issues
4. Get current cycles: mcp__claude_ai_Linear_2__list_cycles
5. Get milestones: mcp__claude_ai_Linear_2__list_milestones
For each issue, collect:
- ID, title, status, priority, assignee, labels, project
- Created date, updated date
- Cycle membership
- Blocked status
Return: full issue list with metadata
Agent: "jira-issues-collector" (if Jira is active)
Export all open issues from Jira.
Project: [CUSTOMIZE: YOUR-PROJECT-KEY]
1. Search open issues:
JQL: project = "[CUSTOMIZE: YOUR-PROJECT-KEY]" AND status NOT IN (Done, Closed, Resolved) ORDER BY priority DESC, created ASC
2. For each issue, collect:
key, summary, issuetype, status, priority, assignee, reporter, labels, components, fixVersion, created, updated, duedate
Return: full issue list with metadata
Run collection sequentially for the primary tracker.
Process the collected data to produce:
Total Open Issues: [N]
- By Priority: Critical [N], High [N], Medium [N], Low [N], None [N]
- By Type: Feature [N], Bug [N], Task [N], Other [N]
- By Status: To Do [N], In Progress [N], In Review [N], Blocked [N]
- By Assignee: [Name] ([N]), [Name] ([N]), Unassigned ([N])
Priority Distribution:
Critical ████░░░░░░ 12%
High ████████░░ 38%
Medium ██████░░░░ 28%
Low ████░░░░░░ 22%
Age Distribution:
<7 days ██████████ 45%
7-30 days ██████░░░░ 30%
30-90 d ███░░░░░░░ 15%
>90 days ██░░░░░░░░ 10%
---
type: open-issues-audit
project: [project-name]
date: [YYYY-MM-DD]
created: [YYYY-MM-DD HH:MM]
source: [github/linear/jira/multi]
tags: ["#issues-audit", "#[project-name]", "#backlog"]
summary:
total_open: [N]
critical: [N]
high: [N]
stale: [N]
unassigned: [N]
blocked: [N]
oldest_days: [N]
---
# Open Issues Audit — [Project Name]
**Date:** [YYYY-MM-DD]
**Source:** [Tracker(s) used]
**Total Open Issues:** [N]
---
## Executive Summary
[2-3 sentences: overall backlog health, biggest concerns, and recommended actions]
---
## Summary Statistics
| Category | Count | % of Total |
|----------|-------|-----------|
| **By Priority** | | |
| Critical | [N] | [%] |
| High | [N] | [%] |
| Medium | [N] | [%] |
| Low | [N] | [%] |
| No Priority | [N] | [%] |
| **By Status** | | |
| To Do | [N] | [%] |
| In Progress | [N] | [%] |
| In Review | [N] | [%] |
| Blocked | [N] | [%] |
| **By Type** | | |
| Feature/Story | [N] | [%] |
| Bug | [N] | [%] |
| Task | [N] | [%] |
| Other | [N] | [%] |
---
## Assignee Load
| Assignee | Open Issues | Critical/High | In Progress | Oldest Issue (days) |
|----------|-------------|---------------|-------------|-------------------|
| [Name] | [N] | [N] | [N] | [N] |
| [Name] | [N] | [N] | [N] | [N] |
| Unassigned | [N] | [N] | — | [N] |
---
## Health Alerts
### Stale Issues (>30 days without update)
| # | Title | Assignee | Priority | Age (days) | Last Updated |
|---|-------|----------|----------|-----------|-------------|
| [#] | [Title] | [Name] | [Priority] | [N] | [Date] |
### Blocked Issues
| # | Title | Assignee | Blocked By | Days Blocked |
|---|-------|----------|-----------|-------------|
| [#] | [Title] | [Name] | [Reason] | [N] |
### Unassigned High-Priority Issues
| # | Title | Priority | Age (days) | Labels |
|---|-------|----------|-----------|--------|
| [#] | [Title] | [Priority] | [N] | [Labels] |
### Overdue Issues
| # | Title | Assignee | Due Date | Days Overdue |
|---|-------|----------|----------|-------------|
| [#] | [Title] | [Name] | [Date] | [N] |
---
## Full Issue List
### Critical Priority
| # | Title | Status | Assignee | Age | Labels | URL |
|---|-------|--------|----------|-----|--------|-----|
| [#] | [Title] | [Status] | [Name] | [N]d | [Labels] | [URL] |
### High Priority
[Same table format]
[Same table format]
[Same table format]
---
— [Specific action with rationale]
— [Specific action with rationale]
— [Specific action with rationale]
---
Save to: 04-projects/[project]/audits/open-issues-YYYY-MM-DD.md
mkdir -p "04-projects/[project]/audits"
Show the user:
Ask if they want:
If user requests CSV, generate alongside the markdown:
#,Title,Type,Status,Priority,Assignee,Labels,Created,Updated,Age(days),URL
[data rows]
Save to: 04-projects/[project]/audits/open-issues-YYYY-MM-DD.csv
| Scenario | Behavior |
|---|---|
| No tracker active | Inform user that a project tracker integration is needed; offer to set one up |
| Tracker API fails | Retry once, then report partial results with error note |
| Too many issues (>500) | Paginate collection, warn user, offer to filter by label/milestone/assignee |
| Multiple trackers active | Collect from all and produce a unified report, noting the source for each item |
| No open issues found | Report clean backlog status (this is good news!) |