mitsupi 1.1.1 → 1.4.0

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +48 -28
  3. package/intercepted-commands/python +14 -0
  4. package/intercepted-commands/python3 +14 -0
  5. package/package.json +1 -1
  6. package/pi-extensions/context.ts +578 -0
  7. package/pi-extensions/control.ts +251 -5
  8. package/pi-extensions/files.ts +2 -9
  9. package/pi-extensions/go-to-bed.ts +188 -0
  10. package/pi-extensions/loop.ts +1 -1
  11. package/pi-extensions/notify.ts +88 -0
  12. package/pi-extensions/prompt-editor.ts +1315 -0
  13. package/pi-extensions/review.ts +967 -233
  14. package/pi-extensions/session-breakdown.ts +1152 -0
  15. package/pi-extensions/todos.ts +1 -1
  16. package/pi-extensions/uv.ts +2 -11
  17. package/pi-extensions/whimsical.ts +1 -1
  18. package/skills/apple-mail/SKILL.md +72 -0
  19. package/skills/apple-mail/apple-mail.sh +388 -0
  20. package/skills/google-workspace/SKILL.md +92 -0
  21. package/skills/google-workspace/package-lock.json +1401 -0
  22. package/skills/google-workspace/package.json +9 -0
  23. package/skills/google-workspace/scripts/auth.js +134 -0
  24. package/skills/google-workspace/scripts/common.js +546 -0
  25. package/skills/google-workspace/scripts/workspace.js +429 -0
  26. package/skills/librarian/SKILL.md +65 -0
  27. package/skills/librarian/checkout.sh +264 -0
  28. package/skills/mermaid/SKILL.md +34 -0
  29. package/skills/mermaid/tools/validate.sh +53 -0
  30. package/skills/native-web-search/SKILL.md +47 -0
  31. package/skills/native-web-search/search.mjs +554 -0
  32. package/skills/summarize/SKILL.md +58 -0
  33. package/skills/summarize/to-markdown.mjs +249 -0
  34. package/skills/uv/SKILL.md +1 -0
  35. package/skills/uv/scripts.md +8 -0
  36. package/pi-extensions/cwd-history.ts +0 -237
package/CHANGELOG.md CHANGED
@@ -2,6 +2,33 @@
2
2
 
3
3
  All notable changes to agent-stuff are documented here.
4
4
 
5
+ ## Unreleased
6
+
7
+ ## 1.4.0
8
+
9
+ * Added a prompt editor extension for managing prompt modes (create, rename, delete, and edit), with persistence and detection fixes.
10
+ * Added a loop-fixing mode to `/review` with improved blocking-aware detection, plus branch/commit filtering and related review flow improvements. (#10)
11
+ * Added new skills for native web search, cached repository checkout (`librarian`), Google Workspace, and Apple Mail.
12
+ * Added a CLI interface for session control and gated control tool registration behind `--session-control`.
13
+ * Added the `go-to-bed` late-night safety guard and improved auto-disable behavior.
14
+ * Improved `/files` labels by appending git status information.
15
+ * Improved `uv` command handling by blocking `py_compile` and suggesting AST-based syntax checks.
16
+
17
+ ## 1.3.0
18
+
19
+ * Added `/session-breakdown` command with interactive TUI showing sessions, messages, tokens, and cost over the last 7/30/90 days with a GitHub-style contribution calendar.
20
+ * Added messages/tokens tracking and large-count abbreviations to `/session-breakdown`.
21
+ * Added progress reporting while analyzing sessions in `/session-breakdown`.
22
+ * Added `/context` command for viewing context overview.
23
+ * Added folder snapshot review mode to `/review`.
24
+ * Improved review rubric with lessons from codex.
25
+ * Added a `summarize` skill for converting files/URLs to Markdown via `markitdown`.
26
+
27
+ ## 1.2.0
28
+
29
+ * Updated pi-extensions to use the new `ToolDefinition.execute` parameter order.
30
+ * Fixed notify extension notifications to render plain Markdown.
31
+
5
32
  ## 1.1.1
6
33
 
7
34
  * Removed the deprecated `qna` extension.
package/README.md CHANGED
@@ -1,49 +1,69 @@
1
1
  # Agent Stuff
2
2
 
3
- This repository contains skills and extensions that I use in some form with projects. Note that I usually fine-tune these for projects so they might not work without modification for you.
3
+ This repository contains skills and extensions that I use across projects. Note that I often fine-tune these for specific repos, so some items may need small adjustments before reuse.
4
4
 
5
5
  It is released on npm as `mitsupi` for use with the [Pi](https://buildwithpi.ai/) package loader.
6
6
 
7
7
  ## Skills
8
8
 
9
- All skill files are in the [`skills`](skills) folder:
9
+ All skills live in the [`skills`](skills) folder:
10
10
 
11
- * [`/commit`](skills/commit) - Claude Skill for creating git commits using concise Conventional Commits-style subjects
12
- * [`/update-changelog`](skills/update-changelog) - Claude Skill for updating changelogs with notable user-facing changes
13
- * [`/ghidra`](skills/ghidra) - Claude Skill for reverse engineering binaries using Ghidra's headless analyzer
14
- * [`/github`](skills/github) - Claude Skill for interacting with GitHub via the `gh` CLI (issues, PRs, runs, and APIs)
15
- * [`/openscad`](skills/openscad) - Claude Skill for creating and rendering OpenSCAD 3D models and exporting STL files
16
- * [`/web-browser`](skills/web-browser) - Claude Skill for using Puppeteer in a Node environment to browse the web
17
- * [`/tmux`](skills/tmux) - Claude Skill for driving tmux directly with keystrokes and pane output scraping
18
- * [`/sentry`](skills/sentry) - Alternative way to access Sentry as a Claude Skill for reading issues
19
- * [`/pi-share`](skills/pi-share) - Claude Skill for loading and parsing session transcripts from shittycodingagent.ai
20
- * [`/anachb`](skills/anachb) - Claude Skill for querying Austrian public transport (VOR AnachB) for departures, routes, and disruptions
21
- * [`/oebb-scotty`](skills/oebb-scotty) - Claude Skill for Austrian rail travel planning via ÖBB Scotty API
22
- * [`/frontend-design`](skills/frontend-design) - Claude Skill for designing and implementing distinctive frontend interfaces
11
+ * [`/anachb`](skills/anachb) - Query Austrian public transport (VOR AnachB) for departures, routes, and disruptions.
12
+ * [`/apple-mail`](skills/apple-mail) - Search/read Apple Mail local storage and extract attachments.
13
+ * [`/commit`](skills/commit) - Create git commits using concise Conventional Commits-style subjects.
14
+ * [`/frontend-design`](skills/frontend-design) - Design and implement distinctive frontend interfaces.
15
+ * [`/ghidra`](skills/ghidra) - Reverse engineer binaries using Ghidra's headless analyzer.
16
+ * [`/github`](skills/github) - Interact with GitHub using the `gh` CLI (issues, PRs, runs, APIs).
17
+ * [`/google-workspace`](skills/google-workspace) - Access Google Workspace APIs via local helper scripts.
18
+ * [`/librarian`](skills/librarian) - Cache and refresh remote git repositories in `~/.cache/checkouts`.
19
+ * [`/mermaid`](skills/mermaid) - Create and validate Mermaid diagrams with Mermaid CLI tooling.
20
+ * [`/native-web-search`](skills/native-web-search) - Trigger native web search with concise summaries and source URLs.
21
+ * [`/oebb-scotty`](skills/oebb-scotty) - Plan Austrian rail journeys via ÖBB Scotty API.
22
+ * [`/openscad`](skills/openscad) - Create/render OpenSCAD models and export STL files.
23
+ * [`/pi-share`](skills/pi-share) - Load and parse session transcripts from shittycodingagent.ai/buildwithpi URLs.
24
+ * [`/sentry`](skills/sentry) - Fetch and analyze Sentry issues, events, transactions, and logs.
25
+ * [`/summarize`](skills/summarize) - Convert files/URLs to Markdown via `uvx markitdown` and summarize.
26
+ * [`/tmux`](skills/tmux) - Drive tmux sessions via keystrokes and pane output scraping.
27
+ * [`/update-changelog`](skills/update-changelog) - Update changelogs with notable user-facing changes.
28
+ * [`/uv`](skills/uv) - Use `uv` for Python dependency management and script execution.
29
+ * [`/web-browser`](skills/web-browser) - Browser automation via Chrome/Chromium CDP.
23
30
 
24
- ## PI Coding Agent Extensions
31
+ ## Pi Coding Agent Extensions
25
32
 
26
- Custom extensions for the PI Coding Agent can be found in the [`pi-extensions`](pi-extensions) folder:
33
+ Custom extensions for Pi Coding Agent are in [`pi-extensions`](pi-extensions):
27
34
 
28
35
  * [`answer.ts`](pi-extensions/answer.ts) - Interactive TUI for answering questions one by one.
29
- * [`review.ts`](pi-extensions/review.ts) - Code review command inspired by Codex. Supports reviewing uncommitted changes, against a base branch (PR style), specific commits, or with custom instructions. Includes Ctrl+R shortcut.
30
- * [`loop.ts`](pi-extensions/loop.ts) - Runs a prompt loop for rapid iterative coding with optional auto-continue control.
31
- * [`files.ts`](pi-extensions/files.ts) - Unified file browser that merges git status (dirty first) with session references, plus reveal/open/edit and diff actions.
32
- * [`cwd-history.ts`](pi-extensions/cwd-history.ts) - Displays and manages recent working directory history inside the PI Coding Agent.
33
- * [`codex-tuning.ts`](pi-extensions/codex-tuning.ts) - Codex tuning helper for collecting samples and tagging outcomes during agent sessions.
34
- * [`todos.ts`](pi-extensions/todos.ts) - Todo manager extension with file-backed storage and a TUI for listing and editing todos.
35
- * [`whimsical.ts`](pi-extensions/whimsical.ts) - Replaces the default "Thinking..." message with random whimsical phrases like "Reticulating splines...", "Consulting the void...", or "Bribing the compiler...".
36
+ * [`context.ts`](pi-extensions/context.ts) - Context breakdown (extensions, skills, AGENTS.md/CLAUDE.md) + token usage, including loaded-skill highlighting.
37
+ * [`control.ts`](pi-extensions/control.ts) - Session control helpers (list controllable sessions, etc.).
38
+ * [`files.ts`](pi-extensions/files.ts) - Unified file browser with git status + session references and reveal/open/edit/diff actions.
39
+ * [`go-to-bed.ts`](pi-extensions/go-to-bed.ts) - Late-night safety guard with explicit confirmation after midnight.
40
+ * [`loop.ts`](pi-extensions/loop.ts) - Prompt loop for rapid iterative coding with optional auto-continue.
41
+ * [`notify.ts`](pi-extensions/notify.ts) - Native desktop notifications when the agent finishes.
42
+ * [`prompt-editor.ts`](pi-extensions/prompt-editor.ts) - In-editor prompt mode selector with persistence, history, config, and shortcuts.
43
+ * [`review.ts`](pi-extensions/review.ts) - Code review command (working tree, PR-style diff, commits, custom instructions, optional fix loop).
44
+ * [`session-breakdown.ts`](pi-extensions/session-breakdown.ts) - TUI for 7/30/90-day session and cost analysis with usage graph.
45
+ * [`todos.ts`](pi-extensions/todos.ts) - Todo manager extension with file-backed storage and TUI.
46
+ * [`uv.ts`](pi-extensions/uv.ts) - Helpers for uv-based Python workflows.
47
+ * [`whimsical.ts`](pi-extensions/whimsical.ts) - Replaces the default thinking message with random whimsical phrases.
36
48
 
37
- ## PI Coding Agent Themes
49
+ ## Pi Coding Agent Themes
38
50
 
39
- This repository includes custom themes for the PI Coding Agent. The themes can be found in the [`pi-themes`](pi-themes) folder and customize the appearance and behavior of the agent interface.
51
+ Custom themes are in [`pi-themes`](pi-themes):
52
+
53
+ * [`nightowl.json`](pi-themes/nightowl.json) - Night Owl-inspired theme.
40
54
 
41
55
  ## Plumbing Commands
42
56
 
43
57
  These command files need customization before use. They live in [`plumbing-commands`](plumbing-commands):
44
58
 
45
- * [`/make-release`](plumbing-commands/make-release.md) - Automates repository release with version management
59
+ * [`/make-release`](plumbing-commands/make-release.md) - Automates repository release with version management.
60
+
61
+ ## Intercepted Commands
46
62
 
47
- ### Release Management
63
+ Command wrappers live in [`intercepted-commands`](intercepted-commands):
48
64
 
49
- The plumbing release commands do not work without tuning! But you can put claude to them and derive actually working ones. I for instance use them in [absurd](h>
65
+ * [`pip`](intercepted-commands/pip)
66
+ * [`pip3`](intercepted-commands/pip3)
67
+ * [`poetry`](intercepted-commands/poetry)
68
+ * [`python`](intercepted-commands/python)
69
+ * [`python3`](intercepted-commands/python3)
@@ -18,6 +18,13 @@ for arg in "$@"; do
18
18
  echo "" >&2
19
19
  exit 1
20
20
  ;;
21
+ -mpy_compile|-m\ py_compile|py_compile)
22
+ echo "Error: 'python -m py_compile' is disabled because it writes .pyc files to __pycache__." >&2
23
+ echo "" >&2
24
+ echo " To verify syntax without bytecode output: uv run python -m ast path/to/file.py >/dev/null" >&2
25
+ echo "" >&2
26
+ exit 1
27
+ ;;
21
28
  esac
22
29
  done
23
30
 
@@ -41,6 +48,13 @@ for arg in "$@"; do
41
48
  echo "" >&2
42
49
  exit 1
43
50
  ;;
51
+ py_compile)
52
+ echo "Error: 'python -m py_compile' is disabled because it writes .pyc files to __pycache__." >&2
53
+ echo "" >&2
54
+ echo " To verify syntax without bytecode output: uv run python -m ast path/to/file.py >/dev/null" >&2
55
+ echo "" >&2
56
+ exit 1
57
+ ;;
44
58
  esac
45
59
  fi
46
60
  prev="$arg"
@@ -18,6 +18,13 @@ for arg in "$@"; do
18
18
  echo "" >&2
19
19
  exit 1
20
20
  ;;
21
+ -mpy_compile|-m\ py_compile|py_compile)
22
+ echo "Error: 'python3 -m py_compile' is disabled because it writes .pyc files to __pycache__." >&2
23
+ echo "" >&2
24
+ echo " To verify syntax without bytecode output: uv run python -m ast path/to/file.py >/dev/null" >&2
25
+ echo "" >&2
26
+ exit 1
27
+ ;;
21
28
  esac
22
29
  done
23
30
 
@@ -41,6 +48,13 @@ for arg in "$@"; do
41
48
  echo "" >&2
42
49
  exit 1
43
50
  ;;
51
+ py_compile)
52
+ echo "Error: 'python3 -m py_compile' is disabled because it writes .pyc files to __pycache__." >&2
53
+ echo "" >&2
54
+ echo " To verify syntax without bytecode output: uv run python -m ast path/to/file.py >/dev/null" >&2
55
+ echo "" >&2
56
+ exit 1
57
+ ;;
44
58
  esac
45
59
  fi
46
60
  prev="$arg"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mitsupi",
3
- "version": "1.1.1",
3
+ "version": "1.4.0",
4
4
  "description": "Armin's pi coding agent commands, skills, extensions, and themes",
5
5
  "repository": {
6
6
  "type": "git",