ima-claude 2.14.0 → 2.15.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.
- package/README.md +2 -1
- package/dist/cli.js +3 -1
- package/package.json +1 -1
- package/plugins/ima-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/ima-claude/skills/prompt-starter/SKILL.md +128 -0
- package/plugins/ima-claude/skills/prompt-starter/references/brainstorm.md +25 -0
- package/plugins/ima-claude/skills/prompt-starter/references/plan-implement.md +35 -0
- package/plugins/ima-claude/skills/prompt-starter/references/quick.md +11 -0
- package/plugins/ima-claude/skills/wp-local/SKILL.md +7 -7
- package/plugins/ima-claude/skills/wp-local/references/configuration.md +7 -1
package/README.md
CHANGED
|
@@ -94,7 +94,7 @@ See [platforms/shared/types.ts](platforms/shared/types.ts) for the interface con
|
|
|
94
94
|
## What's Included
|
|
95
95
|
|
|
96
96
|
- **Multi-Platform Installer**: Interactive CLI with auto-detection, install preview, and per-item exclusion — supports Claude Code, Junie CLI, Gemini CLI, and GitHub Copilot
|
|
97
|
-
- **
|
|
97
|
+
- **49 Skills**: Foundational + FP implementation + domain expert + integration + meta-skills
|
|
98
98
|
- **6 Named Agents**: Explorer (haiku), Implementer (sonnet), Reviewer (sonnet), Tester (sonnet), WP Developer (sonnet), Memory (sonnet) — enforced constraints
|
|
99
99
|
- **23 Hooks**: Automatic behavioral enforcement (security, memory, workflow, Serena, code quality) — translated to guidelines for platforms without hook support
|
|
100
100
|
- **Default Persona**: "The Practitioner" - 25-year veteran mindset, collaborative, plan-first
|
|
@@ -302,6 +302,7 @@ Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest change
|
|
|
302
302
|
| `ima-forms-expert` | WordPress form components (IMA Forms) |
|
|
303
303
|
| `discourse-admin` | Discourse admin API (site settings, config export/import, groups) |
|
|
304
304
|
| `ima-cancer-care-guides` | Cancer care guide document pipeline (DOCX → markdown → HTML → PDF, Canva mapping) |
|
|
305
|
+
| `prompt-starter` | Zero-friction prompt templates (quick, brainstorm, plan-implement) with Jira pre-fill and editor spawn |
|
|
305
306
|
|
|
306
307
|
### Integration Skills
|
|
307
308
|
|
package/dist/cli.js
CHANGED
|
@@ -11,7 +11,7 @@ var HOOKS_DIR = join(CLAUDE_DIR, "hooks");
|
|
|
11
11
|
var COMMANDS_DIR = join(CLAUDE_DIR, "commands");
|
|
12
12
|
var RULES_DIR = join(CLAUDE_DIR, "rules");
|
|
13
13
|
var SETTINGS_FILE = join(CLAUDE_DIR, "settings.json");
|
|
14
|
-
var VERSION = "2.
|
|
14
|
+
var VERSION = "2.15.0";
|
|
15
15
|
var colors = {
|
|
16
16
|
reset: "\x1B[0m",
|
|
17
17
|
bright: "\x1B[1m",
|
|
@@ -117,6 +117,8 @@ var SKILLS_TO_INSTALL = [
|
|
|
117
117
|
"mcp-memory",
|
|
118
118
|
"mcp-vestige",
|
|
119
119
|
"mcp-qdrant",
|
|
120
|
+
// Prompt workflow skills
|
|
121
|
+
"prompt-starter",
|
|
120
122
|
// Quick reference
|
|
121
123
|
"quickstart",
|
|
122
124
|
"scorecard",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ima-claude",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.15.0",
|
|
4
4
|
"description": "IMA's AI coding agent skills - FP patterns, architecture guidance, and team standards. Supports Claude Code, Junie CLI, Gemini CLI, and GitHub Copilot.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ima-claude",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "IMA's Claude Code skills for functional programming, architecture, and team standards.
|
|
3
|
+
"version": "2.15.0",
|
|
4
|
+
"description": "IMA's Claude Code skills for functional programming, architecture, and team standards. 53 skills, 24 hooks, default persona, 3-tier memory system.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "IMA",
|
|
7
7
|
"url": "https://github.com/Soabirw/ima-claude"
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prompt-starter
|
|
3
|
+
description: Zero-friction prompt templates (quick, brainstorm, plan-implement). Selects template, pre-fills from Jira, opens in GUI editor, reads back on close.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prompt Starter
|
|
7
|
+
|
|
8
|
+
Load a structured prompt template, pre-fill it with Jira context, open it in the user's GUI editor, and execute the result when they close the file.
|
|
9
|
+
|
|
10
|
+
**Trigger words:**
|
|
11
|
+
- `brainstorm`, `research`, `explore` → `references/brainstorm.md`
|
|
12
|
+
- `plan`, `implement`, `build`, `execute` → `references/plan-implement.md`
|
|
13
|
+
- `quick`, or a short one-liner task → `references/quick.md`
|
|
14
|
+
- Just a Jira key with no clear workflow → ask the user which template
|
|
15
|
+
|
|
16
|
+
## Relationship to prompt_coach.py
|
|
17
|
+
|
|
18
|
+
- **prompt-starter** = "What should my prompt say?" (template + context + editor)
|
|
19
|
+
- **prompt_coach.py** = "Is my prompt good enough?" (quality evaluation)
|
|
20
|
+
|
|
21
|
+
Different lanes, complementary. The coach may fire on the final prompt — that's fine.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Template Selection
|
|
26
|
+
|
|
27
|
+
Match the user's trigger words to select a template. Examples:
|
|
28
|
+
|
|
29
|
+
| User says | Template |
|
|
30
|
+
|---|---|
|
|
31
|
+
| "brainstorm FNR-1234" | brainstorm.md |
|
|
32
|
+
| "research auth options" | brainstorm.md |
|
|
33
|
+
| "plan and implement FNR-567" | plan-implement.md |
|
|
34
|
+
| "build the PDF export" | plan-implement.md |
|
|
35
|
+
| "quick task: add validation" | quick.md |
|
|
36
|
+
| "FNR-1234" (ambiguous) | Ask which workflow |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Flow
|
|
41
|
+
|
|
42
|
+
### Step 1: Select template
|
|
43
|
+
|
|
44
|
+
Read the appropriate template from `references/`.
|
|
45
|
+
|
|
46
|
+
### Step 2: Fetch Jira context (if Jira key present)
|
|
47
|
+
|
|
48
|
+
Use mcp-atlassian to fetch the issue. Extract:
|
|
49
|
+
- **Summary** → fills the one-line goal / user story
|
|
50
|
+
- **Description** → fills the Problem section
|
|
51
|
+
- **Acceptance Criteria** (from description or subtasks) → fills Acceptance / Test sections
|
|
52
|
+
|
|
53
|
+
Map Jira fields to template `[bracket]` placeholders naturally — don't create a rigid substitution engine. Use judgment: if the Jira description is rich, use it; if sparse, leave the bracket hint for the user to fill in.
|
|
54
|
+
|
|
55
|
+
### Step 3: Check prior work (plan-implement only)
|
|
56
|
+
|
|
57
|
+
For plan-implement templates, search Serena memory for `{feature-name}-brainstorm`. If found, pre-fill the **Prior Work** section with a reference to it and incorporate key decisions into the **Plan** section.
|
|
58
|
+
|
|
59
|
+
### Step 4: Write the pre-filled template
|
|
60
|
+
|
|
61
|
+
Create the prompt directory if needed:
|
|
62
|
+
```bash
|
|
63
|
+
mkdir -p ~/.claude/prompts
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Write the pre-filled template to `~/.claude/prompts/{session-name}.md` where session-name is descriptive:
|
|
67
|
+
- `brainstorm-pdf-export.md`
|
|
68
|
+
- `quick-email-validation.md`
|
|
69
|
+
- `plan-fnr-1234.md`
|
|
70
|
+
|
|
71
|
+
### Step 5: Open in editor (or present inline)
|
|
72
|
+
|
|
73
|
+
**Quick template exception:** Quick templates are short (12 lines). Present them inline in the conversation — no editor spawn. Skip to Step 7.
|
|
74
|
+
|
|
75
|
+
**For brainstorm and plan-implement templates**, spawn the user's GUI editor.
|
|
76
|
+
|
|
77
|
+
#### Editor Resolution
|
|
78
|
+
|
|
79
|
+
Claude Code owns the terminal, so terminal editors (nano, vim) cannot be used — the user can't interact with them. Only GUI editors work.
|
|
80
|
+
|
|
81
|
+
Resolution order:
|
|
82
|
+
1. `$VISUAL` — the Unix convention for GUI editors
|
|
83
|
+
2. `$EDITOR` — but **only** if it's a known GUI editor: `zed`, `code`, `subl`, `gedit`, `kate`
|
|
84
|
+
3. Auto-detect: check `which zed`, then `which code`, then `which subl` — use the first found
|
|
85
|
+
4. **Fallback:** no suitable editor found → present inline and modify via conversation
|
|
86
|
+
|
|
87
|
+
#### Spawning the editor
|
|
88
|
+
|
|
89
|
+
Use Bash with `run_in_background: true`:
|
|
90
|
+
```bash
|
|
91
|
+
zed --wait ~/.claude/prompts/{session-name}.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
All GUI editors use `--wait` so the process blocks until the user closes the file/tab.
|
|
95
|
+
|
|
96
|
+
Tell the user:
|
|
97
|
+
> Template is open in {editor}. Edit and close the tab when done — I'll pick up from there.
|
|
98
|
+
|
|
99
|
+
### Step 6: Read the result
|
|
100
|
+
|
|
101
|
+
When the background task completes (editor closed), read the file back:
|
|
102
|
+
```
|
|
103
|
+
Read ~/.claude/prompts/{session-name}.md
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Step 7: Confirm and execute
|
|
107
|
+
|
|
108
|
+
Present the final prompt to the user. Ask for confirmation:
|
|
109
|
+
> Here's your prompt. Ready to execute, or want to adjust anything?
|
|
110
|
+
|
|
111
|
+
On confirmation, treat the prompt content as working instructions and execute accordingly.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Editor Notes for Team Onboarding
|
|
116
|
+
|
|
117
|
+
Team members should set `$VISUAL` in their shell profile for the best experience:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Zed
|
|
121
|
+
echo 'export VISUAL="zed --wait"' >> ~/.bashrc
|
|
122
|
+
|
|
123
|
+
# VS Code
|
|
124
|
+
echo 'export VISUAL="code --wait"' >> ~/.bashrc
|
|
125
|
+
|
|
126
|
+
# Sublime Text
|
|
127
|
+
echo 'export VISUAL="subl --wait"' >> ~/.bashrc
|
|
128
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[One-line goal as a user story]
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
[What's broken or missing. Be specific about the symptom.]
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
[Repo, branch, related systems, infrastructure details]
|
|
8
|
+
|
|
9
|
+
## Research
|
|
10
|
+
- [Specific things to investigate, with scoped locations]
|
|
11
|
+
- [Reference patterns to follow: "like X" or "see Y"]
|
|
12
|
+
|
|
13
|
+
## Q&A
|
|
14
|
+
After completing research, interview me using the AskUserQuestion tool.
|
|
15
|
+
Dig into edge cases, tradeoffs, and constraints — skip obvious questions.
|
|
16
|
+
|
|
17
|
+
- [Seed questions/concerns you already have]
|
|
18
|
+
|
|
19
|
+
## Document
|
|
20
|
+
Save the outcome to Serena memory as `{feature-name}-brainstorm`.
|
|
21
|
+
Include:
|
|
22
|
+
- Original user story and problem statement
|
|
23
|
+
- Key findings from research
|
|
24
|
+
- Decisions and tradeoffs from Q&A
|
|
25
|
+
- Recommended approach (not a full plan — just direction)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
[One-line goal as a user story]
|
|
2
|
+
Save this prompt and plan to Serena memory as `{feature-name}-plan`.
|
|
3
|
+
|
|
4
|
+
## Problem
|
|
5
|
+
[What's broken or missing. Be specific about the symptom.]
|
|
6
|
+
|
|
7
|
+
## Prior Work
|
|
8
|
+
[Reference brainstorming: "See Serena memory `{feature-name}-brainstorm`"]
|
|
9
|
+
|
|
10
|
+
## Context
|
|
11
|
+
[Repo, branch, infrastructure — if not already in brainstorming]
|
|
12
|
+
|
|
13
|
+
## Plan
|
|
14
|
+
- [Approach, informed by brainstorming outcomes]
|
|
15
|
+
- [Open implementation questions with `?`]
|
|
16
|
+
- [Constraints: "prefer X unless evidence shows Y"]
|
|
17
|
+
|
|
18
|
+
## Implement
|
|
19
|
+
[Numbered deliverables in priority order]
|
|
20
|
+
|
|
21
|
+
For each story: Implement → Test → Review, then repeat for the full picture.
|
|
22
|
+
|
|
23
|
+
## Test
|
|
24
|
+
- [How to verify EACH deliverable]
|
|
25
|
+
|
|
26
|
+
## Review
|
|
27
|
+
- [Which review tool/agent and what to check for]
|
|
28
|
+
|
|
29
|
+
## Document
|
|
30
|
+
- [Explicit list of files to update]
|
|
31
|
+
|
|
32
|
+
## Agents (recommended for multi-story work)
|
|
33
|
+
- ima-claude:implementer for [phase] with skills: [...]
|
|
34
|
+
- ima-claude:tester with /unit-testing
|
|
35
|
+
- ima-claude:reviewer after implementation
|
|
@@ -13,17 +13,17 @@ Execute WP-CLI commands in Flywheel Local WP environments without disrupting Cla
|
|
|
13
13
|
- **Recommended**: Use Kitty terminal with `$WP_LOCAL_SITE` configured (see Configuration)
|
|
14
14
|
- **Alternative**: Create `.wp-local` file in project root: `echo "19efkkzWB" > .wp-local`
|
|
15
15
|
|
|
16
|
-
**Run wp commands
|
|
16
|
+
**Run wp commands** (after alias setup in Configuration):
|
|
17
17
|
```bash
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
wpl plugin list
|
|
19
|
+
wpl db query "SELECT * FROM wp_posts LIMIT 5"
|
|
20
|
+
wpl user list
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
**
|
|
23
|
+
**Or run directly** (discovers install location automatically):
|
|
24
24
|
```bash
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
WP_LOCAL_SH=$(ls ~/.claude/skills/wp-local/scripts/wp-local.sh 2>/dev/null || ls ~/.claude/plugins/*/*/plugins/ima-claude/skills/wp-local/scripts/wp-local.sh 2>/dev/null | head -1)
|
|
26
|
+
bash "$WP_LOCAL_SH" plugin list
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
**Verify configuration**:
|
|
@@ -115,9 +115,15 @@ echo "journal-back" > .wp-local
|
|
|
115
115
|
|
|
116
116
|
Add to `~/.bashrc` or `~/.zshrc`:
|
|
117
117
|
```bash
|
|
118
|
-
|
|
118
|
+
wpl() {
|
|
119
|
+
local s=~/.claude/skills/wp-local/scripts/wp-local.sh
|
|
120
|
+
[[ -f "$s" ]] || s=$(ls ~/.claude/plugins/*/*/plugins/ima-claude/skills/wp-local/scripts/wp-local.sh 2>/dev/null | head -1)
|
|
121
|
+
bash "$s" "$@"
|
|
122
|
+
}
|
|
119
123
|
```
|
|
120
124
|
|
|
125
|
+
This works for both local installs (`~/.claude/skills/`) and marketplace installs (`~/.claude/plugins/marketplaces/*/`).
|
|
126
|
+
|
|
121
127
|
Reload shell:
|
|
122
128
|
```bash
|
|
123
129
|
source ~/.bashrc # or source ~/.zshrc
|