elliot-stack 1.0.29 → 1.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +5 -0
- package/bin/install.cjs +981 -950
- package/hooks/repo-search-nudge.js +32 -32
- package/package.json +1 -1
- package/skills/estack-active-learning-tutor/SKILL.md +339 -339
- package/skills/estack-better-title/SKILL.md +64 -64
- package/skills/estack-better-title/scripts/rename.sh +55 -55
- package/skills/estack-chris-voss/SKILL.md +80 -80
- package/skills/estack-chris-voss/references/elliot-notes.md +120 -120
- package/skills/estack-chris-voss/references/voss-principles.md +210 -210
- package/skills/estack-customer-discovery/SKILL.md +60 -60
- package/skills/estack-flight-planner/SKILL.md +332 -332
- package/skills/estack-flight-planner/references/config_schema.md +156 -156
- package/skills/estack-flight-planner/references/flight_history_schema.md +97 -97
- package/skills/estack-flight-planner/references/shuttle_schedules.md +98 -98
- package/skills/estack-flight-planner/scripts/check_setup.sh +89 -89
- package/skills/estack-flight-planner/scripts/fetch_flights.py +99 -99
- package/skills/estack-flight-planner/scripts/filter_flights.py +265 -265
- package/skills/estack-flight-planner/scripts/pair_shuttles.py +173 -173
- package/skills/estack-github-issue-tracker/SKILL.md +322 -322
- package/skills/estack-github-issue-tracker/bin/tracker-tools.cjs +1358 -1358
- package/skills/estack-github-issue-tracker/references/gh-cli-patterns.md +124 -124
- package/skills/estack-github-issue-tracker/references/result-file-schema.md +156 -156
- package/skills/estack-github-issue-tracker/references/tracker-schema.md +96 -96
- package/skills/estack-github-issue-tracker/tracker-template.md +58 -58
- package/skills/estack-leadership-coach/SKILL.md +235 -0
- package/skills/estack-leadership-coach/adding-references.md +280 -0
- package/skills/estack-leadership-coach/frameworks/delegation/flows/post-mortem.md +120 -0
- package/skills/estack-leadership-coach/frameworks/delegation/flows/pre-delegation.md +138 -0
- package/skills/estack-leadership-coach/frameworks/delegation/phases/1-intake.md +145 -0
- package/skills/estack-leadership-coach/frameworks/delegation/phases/2-trm-assessment.md +119 -0
- package/skills/estack-leadership-coach/frameworks/delegation/phases/3-enrollment.md +132 -0
- package/skills/estack-leadership-coach/frameworks/delegation/phases/4-build-brief.md +171 -0
- package/skills/estack-leadership-coach/frameworks/delegation/phases/5-monitoring.md +134 -0
- package/skills/estack-leadership-coach/frameworks/delegation/phases/6-reverse-delegation.md +118 -0
- package/skills/estack-leadership-coach/frameworks/delegation/phases/7-diagnose.md +200 -0
- package/skills/estack-leadership-coach/references/.source-files/deci-ryan_self-determination-theory__deci-olafsen-ryan-2017-self-determination-theory-in-work-organizations.md +1881 -0
- package/skills/estack-leadership-coach/references/.source-files/deci-ryan_self-determination-theory__gagne-deci-2005-self-determination-theory-and-work-motivation.md +2058 -0
- package/skills/estack-leadership-coach/references/.source-files/deci-ryan_self-determination-theory__selfdeterminationtheory-org-theory-overview-page.md +61 -0
- package/skills/estack-leadership-coach/references/.source-files/gallup_engagement-research__gallup-3-key-insights-into-the-global-workplace-2024.md +57 -0
- package/skills/estack-leadership-coach/references/.source-files/gallup_engagement-research__gallup-managers-account-for-70-percent-of-variance-in-employee-engagement-2015.md +40 -0
- package/skills/estack-leadership-coach/references/.source-files/gallup_engagement-research__gallup-state-of-the-global-workplace-2026-global-data-summary.md +73 -0
- package/skills/estack-leadership-coach/references/.source-files/gallup_engagement-research__gallup-state-of-the-global-workplace-2026-report-landing.md +42 -0
- package/skills/estack-leadership-coach/references/.source-files/hormozi-leila_4-stages__leila-hormozi-the-art-of-delegation-blog-post.md +91 -0
- package/skills/estack-leadership-coach/references/.source-files/oncken-wass_monkeys-hbr-1974__oncken-wass-management-time-whos-got-the-monkey-hbr-classic-1974.md +969 -0
- package/skills/estack-leadership-coach/references/.source-files/sanchez_main-street-millionaire__codie-sanchez-afford-anything-podcast-ep-565-show-notes.md +89 -0
- package/skills/estack-leadership-coach/references/.source-files/sullivan_who-not-how__dan-sullivan-impact-filter-tool-and-guide-booklet.md +565 -0
- package/skills/estack-leadership-coach/references/.source-files/van-edwards_cues__vanessa-van-edwards-lewis-howes-school-of-greatness-ep-1231-show-notes.md +122 -0
- package/skills/estack-leadership-coach/references/.source-files/van-edwards_cues__vanessa-van-edwards-roger-dooley-cues-interview.md +194 -0
- package/skills/estack-leadership-coach/references/deci-ryan_self-determination-theory.md +166 -0
- package/skills/estack-leadership-coach/references/doerr_measure-what-matters.md +154 -0
- package/skills/estack-leadership-coach/references/ferriss_4hww.md +189 -0
- package/skills/estack-leadership-coach/references/gallup_engagement-research.md +105 -0
- package/skills/estack-leadership-coach/references/gerber_e-myth-revisited.md +118 -0
- package/skills/estack-leadership-coach/references/grove_high-output-management.md +95 -0
- package/skills/estack-leadership-coach/references/hormozi-alex_followthrough.md +152 -0
- package/skills/estack-leadership-coach/references/hormozi-leila_4-stages.md +146 -0
- package/skills/estack-leadership-coach/references/oncken-wass_monkeys-hbr-1974.md +128 -0
- package/skills/estack-leadership-coach/references/sanchez_main-street-millionaire.md +196 -0
- package/skills/estack-leadership-coach/references/sullivan_who-not-how.md +137 -0
- package/skills/estack-leadership-coach/references/van-edwards_cues.md +189 -0
- package/skills/estack-migrate-claude-session-history/SKILL.md +226 -0
- package/skills/estack-migrate-claude-session-history/references/path-encoding.md +55 -0
- package/skills/estack-migrate-claude-session-history/references/troubleshooting.md +96 -0
- package/skills/estack-migrate-claude-session-history/scripts/migrate-claude-history.js +1123 -0
- package/skills/estack-migrate-claude-session-history/scripts/test-append-note.js +48 -0
- package/skills/estack-migrate-claude-session-history/scripts/test-validate-migration.py +326 -0
- package/skills/estack-migrate-claude-session-history/scripts/validate-migration.py +493 -0
- package/skills/estack-pdf-to-md/SKILL.md +180 -0
- package/skills/estack-pdf-to-md/scripts/pdf_to_md.py +596 -0
- package/skills/estack-productivity-prioritization-coach/SKILL.md +124 -0
- package/skills/estack-productivity-prioritization-coach/sources/01-tony-robbins-rpm.md +39 -0
- package/skills/estack-productivity-prioritization-coach/sources/02-justin-sung-task-prioritization.md +34 -0
- package/skills/estack-prompt-builder-coach/SKILL.md +81 -81
- package/skills/estack-prompt-builder-coach/definition-of-done-generator.md +42 -42
- package/skills/estack-prompt-builder-coach/prompt-builder.md +37 -37
- package/skills/estack-prompt-builder-coach/task-shaper.md +36 -36
- package/skills/estack-prompt-builder-coach/vague-ask-auditor.md +37 -37
- package/skills/estack-read-claude-session-history/SKILL.md +204 -204
- package/skills/estack-read-claude-session-history/references/jsonl-schema.md +126 -126
- package/skills/estack-read-claude-session-history/references/modes.md +423 -423
- package/skills/estack-read-claude-session-history/references/recipes.md +271 -271
- package/skills/estack-read-claude-session-history/scripts/lib/__init__.py +1 -1
- package/skills/estack-read-claude-session-history/scripts/lib/parser.py +460 -460
- package/skills/estack-read-claude-session-history/scripts/lib/paths.py +234 -234
- package/skills/estack-read-claude-session-history/scripts/lib/search.py +179 -179
- package/skills/estack-read-claude-session-history/scripts/lib/subagents.py +88 -88
- package/skills/estack-read-claude-session-history/scripts/lib/tools.py +144 -144
- package/skills/estack-read-claude-session-history/scripts/read_transcript.py +1776 -1776
- package/skills/estack-read-claude-session-history/scripts/tests/conftest.py +40 -40
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/README.md +20 -20
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/all-noise.jsonl +4 -4
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/basic-session.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/engagement-gaps.jsonl +9 -9
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/engagement-noise.jsonl +7 -7
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/engagement-parallel-a.jsonl +3 -3
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/engagement-parallel-b.jsonl +3 -3
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/engagement-waiting.jsonl +5 -5
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/interrupted.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/multi-compact.jsonl +8 -8
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/pending-user.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/subagent-no-meta/subagents/agent-aaa.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/subagent-no-meta.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/subagent-parent/subagents/agent-xyz123.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/subagent-parent/subagents/agent-xyz123.meta.json +1 -1
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/subagent-parent.jsonl +4 -4
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/time-spread.jsonl +6 -6
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/timeline-day-test.jsonl +5 -5
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/tool-zoo.jsonl +10 -10
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/truncated.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/unicode.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/with-advisor.jsonl +3 -3
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/with-compact.jsonl +5 -5
- package/skills/estack-read-claude-session-history/scripts/tests/fixtures/with-thinking.jsonl +2 -2
- package/skills/estack-read-claude-session-history/scripts/tests/test_backup_roots.py +56 -56
- package/skills/estack-read-claude-session-history/scripts/tests/test_engagement.py +239 -239
- package/skills/estack-read-claude-session-history/scripts/tests/test_json_format.py +201 -201
- package/skills/estack-read-claude-session-history/scripts/tests/test_modes.py +199 -199
- package/skills/estack-read-claude-session-history/scripts/tests/test_parser.py +195 -195
- package/skills/estack-read-claude-session-history/scripts/tests/test_paths.py +133 -133
- package/skills/estack-read-claude-session-history/scripts/tests/test_search.py +78 -78
- package/skills/estack-read-claude-session-history/scripts/tests/test_subagents.py +43 -43
- package/skills/estack-read-claude-session-history/scripts/tests/test_timeline.py +179 -179
- package/skills/estack-read-claude-session-history/scripts/tests/test_timezone_and_project.py +212 -212
- package/skills/estack-read-claude-session-history/scripts/tests/test_tools.py +80 -80
- package/skills/estack-repo-search/SKILL.md +65 -65
- package/skills/estack-vscode-file-recovery/SKILL.md +188 -0
|
@@ -1,325 +1,325 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: estack-github-issue-tracker
|
|
3
|
-
version: 1.0.3
|
|
4
|
-
description: >
|
|
5
|
-
(github-issue-tracker) GitHub issue tracker management. Checks all open issues the user is involved in,
|
|
6
|
-
finds related/duplicate issues, reports what changed, and recommends next steps.
|
|
7
|
-
Run anytime for a check-in — works the same whether it's the first run or a daily habit.
|
|
8
|
-
The tracker file acts as a cache to make repeat runs faster.
|
|
9
|
-
allowed-tools:
|
|
10
|
-
- Read
|
|
11
|
-
- Write
|
|
12
|
-
- Edit
|
|
13
|
-
- Bash
|
|
14
|
-
- Grep
|
|
15
|
-
- Glob
|
|
16
|
-
- AskUserQuestion
|
|
17
|
-
- Agent
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
<objective>
|
|
21
|
-
Give the user a complete, actionable update on every GitHub issue they're involved in.
|
|
22
|
-
One flow, every time — no modes, no flags. The only thing that changes between runs is
|
|
23
|
-
depth: more work when the tracker is empty or stale, less when it was just checked yesterday.
|
|
24
|
-
</objective>
|
|
25
|
-
|
|
26
|
-
<execution_context>
|
|
27
|
-
Resolve `$SKILL_DIR` from this file's location FIRST.
|
|
28
|
-
|
|
29
|
-
**Script:** `bin/tracker-tools.cjs` — handles all GitHub API calls, tracker parsing,
|
|
30
|
-
report compilation, and tracker updates. Invoke via:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
node "$SKILL_DIR/bin/tracker-tools.cjs" <command> [options]
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Every script command returns a `today` field like `today's date is **2026-04-05**, ignore earlier dates`.
|
|
37
|
-
Extract the date from this string. If you see multiple `today` values in your context
|
|
38
|
-
(from earlier commands), always use the most recent one.
|
|
39
|
-
|
|
40
|
-
**stdout/stderr convention:** `compile-report` outputs the report text to stdout and
|
|
41
|
-
metadata (including `today`) to stderr. Parse accordingly.
|
|
42
|
-
|
|
43
|
-
**Tracker file:** `$HOME/OneDrive/Documents/github-tracker.md`
|
|
44
|
-
This is the AI's knowledge base and source of truth. It stores everything in full detail:
|
|
45
|
-
|
|
46
|
-
- Every tracked issue with complete context, history, and technical data
|
|
47
|
-
- Known duplicates, related issues, cross-references
|
|
48
|
-
- User's intent/goals for each issue and what to watch for
|
|
49
|
-
- History of all actions taken and events observed
|
|
50
|
-
- Config directives (excluded repos, preferences)
|
|
51
|
-
|
|
52
|
-
The tracker is written FOR the AI — keep it detailed. When the user asks questions about
|
|
53
|
-
any issue, read the tracker first. It should have enough context to answer without
|
|
54
|
-
re-fetching from GitHub. The user-facing report (Step 5a) is a separate, concise summary.
|
|
55
|
-
|
|
56
|
-
**References:**
|
|
57
|
-
|
|
58
|
-
- `references/tracker-schema.md` — tracker file format
|
|
59
|
-
- `references/result-file-schema.md` — per-issue analysis format (agents write these)
|
|
60
|
-
- `references/gh-cli-patterns.md` — gh CLI command templates
|
|
61
|
-
- `tracker-template.md` — blank tracker for first run
|
|
62
|
-
</execution_context>
|
|
63
|
-
|
|
64
|
-
<flow>
|
|
65
|
-
|
|
66
|
-
The skill runs the same steps every time. The tracker determines depth — an empty
|
|
67
|
-
tracker means everything is new and needs deep analysis. A fresh tracker means most
|
|
68
|
-
issues just need a quick diff check.
|
|
69
|
-
|
|
70
|
-
## Step 0: Startup
|
|
71
|
-
|
|
72
|
-
1. Set `$TRACKER_PATH` to `$HOME/OneDrive/Documents/github-tracker.md`.
|
|
73
|
-
2. Run startup:
|
|
74
|
-
```bash
|
|
75
|
-
node "$SKILL_DIR/bin/tracker-tools.cjs" startup --tracker "$TRACKER_PATH"
|
|
76
|
-
```
|
|
77
|
-
3. Store the full response as `$STARTUP`. The script handles auth checking and temp dir
|
|
78
|
-
creation. If `auth` is false, show the user the `error` message from the output and STOP.
|
|
79
|
-
If `search_errors` is non-empty, warn the user that some discovery queries failed —
|
|
80
|
-
the results may be incomplete.
|
|
81
|
-
4. Extract `$TODAY` (the YYYY-MM-DD date) from the `$STARTUP.today` string — use this as today's date for everything.
|
|
82
|
-
5. Extract `$TEMP_DIR` from `$STARTUP.temp_dir`.
|
|
83
|
-
6. Extract `$CONFIG` from `$STARTUP.config`. This is the user's plain English config
|
|
84
|
-
(excluded repos, preferences, etc.) parsed from the tracker's `## Config` section.
|
|
85
|
-
If null, the tracker has no config yet — you'll ask the user in Step 1.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Step 1: Discover
|
|
90
|
-
|
|
91
|
-
**Goal:** Build the complete list of issues to analyze this run.
|
|
92
|
-
|
|
93
|
-
Sources (all from `$STARTUP`):
|
|
94
|
-
|
|
95
|
-
- `tracker_data.active_issues` — issues already tracked
|
|
96
|
-
- `new_issues` — open issues involving the user that aren't in the tracker yet
|
|
97
|
-
- `reopened_issues` — issues previously closed that are now open again
|
|
98
|
-
- `recently_closed` — issues closed since last check
|
|
99
|
-
|
|
100
|
-
**Check `$CONFIG` from startup.** If it contains directives (excluded repos, preferences),
|
|
101
|
-
apply them when filtering issues throughout this step. For example, if config says
|
|
102
|
-
"Excluded repos: ElliotDrel/*", skip any issues from repos owned by ElliotDrel.
|
|
103
|
-
|
|
104
|
-
If `$CONFIG` is null (tracker has no Config section), ask the user if they want to set
|
|
105
|
-
one up (which repos to track/exclude). The agent writes Config directly to the tracker
|
|
106
|
-
file via the Edit tool (not through the script). The script reads Config; the agent writes it.
|
|
107
|
-
|
|
108
|
-
**If tracker doesn't exist or has no issues** (first run):
|
|
109
|
-
|
|
110
|
-
- Show `new_issues` grouped by repo. List which repos were found.
|
|
111
|
-
- Ask: "Which repos do you want to track? You can also exclude any."
|
|
112
|
-
- Save their choices to the `## Config` section by writing directly to the tracker via Edit.
|
|
113
|
-
- Then ask which specific issues to track from the included repos.
|
|
114
|
-
|
|
115
|
-
**If tracker exists with issues:**
|
|
116
|
-
|
|
117
|
-
- Active issues are automatically included (unless excluded by config).
|
|
118
|
-
- If `new_issues` is non-empty and passes config filters, tell the user what was
|
|
119
|
-
found and add them to the analysis list.
|
|
120
|
-
- If `reopened_issues` is non-empty, add them back to the active analysis list and
|
|
121
|
-
note in your report that they were reopened (state changed from closed to open).
|
|
122
|
-
The agent should manually move reopened issues from the Closed section back to
|
|
123
|
-
Active in the tracker, preserving any context from the closed entry.
|
|
124
|
-
|
|
125
|
-
Write the final issue list to `$TEMP_DIR/issues-to-fetch.json` for the fetch command.
|
|
126
|
-
Each entry needs: `owner`, `repo`, `number`, `title`, `role`, `last_check_date`
|
|
127
|
-
(null for new issues), `known_dupes` (from tracker or empty), `upstream` (from tracker or null).
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Step 2: Connect
|
|
132
|
-
|
|
133
|
-
**Goal:** Fetch current data for every issue and find related/duplicate issues.
|
|
134
|
-
|
|
135
|
-
### 2a: Fetch all issue data
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
node "$SKILL_DIR/bin/tracker-tools.cjs" fetch-issues --temp-dir "$TEMP_DIR" --issues "$TEMP_DIR/issues-to-fetch.json"
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
This fetches metadata, body, comments, dupe states, upstream state, cross-references,
|
|
142
|
-
and URLs for every issue in parallel. One `raw-OWNER-REPO-NUMBER.json` per issue.
|
|
143
|
-
|
|
144
|
-
### 2b: Analyze issues in batches
|
|
145
|
-
|
|
146
|
-
Read `references/result-file-schema.md` and `references/gh-cli-patterns.md` from `$SKILL_DIR`.
|
|
147
|
-
|
|
148
|
-
Group issues into batches of ~5. Spawn **one Agent per batch**. Each agent:
|
|
149
|
-
|
|
150
|
-
1. Reads the raw JSON files for its batch issues.
|
|
151
|
-
2. Searches for duplicates/related issues using `gh api` search queries.
|
|
152
|
-
3. Writes one result file per issue to `$TEMP_DIR/issue-OWNER-REPO-NUMBER.md` following
|
|
153
|
-
the format in `references/result-file-schema.md`.
|
|
154
|
-
|
|
155
|
-
**Depth control based on `last_check_date`:**
|
|
156
|
-
|
|
157
|
-
The duplicate/related search always runs, but the scope changes:
|
|
158
|
-
|
|
159
|
-
- **`null` (new issue):** Deep analysis. Read full comment history. Search broadly for
|
|
160
|
-
duplicates by symptoms, error messages, and keywords.
|
|
161
|
-
- **Checked within the last 7 days:** Shallow pass. Only read new comments since last check.
|
|
162
|
-
Only check the state of already-known duplicates/related issues. Only search for new
|
|
163
|
-
duplicates among issues created since the last check date.
|
|
164
|
-
- **Checked more than 7 days ago:** Medium depth. Read comments since last check. Re-scan
|
|
165
|
-
for new duplicates across a wider window. Check state of known duplicates.
|
|
166
|
-
|
|
167
|
-
**Fill in missing data:** For each issue, compare what the tracker has against what the
|
|
168
|
-
API returned. If the tracker entry is missing factual fields (Role description, What to check,
|
|
169
|
-
Workaround, Key technical data, etc.), the agent should fill them in from the API data.
|
|
170
|
-
This means every run progressively improves the tracker's completeness. Include any
|
|
171
|
-
newly populated fields in the result file's `## Tracker Updates` section.
|
|
172
|
-
|
|
173
|
-
**Exception — fields that require user input:** The **Goal** field must be asked, not
|
|
174
|
-
guessed. If an issue is missing a Goal, flag it in the result file so Step 5b can
|
|
175
|
-
collect them. Same for Config — never assume repo exclusions or preferences, always ask.
|
|
176
|
-
|
|
177
|
-
Each agent prompt must include:
|
|
178
|
-
|
|
179
|
-
- Raw data file paths for its batch
|
|
180
|
-
- The existing tracker entry data for each issue (so the agent can identify gaps)
|
|
181
|
-
- `owner`, `repo`, `number`, `title`, `role`, `last_check_date`, `username`
|
|
182
|
-
- `cross_references` and `urls` from raw JSON
|
|
183
|
-
- All tracked issue numbers (to filter dupe search results)
|
|
184
|
-
- `$TODAY` as today's date (for history entries)
|
|
185
|
-
- Instruction to read `$SKILL_DIR/references/result-file-schema.md` for format and quality guidance
|
|
186
|
-
|
|
187
|
-
After all agents finish, verify file count:
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
ls "$TEMP_DIR"/issue-*.md 2>/dev/null | wc -l
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Step 3: Save
|
|
196
|
-
|
|
197
|
-
**Goal:** Immediately persist all factual data from the analysis to the tracker.
|
|
198
|
-
|
|
199
|
-
This step is **mandatory and automatic** — no user permission needed. The analysis just
|
|
200
|
-
finished and the result files contain factual data from the GitHub API. This step caches
|
|
201
|
-
that data in the tracker so that even if the conversation is interrupted after this point,
|
|
202
|
-
the tracker has the latest information.
|
|
203
|
-
|
|
204
|
-
**If this is the first run** (no tracker existed):
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
node "$SKILL_DIR/bin/tracker-tools.cjs" build-tracker --temp-dir "$TEMP_DIR" --template "$SKILL_DIR/tracker-template.md" --username "$USERNAME" --tracker "$TRACKER_PATH" --date "$TODAY"
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
**If the tracker already exists:**
|
|
211
|
-
|
|
212
|
-
```bash
|
|
213
|
-
node "$SKILL_DIR/bin/tracker-tools.cjs" update-tracker --tracker "$TRACKER_PATH" --temp-dir "$TEMP_DIR" --date "$TODAY"
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
This saves: status dates, new comments, new duplicates, filled data gaps, state changes.
|
|
217
|
-
|
|
218
|
-
**Every tracker update must be logged in History.** Every change the script makes to the
|
|
219
|
-
tracker — new fields populated, status updates, new duplicates found — gets a history
|
|
220
|
-
entry on the affected issue. The History section is an append-only audit trail. Examples:
|
|
221
|
-
- `**2026-04-06:** Check-in: no new activity`
|
|
222
|
-
- `**2026-04-06:** Filled in missing Workaround and Key technical data fields`
|
|
223
|
-
- `**2026-04-06:** Found new duplicate #45123`
|
|
224
|
-
- `**2026-04-06:** Status changed: open → closed`
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## Step 4: Advise
|
|
229
|
-
|
|
230
|
-
**Goal:** Identify concrete next steps for each issue before presenting the report.
|
|
231
|
-
|
|
232
|
-
Read through all result files in `$TEMP_DIR/issue-*.md`. For each issue, use the
|
|
233
|
-
**Goal** field from the tracker (e.g., "Get my fix merged", "Get maintainer to respond",
|
|
234
|
-
"Monitor for upstream fix") to tailor recommendations. The goal tells you what success
|
|
235
|
-
looks like — next steps should move toward that outcome.
|
|
236
|
-
|
|
237
|
-
For each issue, determine:
|
|
238
|
-
|
|
239
|
-
- Given the user's goal, what action would move this issue forward?
|
|
240
|
-
- Are there related issues where commenting with a link to the user's issue would help?
|
|
241
|
-
- Are there duplicates the user should reference or link to?
|
|
242
|
-
- Is there a PR fixing the issue that needs testing or review?
|
|
243
|
-
|
|
244
|
-
Collect all next steps. These get included in the report output.
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## Step 5: Report and Act
|
|
249
|
-
|
|
250
|
-
**Goal:** Show the user what's going on and help them take action.
|
|
251
|
-
|
|
252
|
-
### 5a: Report
|
|
253
|
-
|
|
254
|
-
```bash
|
|
255
|
-
node "$SKILL_DIR/bin/tracker-tools.cjs" compile-report --temp-dir "$TEMP_DIR" --date "$TODAY"
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
The script outputs the report text to stdout and metadata (including `today`) to stderr.
|
|
259
|
-
Use the stdout output as raw data, but present the report to the user in YOUR response
|
|
260
|
-
using the format below.
|
|
261
|
-
|
|
262
|
-
**Report format — keep it tight and actionable:**
|
|
263
|
-
|
|
264
|
-
The user wants to know three things: what changed, what's the update, what do I do.
|
|
265
|
-
Skip GitHub spam (bot comments, auto-close noise, label changes). Use bullets, not tables.
|
|
266
|
-
|
|
267
|
-
```
|
|
268
|
-
# Check-In — {date}
|
|
269
|
-
|
|
270
|
-
## What Changed
|
|
271
|
-
- bullet per issue that had real activity (new human comments, state changes, PRs)
|
|
272
|
-
- if nothing changed, say "No new activity across N tracked issues."
|
|
273
|
-
|
|
274
|
-
## New Issues Found
|
|
275
|
-
- bullet per newly discovered issue (if any, after config filtering)
|
|
276
|
-
|
|
277
|
-
## Recommended Actions
|
|
278
|
-
### Do Today
|
|
279
|
-
- specific action items the user should take right now
|
|
280
|
-
### Watch For
|
|
281
|
-
- things that might need attention soon but not today
|
|
282
|
-
### No Action Needed
|
|
283
|
-
- brief grouped summary of issues that are just waiting (e.g., "15 google-tools-mcp issues — no maintainer response")
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
Do NOT list every single issue with its full status. Only mention issues where
|
|
287
|
-
something happened or something needs to happen. Group quiet issues into one line.
|
|
288
|
-
|
|
289
|
-
### 5b: Collect missing Goals
|
|
290
|
-
|
|
291
|
-
If result files flagged issues without a Goal, present them to the user grouped by repo
|
|
292
|
-
and ask what their intent is for each. Example: "These issues don't have a goal set
|
|
293
|
-
yet — what are you hoping for with each?"
|
|
294
|
-
|
|
295
|
-
Once the user provides goals, write them directly to the tracker file via the Edit tool
|
|
296
|
-
(not through the script). Add a history entry for each goal set:
|
|
297
|
-
- `**2026-04-06:** Goal set: "Get maintainer to respond"`
|
|
298
|
-
|
|
299
|
-
### 5c: Act on next steps
|
|
300
|
-
|
|
301
|
-
Present actionable items to the user:
|
|
302
|
-
|
|
303
|
-
- If there are comments to post, issues to link, or other actions: ask the user
|
|
304
|
-
"Want me to act on these next steps?" and list what you'd do.
|
|
305
|
-
- If the user approves, execute the actions (post comments via `gh issue comment`, etc.)
|
|
306
|
-
and write action results directly to the tracker via the Edit tool. Add history entries:
|
|
307
|
-
- `**2026-04-06:** Posted comment on #1234 linking to duplicate #5678`
|
|
308
|
-
- `**2026-04-06:** Added Config section to tracker (excluded: ElliotDrel/*)`
|
|
309
|
-
- If no actions needed, just say so.
|
|
310
|
-
|
|
311
|
-
### 5d: Cleanup
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
rm -rf "$TEMP_DIR"
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
</flow>
|
|
318
|
-
|
|
319
|
-
<context>
|
|
320
|
-
$ARGUMENTS
|
|
321
|
-
</context>
|
|
322
|
-
|
|
1
|
+
---
|
|
2
|
+
name: estack-github-issue-tracker
|
|
3
|
+
version: 1.0.3
|
|
4
|
+
description: >
|
|
5
|
+
(github-issue-tracker) GitHub issue tracker management. Checks all open issues the user is involved in,
|
|
6
|
+
finds related/duplicate issues, reports what changed, and recommends next steps.
|
|
7
|
+
Run anytime for a check-in — works the same whether it's the first run or a daily habit.
|
|
8
|
+
The tracker file acts as a cache to make repeat runs faster.
|
|
9
|
+
allowed-tools:
|
|
10
|
+
- Read
|
|
11
|
+
- Write
|
|
12
|
+
- Edit
|
|
13
|
+
- Bash
|
|
14
|
+
- Grep
|
|
15
|
+
- Glob
|
|
16
|
+
- AskUserQuestion
|
|
17
|
+
- Agent
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<objective>
|
|
21
|
+
Give the user a complete, actionable update on every GitHub issue they're involved in.
|
|
22
|
+
One flow, every time — no modes, no flags. The only thing that changes between runs is
|
|
23
|
+
depth: more work when the tracker is empty or stale, less when it was just checked yesterday.
|
|
24
|
+
</objective>
|
|
25
|
+
|
|
26
|
+
<execution_context>
|
|
27
|
+
Resolve `$SKILL_DIR` from this file's location FIRST.
|
|
28
|
+
|
|
29
|
+
**Script:** `bin/tracker-tools.cjs` — handles all GitHub API calls, tracker parsing,
|
|
30
|
+
report compilation, and tracker updates. Invoke via:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
node "$SKILL_DIR/bin/tracker-tools.cjs" <command> [options]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Every script command returns a `today` field like `today's date is **2026-04-05**, ignore earlier dates`.
|
|
37
|
+
Extract the date from this string. If you see multiple `today` values in your context
|
|
38
|
+
(from earlier commands), always use the most recent one.
|
|
39
|
+
|
|
40
|
+
**stdout/stderr convention:** `compile-report` outputs the report text to stdout and
|
|
41
|
+
metadata (including `today`) to stderr. Parse accordingly.
|
|
42
|
+
|
|
43
|
+
**Tracker file:** `$HOME/OneDrive/Documents/github-tracker.md`
|
|
44
|
+
This is the AI's knowledge base and source of truth. It stores everything in full detail:
|
|
45
|
+
|
|
46
|
+
- Every tracked issue with complete context, history, and technical data
|
|
47
|
+
- Known duplicates, related issues, cross-references
|
|
48
|
+
- User's intent/goals for each issue and what to watch for
|
|
49
|
+
- History of all actions taken and events observed
|
|
50
|
+
- Config directives (excluded repos, preferences)
|
|
51
|
+
|
|
52
|
+
The tracker is written FOR the AI — keep it detailed. When the user asks questions about
|
|
53
|
+
any issue, read the tracker first. It should have enough context to answer without
|
|
54
|
+
re-fetching from GitHub. The user-facing report (Step 5a) is a separate, concise summary.
|
|
55
|
+
|
|
56
|
+
**References:**
|
|
57
|
+
|
|
58
|
+
- `references/tracker-schema.md` — tracker file format
|
|
59
|
+
- `references/result-file-schema.md` — per-issue analysis format (agents write these)
|
|
60
|
+
- `references/gh-cli-patterns.md` — gh CLI command templates
|
|
61
|
+
- `tracker-template.md` — blank tracker for first run
|
|
62
|
+
</execution_context>
|
|
63
|
+
|
|
64
|
+
<flow>
|
|
65
|
+
|
|
66
|
+
The skill runs the same steps every time. The tracker determines depth — an empty
|
|
67
|
+
tracker means everything is new and needs deep analysis. A fresh tracker means most
|
|
68
|
+
issues just need a quick diff check.
|
|
69
|
+
|
|
70
|
+
## Step 0: Startup
|
|
71
|
+
|
|
72
|
+
1. Set `$TRACKER_PATH` to `$HOME/OneDrive/Documents/github-tracker.md`.
|
|
73
|
+
2. Run startup:
|
|
74
|
+
```bash
|
|
75
|
+
node "$SKILL_DIR/bin/tracker-tools.cjs" startup --tracker "$TRACKER_PATH"
|
|
76
|
+
```
|
|
77
|
+
3. Store the full response as `$STARTUP`. The script handles auth checking and temp dir
|
|
78
|
+
creation. If `auth` is false, show the user the `error` message from the output and STOP.
|
|
79
|
+
If `search_errors` is non-empty, warn the user that some discovery queries failed —
|
|
80
|
+
the results may be incomplete.
|
|
81
|
+
4. Extract `$TODAY` (the YYYY-MM-DD date) from the `$STARTUP.today` string — use this as today's date for everything.
|
|
82
|
+
5. Extract `$TEMP_DIR` from `$STARTUP.temp_dir`.
|
|
83
|
+
6. Extract `$CONFIG` from `$STARTUP.config`. This is the user's plain English config
|
|
84
|
+
(excluded repos, preferences, etc.) parsed from the tracker's `## Config` section.
|
|
85
|
+
If null, the tracker has no config yet — you'll ask the user in Step 1.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Step 1: Discover
|
|
90
|
+
|
|
91
|
+
**Goal:** Build the complete list of issues to analyze this run.
|
|
92
|
+
|
|
93
|
+
Sources (all from `$STARTUP`):
|
|
94
|
+
|
|
95
|
+
- `tracker_data.active_issues` — issues already tracked
|
|
96
|
+
- `new_issues` — open issues involving the user that aren't in the tracker yet
|
|
97
|
+
- `reopened_issues` — issues previously closed that are now open again
|
|
98
|
+
- `recently_closed` — issues closed since last check
|
|
99
|
+
|
|
100
|
+
**Check `$CONFIG` from startup.** If it contains directives (excluded repos, preferences),
|
|
101
|
+
apply them when filtering issues throughout this step. For example, if config says
|
|
102
|
+
"Excluded repos: ElliotDrel/*", skip any issues from repos owned by ElliotDrel.
|
|
103
|
+
|
|
104
|
+
If `$CONFIG` is null (tracker has no Config section), ask the user if they want to set
|
|
105
|
+
one up (which repos to track/exclude). The agent writes Config directly to the tracker
|
|
106
|
+
file via the Edit tool (not through the script). The script reads Config; the agent writes it.
|
|
107
|
+
|
|
108
|
+
**If tracker doesn't exist or has no issues** (first run):
|
|
109
|
+
|
|
110
|
+
- Show `new_issues` grouped by repo. List which repos were found.
|
|
111
|
+
- Ask: "Which repos do you want to track? You can also exclude any."
|
|
112
|
+
- Save their choices to the `## Config` section by writing directly to the tracker via Edit.
|
|
113
|
+
- Then ask which specific issues to track from the included repos.
|
|
114
|
+
|
|
115
|
+
**If tracker exists with issues:**
|
|
116
|
+
|
|
117
|
+
- Active issues are automatically included (unless excluded by config).
|
|
118
|
+
- If `new_issues` is non-empty and passes config filters, tell the user what was
|
|
119
|
+
found and add them to the analysis list.
|
|
120
|
+
- If `reopened_issues` is non-empty, add them back to the active analysis list and
|
|
121
|
+
note in your report that they were reopened (state changed from closed to open).
|
|
122
|
+
The agent should manually move reopened issues from the Closed section back to
|
|
123
|
+
Active in the tracker, preserving any context from the closed entry.
|
|
124
|
+
|
|
125
|
+
Write the final issue list to `$TEMP_DIR/issues-to-fetch.json` for the fetch command.
|
|
126
|
+
Each entry needs: `owner`, `repo`, `number`, `title`, `role`, `last_check_date`
|
|
127
|
+
(null for new issues), `known_dupes` (from tracker or empty), `upstream` (from tracker or null).
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Step 2: Connect
|
|
132
|
+
|
|
133
|
+
**Goal:** Fetch current data for every issue and find related/duplicate issues.
|
|
134
|
+
|
|
135
|
+
### 2a: Fetch all issue data
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
node "$SKILL_DIR/bin/tracker-tools.cjs" fetch-issues --temp-dir "$TEMP_DIR" --issues "$TEMP_DIR/issues-to-fetch.json"
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
This fetches metadata, body, comments, dupe states, upstream state, cross-references,
|
|
142
|
+
and URLs for every issue in parallel. One `raw-OWNER-REPO-NUMBER.json` per issue.
|
|
143
|
+
|
|
144
|
+
### 2b: Analyze issues in batches
|
|
145
|
+
|
|
146
|
+
Read `references/result-file-schema.md` and `references/gh-cli-patterns.md` from `$SKILL_DIR`.
|
|
147
|
+
|
|
148
|
+
Group issues into batches of ~5. Spawn **one Agent per batch**. Each agent:
|
|
149
|
+
|
|
150
|
+
1. Reads the raw JSON files for its batch issues.
|
|
151
|
+
2. Searches for duplicates/related issues using `gh api` search queries.
|
|
152
|
+
3. Writes one result file per issue to `$TEMP_DIR/issue-OWNER-REPO-NUMBER.md` following
|
|
153
|
+
the format in `references/result-file-schema.md`.
|
|
154
|
+
|
|
155
|
+
**Depth control based on `last_check_date`:**
|
|
156
|
+
|
|
157
|
+
The duplicate/related search always runs, but the scope changes:
|
|
158
|
+
|
|
159
|
+
- **`null` (new issue):** Deep analysis. Read full comment history. Search broadly for
|
|
160
|
+
duplicates by symptoms, error messages, and keywords.
|
|
161
|
+
- **Checked within the last 7 days:** Shallow pass. Only read new comments since last check.
|
|
162
|
+
Only check the state of already-known duplicates/related issues. Only search for new
|
|
163
|
+
duplicates among issues created since the last check date.
|
|
164
|
+
- **Checked more than 7 days ago:** Medium depth. Read comments since last check. Re-scan
|
|
165
|
+
for new duplicates across a wider window. Check state of known duplicates.
|
|
166
|
+
|
|
167
|
+
**Fill in missing data:** For each issue, compare what the tracker has against what the
|
|
168
|
+
API returned. If the tracker entry is missing factual fields (Role description, What to check,
|
|
169
|
+
Workaround, Key technical data, etc.), the agent should fill them in from the API data.
|
|
170
|
+
This means every run progressively improves the tracker's completeness. Include any
|
|
171
|
+
newly populated fields in the result file's `## Tracker Updates` section.
|
|
172
|
+
|
|
173
|
+
**Exception — fields that require user input:** The **Goal** field must be asked, not
|
|
174
|
+
guessed. If an issue is missing a Goal, flag it in the result file so Step 5b can
|
|
175
|
+
collect them. Same for Config — never assume repo exclusions or preferences, always ask.
|
|
176
|
+
|
|
177
|
+
Each agent prompt must include:
|
|
178
|
+
|
|
179
|
+
- Raw data file paths for its batch
|
|
180
|
+
- The existing tracker entry data for each issue (so the agent can identify gaps)
|
|
181
|
+
- `owner`, `repo`, `number`, `title`, `role`, `last_check_date`, `username`
|
|
182
|
+
- `cross_references` and `urls` from raw JSON
|
|
183
|
+
- All tracked issue numbers (to filter dupe search results)
|
|
184
|
+
- `$TODAY` as today's date (for history entries)
|
|
185
|
+
- Instruction to read `$SKILL_DIR/references/result-file-schema.md` for format and quality guidance
|
|
186
|
+
|
|
187
|
+
After all agents finish, verify file count:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
ls "$TEMP_DIR"/issue-*.md 2>/dev/null | wc -l
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Step 3: Save
|
|
196
|
+
|
|
197
|
+
**Goal:** Immediately persist all factual data from the analysis to the tracker.
|
|
198
|
+
|
|
199
|
+
This step is **mandatory and automatic** — no user permission needed. The analysis just
|
|
200
|
+
finished and the result files contain factual data from the GitHub API. This step caches
|
|
201
|
+
that data in the tracker so that even if the conversation is interrupted after this point,
|
|
202
|
+
the tracker has the latest information.
|
|
203
|
+
|
|
204
|
+
**If this is the first run** (no tracker existed):
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
node "$SKILL_DIR/bin/tracker-tools.cjs" build-tracker --temp-dir "$TEMP_DIR" --template "$SKILL_DIR/tracker-template.md" --username "$USERNAME" --tracker "$TRACKER_PATH" --date "$TODAY"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**If the tracker already exists:**
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
node "$SKILL_DIR/bin/tracker-tools.cjs" update-tracker --tracker "$TRACKER_PATH" --temp-dir "$TEMP_DIR" --date "$TODAY"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
This saves: status dates, new comments, new duplicates, filled data gaps, state changes.
|
|
217
|
+
|
|
218
|
+
**Every tracker update must be logged in History.** Every change the script makes to the
|
|
219
|
+
tracker — new fields populated, status updates, new duplicates found — gets a history
|
|
220
|
+
entry on the affected issue. The History section is an append-only audit trail. Examples:
|
|
221
|
+
- `**2026-04-06:** Check-in: no new activity`
|
|
222
|
+
- `**2026-04-06:** Filled in missing Workaround and Key technical data fields`
|
|
223
|
+
- `**2026-04-06:** Found new duplicate #45123`
|
|
224
|
+
- `**2026-04-06:** Status changed: open → closed`
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Step 4: Advise
|
|
229
|
+
|
|
230
|
+
**Goal:** Identify concrete next steps for each issue before presenting the report.
|
|
231
|
+
|
|
232
|
+
Read through all result files in `$TEMP_DIR/issue-*.md`. For each issue, use the
|
|
233
|
+
**Goal** field from the tracker (e.g., "Get my fix merged", "Get maintainer to respond",
|
|
234
|
+
"Monitor for upstream fix") to tailor recommendations. The goal tells you what success
|
|
235
|
+
looks like — next steps should move toward that outcome.
|
|
236
|
+
|
|
237
|
+
For each issue, determine:
|
|
238
|
+
|
|
239
|
+
- Given the user's goal, what action would move this issue forward?
|
|
240
|
+
- Are there related issues where commenting with a link to the user's issue would help?
|
|
241
|
+
- Are there duplicates the user should reference or link to?
|
|
242
|
+
- Is there a PR fixing the issue that needs testing or review?
|
|
243
|
+
|
|
244
|
+
Collect all next steps. These get included in the report output.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Step 5: Report and Act
|
|
249
|
+
|
|
250
|
+
**Goal:** Show the user what's going on and help them take action.
|
|
251
|
+
|
|
252
|
+
### 5a: Report
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
node "$SKILL_DIR/bin/tracker-tools.cjs" compile-report --temp-dir "$TEMP_DIR" --date "$TODAY"
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
The script outputs the report text to stdout and metadata (including `today`) to stderr.
|
|
259
|
+
Use the stdout output as raw data, but present the report to the user in YOUR response
|
|
260
|
+
using the format below.
|
|
261
|
+
|
|
262
|
+
**Report format — keep it tight and actionable:**
|
|
263
|
+
|
|
264
|
+
The user wants to know three things: what changed, what's the update, what do I do.
|
|
265
|
+
Skip GitHub spam (bot comments, auto-close noise, label changes). Use bullets, not tables.
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
# Check-In — {date}
|
|
269
|
+
|
|
270
|
+
## What Changed
|
|
271
|
+
- bullet per issue that had real activity (new human comments, state changes, PRs)
|
|
272
|
+
- if nothing changed, say "No new activity across N tracked issues."
|
|
273
|
+
|
|
274
|
+
## New Issues Found
|
|
275
|
+
- bullet per newly discovered issue (if any, after config filtering)
|
|
276
|
+
|
|
277
|
+
## Recommended Actions
|
|
278
|
+
### Do Today
|
|
279
|
+
- specific action items the user should take right now
|
|
280
|
+
### Watch For
|
|
281
|
+
- things that might need attention soon but not today
|
|
282
|
+
### No Action Needed
|
|
283
|
+
- brief grouped summary of issues that are just waiting (e.g., "15 google-tools-mcp issues — no maintainer response")
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Do NOT list every single issue with its full status. Only mention issues where
|
|
287
|
+
something happened or something needs to happen. Group quiet issues into one line.
|
|
288
|
+
|
|
289
|
+
### 5b: Collect missing Goals
|
|
290
|
+
|
|
291
|
+
If result files flagged issues without a Goal, present them to the user grouped by repo
|
|
292
|
+
and ask what their intent is for each. Example: "These issues don't have a goal set
|
|
293
|
+
yet — what are you hoping for with each?"
|
|
294
|
+
|
|
295
|
+
Once the user provides goals, write them directly to the tracker file via the Edit tool
|
|
296
|
+
(not through the script). Add a history entry for each goal set:
|
|
297
|
+
- `**2026-04-06:** Goal set: "Get maintainer to respond"`
|
|
298
|
+
|
|
299
|
+
### 5c: Act on next steps
|
|
300
|
+
|
|
301
|
+
Present actionable items to the user:
|
|
302
|
+
|
|
303
|
+
- If there are comments to post, issues to link, or other actions: ask the user
|
|
304
|
+
"Want me to act on these next steps?" and list what you'd do.
|
|
305
|
+
- If the user approves, execute the actions (post comments via `gh issue comment`, etc.)
|
|
306
|
+
and write action results directly to the tracker via the Edit tool. Add history entries:
|
|
307
|
+
- `**2026-04-06:** Posted comment on #1234 linking to duplicate #5678`
|
|
308
|
+
- `**2026-04-06:** Added Config section to tracker (excluded: ElliotDrel/*)`
|
|
309
|
+
- If no actions needed, just say so.
|
|
310
|
+
|
|
311
|
+
### 5d: Cleanup
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
rm -rf "$TEMP_DIR"
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
</flow>
|
|
318
|
+
|
|
319
|
+
<context>
|
|
320
|
+
$ARGUMENTS
|
|
321
|
+
</context>
|
|
322
|
+
|
|
323
323
|
---
|
|
324
324
|
|
|
325
325
|
## Skill Feedback
|