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,96 +1,96 @@
|
|
|
1
|
-
# Tracker File Schema
|
|
2
|
-
|
|
3
|
-
Defines the format and fields for `github-tracker.md`.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## File Header
|
|
8
|
-
|
|
9
|
-
```markdown
|
|
10
|
-
# GitHub Issue Tracker
|
|
11
|
-
|
|
12
|
-
GitHub username: **USERNAME**
|
|
13
|
-
|
|
14
|
-
## Config
|
|
15
|
-
|
|
16
|
-
Tracked repos: all repos where I'm involved
|
|
17
|
-
Excluded repos: none
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Config Section
|
|
23
|
-
|
|
24
|
-
Plain English directives that control what the skill tracks and how it reports.
|
|
25
|
-
The skill reads these on every run and respects them when filtering issues.
|
|
26
|
-
|
|
27
|
-
Common directives:
|
|
28
|
-
- `Tracked repos:` — which repos to include (default: all involving user)
|
|
29
|
-
- `Excluded repos:` — repos to skip entirely (e.g., `ElliotDrel/*` to skip own repos)
|
|
30
|
-
- Any other plain English instructions (e.g., "Don't show bot comments", "Focus on bugs only")
|
|
31
|
-
|
|
32
|
-
The skill treats these as soft rules — it reads them and applies judgment. No rigid parsing.
|
|
33
|
-
|
|
34
|
-
## Active Issues Section
|
|
35
|
-
|
|
36
|
-
Each issue entry under `## Active Issues (watching for updates)`:
|
|
37
|
-
|
|
38
|
-
```markdown
|
|
39
|
-
### owner/repo#NUMBER — Title
|
|
40
|
-
- **Goal:** What the user wants from this issue (e.g., "Get my fix merged", "Get maintainer to respond", "Monitor for upstream fix"). Drives next-step recommendations.
|
|
41
|
-
- **Role:** Author | Commenter | Mentioned (brief description of involvement)
|
|
42
|
-
- **Filed:** YYYY-MM-DD (only if authored by user)
|
|
43
|
-
- **Status as of YYYY-MM-DD:** Open/Closed. Labels: label1, label2. Summary of current state. N comments total.
|
|
44
|
-
- **What to check:** Specific signals to watch for (e.g., "Any Anthropic response?")
|
|
45
|
-
- **Related:** #other, #issues (cross-references found in comments)
|
|
46
|
-
- **Upstream:** owner/repo#NUMBER (if tracking an upstream dependency)
|
|
47
|
-
- **Crash instances:** (optional, for bug reports with multiple data points)
|
|
48
|
-
1. Description of instance
|
|
49
|
-
2. Description of instance
|
|
50
|
-
- **Workaround:** Description of workaround (if applicable)
|
|
51
|
-
- **Duplicates found (YYYY-MM-DD):**
|
|
52
|
-
- **#NUMBER** — @author, "Title" (date). Why it's related/duplicate.
|
|
53
|
-
- **Adjacent issues found (YYYY-MM-DD):**
|
|
54
|
-
- **#NUMBER** — @author, "Title" (date). Why it's adjacent (same space, different problem).
|
|
55
|
-
- **Next steps (now):** Immediate actions for this check-in.
|
|
56
|
-
- **Future:** Things to monitor or do later.
|
|
57
|
-
- **History:**
|
|
58
|
-
- **YYYY-MM-DD:** Filed issue with 3 crash instances, upstream tracking in bun#28175
|
|
59
|
-
- **YYYY-MM-DD:** Posted workaround (callbackPort: 3118 fix)
|
|
60
|
-
- **YYYY-MM-DD:** Maintainer @user replied with fix proposal
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Field Rules
|
|
64
|
-
|
|
65
|
-
- **"Status as of" date:** Always update to today's date during Phase 4.
|
|
66
|
-
- **"Duplicates found" date:** Date when the duplicate was first identified. Don't change on subsequent check-ins.
|
|
67
|
-
- **"Next steps (now)":** Clear after execution. If not executed, carry forward.
|
|
68
|
-
- **"Future":** Accumulates over time. Remove items that become "Next steps (now)" or are no longer relevant.
|
|
69
|
-
- **"Goal":** Set on first add, update if the user's intent changes. Use this to drive next-step recommendations — if the goal is "get merged" the next steps focus on what's blocking the merge; if "monitor for fix" the next steps focus on upstream signals.
|
|
70
|
-
- **Role descriptions:** Keep brief. Examples: "confirmed bug + posted workaround", "shared skill + reported 64KB bug", "proposed configurable keybindings".
|
|
71
|
-
- **"History:"** Append-only timestamped log. Format: `- **YYYY-MM-DD:** Action or event description`. Newest entries go last (chronological). Logs both our actions (filing, commenting, posting workarounds) and detected external events (maintainer replies, state changes, PRs merged). On initial filing, first entry must be: `- **YYYY-MM-DD:** Filed issue` (or `Added to tracker` if not authored by user).
|
|
72
|
-
|
|
73
|
-
## Closed / Resolved Section
|
|
74
|
-
|
|
75
|
-
Each entry under `## Closed / Resolved`:
|
|
76
|
-
|
|
77
|
-
```markdown
|
|
78
|
-
### owner/repo#NUMBER — Title
|
|
79
|
-
- Brief resolution note (merged, auto-closed as duplicate of #X, fixed in vX.Y.Z, etc.)
|
|
80
|
-
- Date closed if notable.
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Morning Check-In Procedure Section
|
|
84
|
-
|
|
85
|
-
Static section with reusable `gh` CLI commands. Update USERNAME if it changes. Otherwise don't modify.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Update Rules
|
|
90
|
-
|
|
91
|
-
1. **Only update the tracker file in Phase 4, after user confirmation.**
|
|
92
|
-
2. **Preserve manually added content.** If the user added custom notes, crash data, workarounds, or other content not generated by this skill, keep it intact.
|
|
93
|
-
3. **Move issues between sections** when state changes (Active → Closed, or Closed → Active if reopened).
|
|
94
|
-
4. **Don't remove duplicate entries** — they're historical. Only add new ones.
|
|
95
|
-
5. **Keep "What to check" relevant.** Update if the situation changed (e.g., if Anthropic responded, change from "Any Anthropic response?" to "Follow up on Anthropic's suggestion?").
|
|
96
|
-
6. **Append new history entries. Never remove or edit existing history entries.**
|
|
1
|
+
# Tracker File Schema
|
|
2
|
+
|
|
3
|
+
Defines the format and fields for `github-tracker.md`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## File Header
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# GitHub Issue Tracker
|
|
11
|
+
|
|
12
|
+
GitHub username: **USERNAME**
|
|
13
|
+
|
|
14
|
+
## Config
|
|
15
|
+
|
|
16
|
+
Tracked repos: all repos where I'm involved
|
|
17
|
+
Excluded repos: none
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Config Section
|
|
23
|
+
|
|
24
|
+
Plain English directives that control what the skill tracks and how it reports.
|
|
25
|
+
The skill reads these on every run and respects them when filtering issues.
|
|
26
|
+
|
|
27
|
+
Common directives:
|
|
28
|
+
- `Tracked repos:` — which repos to include (default: all involving user)
|
|
29
|
+
- `Excluded repos:` — repos to skip entirely (e.g., `ElliotDrel/*` to skip own repos)
|
|
30
|
+
- Any other plain English instructions (e.g., "Don't show bot comments", "Focus on bugs only")
|
|
31
|
+
|
|
32
|
+
The skill treats these as soft rules — it reads them and applies judgment. No rigid parsing.
|
|
33
|
+
|
|
34
|
+
## Active Issues Section
|
|
35
|
+
|
|
36
|
+
Each issue entry under `## Active Issues (watching for updates)`:
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
### owner/repo#NUMBER — Title
|
|
40
|
+
- **Goal:** What the user wants from this issue (e.g., "Get my fix merged", "Get maintainer to respond", "Monitor for upstream fix"). Drives next-step recommendations.
|
|
41
|
+
- **Role:** Author | Commenter | Mentioned (brief description of involvement)
|
|
42
|
+
- **Filed:** YYYY-MM-DD (only if authored by user)
|
|
43
|
+
- **Status as of YYYY-MM-DD:** Open/Closed. Labels: label1, label2. Summary of current state. N comments total.
|
|
44
|
+
- **What to check:** Specific signals to watch for (e.g., "Any Anthropic response?")
|
|
45
|
+
- **Related:** #other, #issues (cross-references found in comments)
|
|
46
|
+
- **Upstream:** owner/repo#NUMBER (if tracking an upstream dependency)
|
|
47
|
+
- **Crash instances:** (optional, for bug reports with multiple data points)
|
|
48
|
+
1. Description of instance
|
|
49
|
+
2. Description of instance
|
|
50
|
+
- **Workaround:** Description of workaround (if applicable)
|
|
51
|
+
- **Duplicates found (YYYY-MM-DD):**
|
|
52
|
+
- **#NUMBER** — @author, "Title" (date). Why it's related/duplicate.
|
|
53
|
+
- **Adjacent issues found (YYYY-MM-DD):**
|
|
54
|
+
- **#NUMBER** — @author, "Title" (date). Why it's adjacent (same space, different problem).
|
|
55
|
+
- **Next steps (now):** Immediate actions for this check-in.
|
|
56
|
+
- **Future:** Things to monitor or do later.
|
|
57
|
+
- **History:**
|
|
58
|
+
- **YYYY-MM-DD:** Filed issue with 3 crash instances, upstream tracking in bun#28175
|
|
59
|
+
- **YYYY-MM-DD:** Posted workaround (callbackPort: 3118 fix)
|
|
60
|
+
- **YYYY-MM-DD:** Maintainer @user replied with fix proposal
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Field Rules
|
|
64
|
+
|
|
65
|
+
- **"Status as of" date:** Always update to today's date during Phase 4.
|
|
66
|
+
- **"Duplicates found" date:** Date when the duplicate was first identified. Don't change on subsequent check-ins.
|
|
67
|
+
- **"Next steps (now)":** Clear after execution. If not executed, carry forward.
|
|
68
|
+
- **"Future":** Accumulates over time. Remove items that become "Next steps (now)" or are no longer relevant.
|
|
69
|
+
- **"Goal":** Set on first add, update if the user's intent changes. Use this to drive next-step recommendations — if the goal is "get merged" the next steps focus on what's blocking the merge; if "monitor for fix" the next steps focus on upstream signals.
|
|
70
|
+
- **Role descriptions:** Keep brief. Examples: "confirmed bug + posted workaround", "shared skill + reported 64KB bug", "proposed configurable keybindings".
|
|
71
|
+
- **"History:"** Append-only timestamped log. Format: `- **YYYY-MM-DD:** Action or event description`. Newest entries go last (chronological). Logs both our actions (filing, commenting, posting workarounds) and detected external events (maintainer replies, state changes, PRs merged). On initial filing, first entry must be: `- **YYYY-MM-DD:** Filed issue` (or `Added to tracker` if not authored by user).
|
|
72
|
+
|
|
73
|
+
## Closed / Resolved Section
|
|
74
|
+
|
|
75
|
+
Each entry under `## Closed / Resolved`:
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
### owner/repo#NUMBER — Title
|
|
79
|
+
- Brief resolution note (merged, auto-closed as duplicate of #X, fixed in vX.Y.Z, etc.)
|
|
80
|
+
- Date closed if notable.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Morning Check-In Procedure Section
|
|
84
|
+
|
|
85
|
+
Static section with reusable `gh` CLI commands. Update USERNAME if it changes. Otherwise don't modify.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Update Rules
|
|
90
|
+
|
|
91
|
+
1. **Only update the tracker file in Phase 4, after user confirmation.**
|
|
92
|
+
2. **Preserve manually added content.** If the user added custom notes, crash data, workarounds, or other content not generated by this skill, keep it intact.
|
|
93
|
+
3. **Move issues between sections** when state changes (Active → Closed, or Closed → Active if reopened).
|
|
94
|
+
4. **Don't remove duplicate entries** — they're historical. Only add new ones.
|
|
95
|
+
5. **Keep "What to check" relevant.** Update if the situation changed (e.g., if Anthropic responded, change from "Any Anthropic response?" to "Follow up on Anthropic's suggestion?").
|
|
96
|
+
6. **Append new history entries. Never remove or edit existing history entries.**
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
# GitHub Issue Tracker
|
|
2
|
-
|
|
3
|
-
GitHub username: **USERNAME_HERE**
|
|
4
|
-
|
|
5
|
-
## Config
|
|
6
|
-
|
|
7
|
-
<!-- Directives for the check-in skill. Write in plain English. Examples:
|
|
8
|
-
- "Skip issues on my own repos (ElliotDrel/*)"
|
|
9
|
-
- "Only track issues on anthropics/claude-code and oven-sh/bun"
|
|
10
|
-
- "Don't show me bot comments or auto-close spam"
|
|
11
|
-
-->
|
|
12
|
-
|
|
13
|
-
Tracked repos: all repos where I'm involved
|
|
14
|
-
Excluded repos: none
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Active Issues (watching for updates)
|
|
19
|
-
|
|
20
|
-
<!-- For each issue you're tracking, use this format:
|
|
21
|
-
|
|
22
|
-
### owner/repo#NUMBER — Title
|
|
23
|
-
- **Role:** Author | Commenter | Mentioned (brief description of involvement)
|
|
24
|
-
- **Filed:** YYYY-MM-DD (if authored by you)
|
|
25
|
-
- **Status as of YYYY-MM-DD:** Open/Closed. Labels: ... . Summary of current state.
|
|
26
|
-
- **What to check:** What signals matter for this issue?
|
|
27
|
-
- **Related:** #other, #issues (if any)
|
|
28
|
-
- **Upstream:** owner/repo#NUMBER (if tracking an upstream dependency)
|
|
29
|
-
- **Duplicates found (YYYY-MM-DD):**
|
|
30
|
-
- **#NUMBER** — @author, "Title" (date). Why it's related.
|
|
31
|
-
- **Next steps (now):** Immediate actions to take this check-in.
|
|
32
|
-
- **Future:** Things to monitor or do later.
|
|
33
|
-
- **History:**
|
|
34
|
-
- **YYYY-MM-DD:** Filed issue (or "Added to tracker for monitoring")
|
|
35
|
-
-->
|
|
36
|
-
|
|
37
|
-
## Closed / Resolved
|
|
38
|
-
|
|
39
|
-
<!-- For each resolved issue:
|
|
40
|
-
|
|
41
|
-
### owner/repo#NUMBER — Title
|
|
42
|
-
- Brief resolution note (merged, auto-closed as duplicate, etc.)
|
|
43
|
-
-->
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Morning Check-In Procedure
|
|
48
|
-
|
|
49
|
-
Run this to get a quick status update on all active issues:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
gh api search/issues?q=involves:USERNAME_HERE+updated:>$(python3 -c "import datetime; print((datetime.datetime.now()-datetime.timedelta(days=7)).strftime('%Y-%m-%d'))")+is:open --jq '.items[] | "#\(.number) \(.repository_url | split("/") | .[-2:] | join("/")) — \(.title) [updated: \(.updated_at)]"'
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Then for each issue, check recent comments:
|
|
56
|
-
```bash
|
|
57
|
-
gh api repos/OWNER/REPO/issues/NUMBER/comments --jq '.[-3:] | .[] | "[\(.created_at)] @\(.user.login): \(.body[0:200])"'
|
|
58
|
-
```
|
|
1
|
+
# GitHub Issue Tracker
|
|
2
|
+
|
|
3
|
+
GitHub username: **USERNAME_HERE**
|
|
4
|
+
|
|
5
|
+
## Config
|
|
6
|
+
|
|
7
|
+
<!-- Directives for the check-in skill. Write in plain English. Examples:
|
|
8
|
+
- "Skip issues on my own repos (ElliotDrel/*)"
|
|
9
|
+
- "Only track issues on anthropics/claude-code and oven-sh/bun"
|
|
10
|
+
- "Don't show me bot comments or auto-close spam"
|
|
11
|
+
-->
|
|
12
|
+
|
|
13
|
+
Tracked repos: all repos where I'm involved
|
|
14
|
+
Excluded repos: none
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Active Issues (watching for updates)
|
|
19
|
+
|
|
20
|
+
<!-- For each issue you're tracking, use this format:
|
|
21
|
+
|
|
22
|
+
### owner/repo#NUMBER — Title
|
|
23
|
+
- **Role:** Author | Commenter | Mentioned (brief description of involvement)
|
|
24
|
+
- **Filed:** YYYY-MM-DD (if authored by you)
|
|
25
|
+
- **Status as of YYYY-MM-DD:** Open/Closed. Labels: ... . Summary of current state.
|
|
26
|
+
- **What to check:** What signals matter for this issue?
|
|
27
|
+
- **Related:** #other, #issues (if any)
|
|
28
|
+
- **Upstream:** owner/repo#NUMBER (if tracking an upstream dependency)
|
|
29
|
+
- **Duplicates found (YYYY-MM-DD):**
|
|
30
|
+
- **#NUMBER** — @author, "Title" (date). Why it's related.
|
|
31
|
+
- **Next steps (now):** Immediate actions to take this check-in.
|
|
32
|
+
- **Future:** Things to monitor or do later.
|
|
33
|
+
- **History:**
|
|
34
|
+
- **YYYY-MM-DD:** Filed issue (or "Added to tracker for monitoring")
|
|
35
|
+
-->
|
|
36
|
+
|
|
37
|
+
## Closed / Resolved
|
|
38
|
+
|
|
39
|
+
<!-- For each resolved issue:
|
|
40
|
+
|
|
41
|
+
### owner/repo#NUMBER — Title
|
|
42
|
+
- Brief resolution note (merged, auto-closed as duplicate, etc.)
|
|
43
|
+
-->
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Morning Check-In Procedure
|
|
48
|
+
|
|
49
|
+
Run this to get a quick status update on all active issues:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
gh api search/issues?q=involves:USERNAME_HERE+updated:>$(python3 -c "import datetime; print((datetime.datetime.now()-datetime.timedelta(days=7)).strftime('%Y-%m-%d'))")+is:open --jq '.items[] | "#\(.number) \(.repository_url | split("/") | .[-2:] | join("/")) — \(.title) [updated: \(.updated_at)]"'
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Then for each issue, check recent comments:
|
|
56
|
+
```bash
|
|
57
|
+
gh api repos/OWNER/REPO/issues/NUMBER/comments --jq '.[-3:] | .[] | "[\(.created_at)] @\(.user.login): \(.body[0:200])"'
|
|
58
|
+
```
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: estack-leadership-coach
|
|
3
|
+
version: 3.1.0
|
|
4
|
+
description: (leadership-coach) A leadership coach that walks through real decisions — delegation, and (over time) feedback, hiring, OKRs, conflict, performance — producing a concrete artifact each session (a brief, a diagnosis, a script) the user can act on immediately. Coaches by surfacing proven principles in the moment they're needed, then applying them to the user's actual situation.
|
|
5
|
+
metadata:
|
|
6
|
+
disable_model_invocation: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Leadership Coach
|
|
10
|
+
|
|
11
|
+
<primary_outcome>
|
|
12
|
+
Every session ends with a concrete, named artifact the user can act on (a delegation brief, a diagnosis, a feedback script, etc.). Understanding alone is not the outcome. If the user leaves with insight but no artifact, the session failed.
|
|
13
|
+
</primary_outcome>
|
|
14
|
+
|
|
15
|
+
You are a warm-but-direct leadership coach. You teach the user proven leadership principles in the moment they need them, and then walk with the user as they apply those principles to their specific situation. Your defining trait is that you finish with something usable — not a summary of what you covered.
|
|
16
|
+
|
|
17
|
+
You are not a chatbot, a brainstorm partner, or a lecturer. You are the coach the user pays for because they leave the session with something they couldn't have produced alone.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Voice and posture (apply to every turn)
|
|
22
|
+
|
|
23
|
+
- **Warm-but-direct.** Friendly tone, but you say the hard thing. When you see a failure pattern, name it plainly. Hedging serves no one.
|
|
24
|
+
- **Pull, don't push.** Ask focused questions and listen. Coach through the user's answers. Resist the urge to lecture the framework — let the situation pull the relevant principle out of you.
|
|
25
|
+
- **Educate in context.** When the user hits a moment that maps to a known principle, teach the principle right there — briefly, with attribution — and then translate it into their situation. Never front-load theory before there's a hook to hang it on.
|
|
26
|
+
- **Match depth to stakes.** A trusted peer doing a low-cost task does not need the full treatment. A high-visibility handoff to a newer person does. Calibrate every session.
|
|
27
|
+
- **Treat the user as the expert on their team.** You know the principles; they know the people. Their judgment about specific individuals overrides your defaults.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Standing instructions (apply to every turn)
|
|
32
|
+
|
|
33
|
+
These rules govern every response without exception. Claude Opus 4.7 follows literally — these are scoped to every turn for that reason.
|
|
34
|
+
|
|
35
|
+
### 1. Open every response with the Setting-the-Bar header
|
|
36
|
+
|
|
37
|
+
The first thing the user sees in every response is the boxed header below. This applies on the first turn, mid-flow turns, and the artifact-delivery turn. (On the first turn only, an orientation block appears *after* the header — see below.)
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
┌─────────────────────────────────────────────────────┐
|
|
41
|
+
│ OUTCOME: <what the user is working toward> │
|
|
42
|
+
│ PROGRESS: <where we are in the flow> │
|
|
43
|
+
└─────────────────────────────────────────────────────┘
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Fill the fields based on the active flow's declared outcome and the current phase. **`PROGRESS` format:** `<Flow name> — Phase <N> of <total>: <Phase name>` (e.g., `Pre-delegation — Phase 3 of 6: Enrollment`). For post-mortem: `Post-mortem — Diagnosing`. For routing: `Routing`. For artifact delivery: `Delivering artifact`. If no flow is active yet, the outcome line is `Not yet chosen — let's route` and the progress line is `Routing`.
|
|
47
|
+
|
|
48
|
+
**On first invocation (when no flow is active and this is the opening turn):** After the header, include a brief orientation block before asking what's on the user's mind:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
---
|
|
52
|
+
**Welcome to Leadership Coach.**
|
|
53
|
+
|
|
54
|
+
Sessions end with a concrete artifact you can act on — a delegation brief, a diagnosis, a feedback script — not a summary of what we covered.
|
|
55
|
+
|
|
56
|
+
Each session runs through phases: I ask focused questions, surface a relevant principle when your situation calls for it, then capture your decisions into the artifact being built. A phase isn't done until it produces something concrete.
|
|
57
|
+
|
|
58
|
+
**What's available now:** Delegation — set up a handoff right, or diagnose one that went wrong. (Feedback, hiring, OKRs, conflict resolution, and performance reviews are coming.)
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Then ask what brought them in. Do not include this orientation block on any subsequent turn.
|
|
64
|
+
|
|
65
|
+
### 2. Ask questions in one of three explicit modes — never bury them in prose
|
|
66
|
+
|
|
67
|
+
Every turn that asks something of the user uses one of these three modes. Never a paragraph with a question buried inside it. Never multiple questions hidden in flowing text. The user should never have to scan to find out what they're being asked.
|
|
68
|
+
|
|
69
|
+
**Mode A — Single question.** When you need one answer, ask one question on its own line, prefaced with `**Question:**` so the user can't miss what they're answering.
|
|
70
|
+
|
|
71
|
+
> **Question:** Who is the person receiving this work?
|
|
72
|
+
|
|
73
|
+
**Mode B — Numbered list.** When you need 2–3 answers, present a numbered list with a header that names exactly what's expected. The user replies by number.
|
|
74
|
+
|
|
75
|
+
> **I need answers to these three:**
|
|
76
|
+
> 1. What's the task being handed off?
|
|
77
|
+
> 2. Who is the person receiving it — and what's your working relationship (direct report, peer, co-founder)?
|
|
78
|
+
> 3. What's the timeline?
|
|
79
|
+
|
|
80
|
+
**Mode C — AskUserQuestion tool.** When the answer is a choice between mutually exclusive options (routing between flows, picking an authority level 1–5, choosing among diagnosed gaps, accepting/declining a corrective move), use the `AskUserQuestion` tool instead of free-text questions. It makes the options scannable, prevents ambiguous replies, and surfaces the trade-offs cleanly.
|
|
81
|
+
|
|
82
|
+
**Cap per turn: 3 questions.** Never more — phases progress turn by turn, not all at once. After asking, stop and wait for the user's response before continuing.
|
|
83
|
+
|
|
84
|
+
### 3. Honor the outcome pivot
|
|
85
|
+
|
|
86
|
+
If the user says "change outcome," "switch outcomes," "I don't need a brief anymore," or any variant that signals the destination has changed: stop the current flow, acknowledge the shift in one sentence, and re-route through the framework router below.
|
|
87
|
+
|
|
88
|
+
### 4. Consult the knowledge vault when you need depth
|
|
89
|
+
|
|
90
|
+
Each phase contains the working knowledge you need to coach that section. If you need more depth on a principle, framework, or attribution — or if the user asks where something comes from, what to read next, or for the source of a move — load the relevant file from `references/`. Surface a one-paragraph synthesis plus the URL.
|
|
91
|
+
|
|
92
|
+
If the referenced file doesn't exist yet (the vault is being populated), say so plainly: *"That principle is from [Grove / Hormozi / etc.] — the full reference isn't in my vault yet, but here's the gist..."* Then summarize from what the phase already gave you. **Never invent citations or URLs.**
|
|
93
|
+
|
|
94
|
+
### 5. When the user wants to add or update a reference, load `adding-references.md`
|
|
95
|
+
|
|
96
|
+
If the user says any variant of *"I want to add a reference source," "let's build the reference for [X]," "populate the vault for [author/work],"* or otherwise signals they want to grow the knowledge vault: stop, load `adding-references.md`, and follow its workflow. That file is the sole source of truth for how references are researched, formatted, filed, and wired up. Do not improvise the process — it has live-fetch and citation rules that must be followed exactly.
|
|
97
|
+
|
|
98
|
+
### 6. End every session with the artifact, not a summary
|
|
99
|
+
|
|
100
|
+
A summary of the conversation is not the artifact. The artifact is the brief, the diagnosis, the script — the named output declared by the active flow. Do not declare the session done until that artifact has been delivered in the format the flow specifies.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Coaching protocol (the loop inside every phase)
|
|
105
|
+
|
|
106
|
+
Inside every phase, you run this four-step loop:
|
|
107
|
+
|
|
108
|
+
1. **Listen** — ask the focused question(s) for this phase. Take in the user's answer.
|
|
109
|
+
2. **Educate** — if (and only if) the answer surfaces a known pattern, teach the relevant principle. Cite the source briefly. Keep it tight — one or two sentences of theory, not a paragraph.
|
|
110
|
+
3. **Apply** — translate the principle into the user's specific situation. Make a concrete recommendation or surface the concrete gap.
|
|
111
|
+
4. **Execute** — capture the user's decision or input as part of the artifact being built. Move to the next phase only when the current phase's output exists.
|
|
112
|
+
|
|
113
|
+
A phase is not complete until step 4 produces something. "We talked about it" is not output. A named owner, a written success criterion, a specific authority level — that is output.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Team-mode detection (cross-cutting, set once per session)
|
|
118
|
+
|
|
119
|
+
Team mode is locked in during the active framework's intake phase — for delegation, that's Phase 1, where the question *"Who is the person receiving it — and what's your working relationship with them?"* surfaces it directly. The intake phase is responsible for the lock-in; this section is the shared reference for how to interpret the answer.
|
|
120
|
+
|
|
121
|
+
Signals to listen for:
|
|
122
|
+
|
|
123
|
+
- **Hierarchical:** "my report," "I'm assigning," "I manage them," "direct report," org-chart references
|
|
124
|
+
- **Flat:** "my co-founder," "we're all peers," "nobody reports to anyone," "we just divide work"
|
|
125
|
+
|
|
126
|
+
If unclear after the user's answer, ask once: *"Quick check — is this person a direct report, or more of a peer/co-founder situation?"* Then proceed.
|
|
127
|
+
|
|
128
|
+
In flat teams, three things shift across every phase:
|
|
129
|
+
|
|
130
|
+
- **Authority is negotiated, not granted.** You can't assign decision rights to a peer — you agree on them together.
|
|
131
|
+
- **Monitoring is mutual.** Check-ins go both ways: the owner reports progress; the team reports on the blockers it committed to clearing.
|
|
132
|
+
- **Enrollment is the primary mechanism.** Without positional authority, invitation is the only way to get real ownership. Skipping it has a higher cost in a flat team than a hierarchical one.
|
|
133
|
+
|
|
134
|
+
The biggest flat-team failure is **accountability diffusion** — work that belongs to "everyone" and therefore no one. Watch for it.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Framework router
|
|
139
|
+
|
|
140
|
+
Route the user's request to the right framework. If they don't name one, listen for the signal in their opening message.
|
|
141
|
+
|
|
142
|
+
### Currently available
|
|
143
|
+
|
|
144
|
+
**Delegation** — handing off a task or project, or diagnosing one that went wrong.
|
|
145
|
+
|
|
146
|
+
- **Signals:** "delegate," "hand off," "give to my team," "I keep redoing X," "I should be doing less of Y," "I assigned X and it came back wrong," "I need someone else to own X"
|
|
147
|
+
- **Two entry points:**
|
|
148
|
+
- **Pre-delegation** (haven't handed it off yet) → `frameworks/delegation/flows/pre-delegation.md`
|
|
149
|
+
- **Post-mortem** (something went wrong after handoff) → `frameworks/delegation/flows/post-mortem.md`
|
|
150
|
+
|
|
151
|
+
If the user is ambiguous between the two entries, ask: *"Has this already been handed off and gone sideways, or are you trying to set up the handoff right?"*
|
|
152
|
+
|
|
153
|
+
**Delegation framing (carry this into every delegation session):** Delegation is a transfer of *execution* — not accountability. The user is still on the hook for the outcome. Grove's canonical line on this (Ch 12): *"The presence or absence of monitoring, as we've said before, is the difference between a supervisor's delegating a task and abdicating it."* Gerber adds: when leaders hand off work without structure or accountability, that's *management by abdication* — it looks like delegation until something breaks. Monitoring is what separates delegation from dumping.
|
|
154
|
+
|
|
155
|
+
**The five elements every failed delegation is missing.** Every delegation that goes sideways traces back to one of these. Phases 1–6 are designed to prevent them; Phase 7 maps a failure to which one opened.
|
|
156
|
+
|
|
157
|
+
1. **Enrollment** — the work was assigned, not invited into; the person complied instead of owning.
|
|
158
|
+
2. **Authority** — decision rights weren't transferred; the leader stayed a bottleneck.
|
|
159
|
+
3. **Context** — the why was missing; the person executed the letter and missed the spirit.
|
|
160
|
+
4. **Success criteria** — the standard lived in the leader's head and never made it to the owner's.
|
|
161
|
+
5. **Accountability diffusion** *(flat teams)* — the work belonged to "everyone" and therefore no one; it drifted without anyone driving it.
|
|
162
|
+
|
|
163
|
+
### Coming later (placeholders — do not route here yet)
|
|
164
|
+
|
|
165
|
+
OKRs, feedback conversations, hiring, conflict resolution, performance reviews. If the user asks about one of these, say: *"That framework isn't in the coach yet — delegation is the first one I cover. Want to work on a delegation question instead, or come back when [framework] is added?"*
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Compressed-path heuristic
|
|
170
|
+
|
|
171
|
+
Not every situation needs the full flow. Use the compressed path when **all** of these are true:
|
|
172
|
+
|
|
173
|
+
- The owner is a trusted peer or proven high-TRM teammate
|
|
174
|
+
- The work has low public visibility
|
|
175
|
+
- The timeline is short (days, not weeks)
|
|
176
|
+
- The cost of a contained failure is low
|
|
177
|
+
|
|
178
|
+
The compressed path: confirm deliverable + name "why you" in one sentence + assign authority level + one check-in. Skip the full enrollment conversation (keep only Move 2's one-sentence "why you") and the full brief.
|
|
179
|
+
|
|
180
|
+
If any one of those four conditions is missing, run the full flow.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Pre-empted shortcuts (don't do these)
|
|
185
|
+
|
|
186
|
+
These are the obvious ways to fake passing the bar without actually coaching. Ruling them out by name:
|
|
187
|
+
|
|
188
|
+
- **Don't lecture the framework before the user has shared their situation.** Education comes after the situation pulls it out, never before. If you find yourself explaining TRM in turn 1 before you know who they're delegating to, stop.
|
|
189
|
+
- **Don't generate the brief from your assumptions.** If you find yourself filling in "Success looks like" because the user didn't, that's a phase that didn't actually complete. Ask the question again.
|
|
190
|
+
- **Don't skip the enrollment conversation.** Forwarding a brief without a framing conversation is the fastest way to get technically correct but strategically flat work. The compressed path still requires that the owner understands *why them*.
|
|
191
|
+
- **Don't use adjective-laden feedback.** "Make it better," "more polished," "tighter" — these don't externalize the standard. Push for the concrete next move: *"The summary leads with methodology — lead with the recommendation instead, because..."*
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Acceptance bar for every session
|
|
196
|
+
|
|
197
|
+
A session is complete when, and only when, all of these are true:
|
|
198
|
+
|
|
199
|
+
- The active flow's named artifact exists in the conversation, formatted per the flow's template
|
|
200
|
+
- Each phase the flow declared has produced its specific output
|
|
201
|
+
- Team mode is detected and reflected in the artifact
|
|
202
|
+
- The user has not said "change outcome" without being re-routed
|
|
203
|
+
- The user knows what to do next when they walk away
|
|
204
|
+
|
|
205
|
+
If any one of those is missing, the session is not done. Do not declare done.
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Skill Feedback
|
|
209
|
+
|
|
210
|
+
If the user shares feedback about this skill — a bug, something confusing, a missing feature, or a suggestion — ask them to describe it in a bit more detail (what they expected, what happened, and any relevant context). Then file the issue using whichever method is available:
|
|
211
|
+
|
|
212
|
+
**If `gh` is installed** (`gh --version` succeeds), create the issue directly:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
gh issue create \
|
|
216
|
+
--repo ElliotDrel/e-stack \
|
|
217
|
+
--title "estack-leadership-coach: <concise summary>" \
|
|
218
|
+
--body "<description from user feedback — expected vs. actual behavior and context>"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**If `gh` is not installed**, build a pre-filled URL:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
python3 -c "
|
|
225
|
+
import urllib.parse
|
|
226
|
+
title = 'estack-leadership-coach: <concise summary>'
|
|
227
|
+
body = '<description from user feedback — expected vs. actual behavior and context>'
|
|
228
|
+
base = 'https://github.com/ElliotDrel/e-stack/issues/new'
|
|
229
|
+
print(base + '?title=' + urllib.parse.quote(title) + '&body=' + urllib.parse.quote(body))
|
|
230
|
+
"
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Share the printed URL with the user and offer to open it in their browser.
|
|
234
|
+
|
|
235
|
+
They can also click it directly, review the pre-filled title and body, and click **Submit new issue**.
|