ima-claude 2.20.0 → 2.26.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 +74 -9
- package/dist/cli.js +2 -1
- package/package.json +1 -1
- package/plugins/ima-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/ima-claude/agents/explorer.md +29 -15
- package/plugins/ima-claude/agents/implementer.md +58 -13
- package/plugins/ima-claude/agents/memory.md +19 -19
- package/plugins/ima-claude/agents/reviewer.md +84 -34
- package/plugins/ima-claude/agents/tester.md +59 -16
- package/plugins/ima-claude/agents/wp-developer.md +66 -21
- package/plugins/ima-claude/hooks/bootstrap.sh +42 -44
- package/plugins/ima-claude/hooks/prompt_coach_digest.md +14 -17
- package/plugins/ima-claude/hooks/prompt_coach_system.md +10 -12
- package/plugins/ima-claude/personalities/README.md +17 -6
- package/plugins/ima-claude/personalities/enable-efficient.md +61 -0
- package/plugins/ima-claude/personalities/enable-terse.md +71 -0
- package/plugins/ima-claude/skills/agentic-workflows/SKILL.md +35 -71
- package/plugins/ima-claude/skills/architect/SKILL.md +54 -168
- package/plugins/ima-claude/skills/compound-bridge/SKILL.md +41 -94
- package/plugins/ima-claude/skills/design-to-code/SKILL.md +43 -78
- package/plugins/ima-claude/skills/discourse/SKILL.md +79 -194
- package/plugins/ima-claude/skills/discourse-admin/SKILL.md +41 -103
- package/plugins/ima-claude/skills/docs-organize/SKILL.md +63 -203
- package/plugins/ima-claude/skills/ember-discourse/SKILL.md +90 -200
- package/plugins/ima-claude/skills/espocrm/SKILL.md +14 -23
- package/plugins/ima-claude/skills/espocrm-api/SKILL.md +79 -192
- package/plugins/ima-claude/skills/functional-programmer/SKILL.md +33 -237
- package/plugins/ima-claude/skills/gh-cli/SKILL.md +26 -65
- package/plugins/ima-claude/skills/ima-bootstrap/SKILL.md +71 -104
- package/plugins/ima-claude/skills/ima-bootstrap/references/ima-brand.md +32 -22
- package/plugins/ima-claude/skills/ima-brand/SKILL.md +18 -23
- package/plugins/ima-claude/skills/ima-copywriting/SKILL.md +68 -179
- package/plugins/ima-claude/skills/ima-doc2pdf/SKILL.md +32 -102
- package/plugins/ima-claude/skills/ima-editorial-scorecard/SKILL.md +38 -63
- package/plugins/ima-claude/skills/ima-editorial-workflow/SKILL.md +69 -114
- package/plugins/ima-claude/skills/ima-email-creator/SKILL.md +16 -22
- package/plugins/ima-claude/skills/ima-forms-expert/SKILL.md +21 -37
- package/plugins/ima-claude/skills/ima-git/SKILL.md +81 -0
- package/plugins/ima-claude/skills/jira-checkpoint/SKILL.md +39 -120
- package/plugins/ima-claude/skills/jquery/SKILL.md +107 -233
- package/plugins/ima-claude/skills/js-fp/SKILL.md +75 -296
- package/plugins/ima-claude/skills/js-fp-api/SKILL.md +52 -162
- package/plugins/ima-claude/skills/js-fp-react/SKILL.md +47 -270
- package/plugins/ima-claude/skills/js-fp-vue/SKILL.md +55 -209
- package/plugins/ima-claude/skills/js-fp-wordpress/SKILL.md +59 -204
- package/plugins/ima-claude/skills/livecanvas/SKILL.md +19 -32
- package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +92 -162
- package/plugins/ima-claude/skills/mcp-context7/SKILL.md +32 -64
- package/plugins/ima-claude/skills/mcp-gitea/SKILL.md +98 -188
- package/plugins/ima-claude/skills/mcp-github/SKILL.md +60 -124
- package/plugins/ima-claude/skills/mcp-memory/SKILL.md +1 -177
- package/plugins/ima-claude/skills/mcp-qdrant/SKILL.md +58 -115
- package/plugins/ima-claude/skills/mcp-sequential/SKILL.md +32 -87
- package/plugins/ima-claude/skills/mcp-serena/SKILL.md +54 -80
- package/plugins/ima-claude/skills/mcp-tavily/SKILL.md +40 -63
- package/plugins/ima-claude/skills/mcp-vestige/SKILL.md +75 -116
- package/plugins/ima-claude/skills/php-authnet/SKILL.md +32 -65
- package/plugins/ima-claude/skills/php-fp/SKILL.md +50 -129
- package/plugins/ima-claude/skills/php-fp-wordpress/SKILL.md +25 -73
- package/plugins/ima-claude/skills/phpunit-wp/SKILL.md +103 -463
- package/plugins/ima-claude/skills/playwright/SKILL.md +69 -220
- package/plugins/ima-claude/skills/prompt-starter/SKILL.md +33 -83
- package/plugins/ima-claude/skills/prompt-starter/references/code-review.md +38 -0
- package/plugins/ima-claude/skills/py-fp/SKILL.md +78 -384
- package/plugins/ima-claude/skills/quasar-fp/SKILL.md +54 -255
- package/plugins/ima-claude/skills/quickstart/SKILL.md +7 -11
- package/plugins/ima-claude/skills/rails/SKILL.md +63 -184
- package/plugins/ima-claude/skills/resume-session/SKILL.md +14 -35
- package/plugins/ima-claude/skills/rg/SKILL.md +61 -146
- package/plugins/ima-claude/skills/ruby-fp/SKILL.md +66 -163
- package/plugins/ima-claude/skills/save-session/SKILL.md +10 -39
- package/plugins/ima-claude/skills/scorecard/SKILL.md +42 -40
- package/plugins/ima-claude/skills/skill-analyzer/SKILL.md +42 -71
- package/plugins/ima-claude/skills/skill-creator/SKILL.md +79 -250
- package/plugins/ima-claude/skills/task-master/SKILL.md +11 -31
- package/plugins/ima-claude/skills/task-planner/SKILL.md +44 -153
- package/plugins/ima-claude/skills/task-runner/SKILL.md +61 -143
- package/plugins/ima-claude/skills/unit-testing/SKILL.md +59 -134
- package/plugins/ima-claude/skills/wp-ddev/SKILL.md +38 -120
- package/plugins/ima-claude/skills/wp-local/SKILL.md +26 -108
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "ima-git"
|
|
3
|
+
description: "IMA git workflow. Trunk-based development with release branches: main = dev trunk, release/* = release candidate branches, v* tags = production releases. Covers branch promotion, hotfix flow, push cadence for deploy-gate verification, commit atomicity. Use when: creating branches, opening PRs, cutting releases or tags, writing hotfixes, or asked about git workflow, branching strategy, trunk-based development, release process, or when a deploy gate fails because commits weren't pushed."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# IMA Git Workflow
|
|
7
|
+
|
|
8
|
+
**Strategy:** Trunk-based development with release branches.
|
|
9
|
+
|
|
10
|
+
## Branch model
|
|
11
|
+
|
|
12
|
+
| Branch / tag | Role | Source | Deploys to |
|
|
13
|
+
|---|---|---|---|
|
|
14
|
+
| `main` | Dev trunk — latest integrated work | All new work lands here first | Dev environment |
|
|
15
|
+
| `release/<name>` | Release candidate | Fast-forwarded from `main` when ready | Staging environment |
|
|
16
|
+
| `v<version>` (tags) | Production release | Tag cut from a release branch at promotion | Production environment |
|
|
17
|
+
| `hotfix/<name>` | Emergency production fix | Branched off the production tag | Merged back to `main` + new tag cut |
|
|
18
|
+
|
|
19
|
+
## Core rules
|
|
20
|
+
|
|
21
|
+
1. **Commits originate on `main`.** Not on release branches. Feature work, bug fixes, refactors — all start on the trunk.
|
|
22
|
+
2. **Release branches only fast-forward from `main`.** Never merge sideways; never commit directly to a release branch.
|
|
23
|
+
3. **Hotfixes branch off the production tag**, not main. After the fix lands, cut a new tag and merge the hotfix back into `main`.
|
|
24
|
+
4. **Tags are immutable.** Rolling back to a prior production state means deploying the prior tag — not force-pushing or retagging.
|
|
25
|
+
|
|
26
|
+
## Deploy-gate verification cadence
|
|
27
|
+
|
|
28
|
+
Deploy tools (e.g., `trn-deploy` at `/home/eric/IMA/dev/sites/trn/deploy/`) **clone fresh from the remote** — they do not read the local filesystem. Unpushed commits are invisible to the gate.
|
|
29
|
+
|
|
30
|
+
**To verify a change:** push to `main` first, then invoke the dry-run.
|
|
31
|
+
|
|
32
|
+
Between commits in a multi-commit sequence:
|
|
33
|
+
|
|
34
|
+
1. Commit locally
|
|
35
|
+
2. `git push origin main`
|
|
36
|
+
3. Run `./deploy dev --dry-run`
|
|
37
|
+
4. Confirm exit 0 in `log.jsonl` before the next commit
|
|
38
|
+
|
|
39
|
+
## Commit atomicity
|
|
40
|
+
|
|
41
|
+
- **Security fixes: separate commits** from test-only changes and mechanical sweeps. A security change should land in a reviewable, revertable commit of its own.
|
|
42
|
+
- One commit per logical change class. Don't batch "fix XSS + rename variable + reformat whitespace" into one diff.
|
|
43
|
+
- Pure tests-only changes never mix with production code changes in the same commit.
|
|
44
|
+
|
|
45
|
+
## Commit messages
|
|
46
|
+
|
|
47
|
+
- Use a HEREDOC to pass multi-line messages: `git commit -m "$(cat <<'EOF' ... EOF)"`.
|
|
48
|
+
- Single-quoted `EOF` marker (`<<'EOF'`) prevents shell expansion — required to keep `$_POST`, `$_GET`, `$variable` etc. unescaped.
|
|
49
|
+
- A message with literal `\$_POST` in the body is a shell-escape artifact — amend before pushing, or treat it as a signal the HEREDOC was wrong.
|
|
50
|
+
|
|
51
|
+
## Deploy tool exit codes
|
|
52
|
+
|
|
53
|
+
Shared convention across IMA deploy tools:
|
|
54
|
+
|
|
55
|
+
| Code | Meaning |
|
|
56
|
+
|---|---|
|
|
57
|
+
| 0 | Success |
|
|
58
|
+
| 1 | Generic failure |
|
|
59
|
+
| 2 | Validation / config error |
|
|
60
|
+
| 3 | Pre-flight failure (tests, lint, clean-state check) |
|
|
61
|
+
| 4 | Remote push failure (WPEngine or similar) |
|
|
62
|
+
|
|
63
|
+
The authoritative record is the tool's `log.jsonl`: `tail -1 log.jsonl` shows the last run's sha, exitCode, duration. The shell's `$?` may be masked by a pipe (`| tail`), so trust the log over stdout exit.
|
|
64
|
+
|
|
65
|
+
## Gitea / GitHub
|
|
66
|
+
|
|
67
|
+
- IMA internal repos live on Gitea: `ssh://git@gitea.theflccc.org:2222/IMA/<repo>.git`
|
|
68
|
+
- Some are mirrored to GitHub for FOSS / public presence.
|
|
69
|
+
- Use `mcp-gitea` for internal repo operations, `mcp-github` or `gh-cli` for public.
|
|
70
|
+
|
|
71
|
+
## When the deploy gate fails
|
|
72
|
+
|
|
73
|
+
1. Check `log.jsonl` for the exit code. Don't guess from terminal output.
|
|
74
|
+
2. Exit 3 = pre-flight. Look at the pipeline stage that failed — tests, lint, clean-state, composer check.
|
|
75
|
+
3. Reproduce locally with the project's configured validators (`composer check`, `npm run check`, `make check`, etc.) before touching code.
|
|
76
|
+
4. If a pre-flight failure is tests, invoke the source-quality triage pattern: categorize each failure as test rot, code bug, or design question **before** changing anything.
|
|
77
|
+
|
|
78
|
+
## Reference
|
|
79
|
+
|
|
80
|
+
- Qdrant `ima-knowledge` → article "IMA Git Workflow & Pre-flight Deploy Gate" for full detail on the gate architecture and the source-quality triage playbook.
|
|
81
|
+
- Project-specific deploy specifics live in the project's Serena memory (typically named `project-workflow` or similar).
|
|
@@ -12,167 +12,86 @@ description: >-
|
|
|
12
12
|
|
|
13
13
|
# Jira Checkpoint - Team Visibility Layer
|
|
14
14
|
|
|
15
|
-
**"Work gets done. Does the team know?"**
|
|
16
|
-
|
|
17
|
-
Claude Code makes us 3-5x faster. Jira becomes the bottleneck — not the work, but remembering to update it. This skill adds lightweight checkpoints so team visibility stays current without breaking flow.
|
|
18
|
-
|
|
19
|
-
## Responsibility Separation
|
|
20
|
-
|
|
21
15
|
```
|
|
22
16
|
task-master = "How do I organize my work?" (execution, tactical)
|
|
23
17
|
jira-checkpoint = "Does the team know?" (visibility, strategic)
|
|
24
18
|
mcp-atlassian = "How do I talk to Jira's API?" (implementation, reference)
|
|
25
19
|
```
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
Each skill stays in its lane. jira-checkpoint never touches TaskList, decomposition, or delegation.
|
|
28
22
|
|
|
29
23
|
## The Three Checkpoints
|
|
30
24
|
|
|
31
|
-
### 1. Before Work
|
|
32
|
-
|
|
33
|
-
**When:** User starts significant work — "let's implement", "build the", "fix the", "work on FNR-".
|
|
25
|
+
### 1. Before Work
|
|
34
26
|
|
|
35
|
-
**
|
|
27
|
+
**Trigger**: User starts significant work — "let's implement", "build the", "fix the", "work on FNR-".
|
|
36
28
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
**Decision tree:**
|
|
29
|
+
Ask: `"Should I search Jira (FNR project) for related stories before we start?"`
|
|
40
30
|
|
|
41
31
|
```
|
|
42
|
-
|
|
32
|
+
Significant work (feature, bug fix, multi-file refactor)?
|
|
43
33
|
├── YES → Ask about Jira search
|
|
44
|
-
│
|
|
45
|
-
│
|
|
46
|
-
└── NO (
|
|
34
|
+
│ yes → searchJiraIssuesUsingJql (FNR project)
|
|
35
|
+
│ skip → proceed
|
|
36
|
+
└── NO (utility function, config tweak, lint fix) → stay silent
|
|
47
37
|
```
|
|
48
38
|
|
|
49
|
-
|
|
50
|
-
- New feature or component
|
|
51
|
-
- Bug fix with user impact
|
|
52
|
-
- Refactor touching multiple files
|
|
53
|
-
- Anything that would reasonably be a Jira story
|
|
54
|
-
|
|
55
|
-
**What stays silent:**
|
|
56
|
-
- Adding a utility function
|
|
57
|
-
- Config file tweaks
|
|
58
|
-
- Formatting/linting fixes
|
|
59
|
-
- Internal refactors with no external impact
|
|
60
|
-
|
|
61
|
-
### 2. During Work (Context)
|
|
62
|
-
|
|
63
|
-
**When:** User references a Jira issue key (e.g., `FNR-123`).
|
|
39
|
+
### 2. During Work
|
|
64
40
|
|
|
65
|
-
**
|
|
41
|
+
**Trigger**: User mentions an issue key (e.g., `FNR-123`).
|
|
66
42
|
|
|
43
|
+
Auto-fetch and surface:
|
|
67
44
|
```
|
|
68
45
|
Detected FNR-123. Fetching story context...
|
|
69
|
-
|
|
70
|
-
→
|
|
71
|
-
→
|
|
72
|
-
→ Status: In Progress | Assignee: Eric
|
|
46
|
+
→ Summary
|
|
47
|
+
→ Acceptance criteria
|
|
48
|
+
→ Status | Assignee
|
|
73
49
|
```
|
|
74
50
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
**Decision tree:**
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
Did user mention an issue key (FNR-NNN)?
|
|
81
|
-
├── YES → Auto-fetch, surface summary + acceptance criteria
|
|
82
|
-
│ Already fetched this session? → Skip (don't re-fetch)
|
|
83
|
-
└── NO → Stay silent
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### 3. After Work (Sync)
|
|
87
|
-
|
|
88
|
-
**When:** Work completes and a Jira story was referenced or discovered during the session.
|
|
51
|
+
Use `getJiraIssue` with fields: `summary,description,status,assignee,customfield_10016`. Don't re-fetch if already retrieved this session.
|
|
89
52
|
|
|
90
|
-
|
|
53
|
+
### 3. After Work
|
|
91
54
|
|
|
92
|
-
|
|
55
|
+
**Trigger**: Work wraps up AND a Jira story was referenced (user says "done"/"finished"/"ship it", commit created, PR ready).
|
|
93
56
|
|
|
94
|
-
|
|
57
|
+
Ask: `"We referenced FNR-123 during this work. Want to update its status or add a progress comment?"`
|
|
95
58
|
|
|
96
59
|
```
|
|
97
|
-
|
|
60
|
+
Work wrapping up AND Jira story was involved?
|
|
98
61
|
├── YES → Ask about status update / comment
|
|
99
|
-
│
|
|
100
|
-
│
|
|
101
|
-
└── NO story involved →
|
|
62
|
+
│ yes → transitionJiraIssue or addCommentToJiraIssue
|
|
63
|
+
│ skip → done
|
|
64
|
+
└── NO story involved → stay silent
|
|
102
65
|
```
|
|
103
66
|
|
|
104
|
-
|
|
105
|
-
- User says "done", "finished", "that's it", "ship it"
|
|
106
|
-
- Commit created for the feature/fix
|
|
107
|
-
- PR created or ready
|
|
67
|
+
## Key Tools
|
|
108
68
|
|
|
109
|
-
|
|
69
|
+
| Tool | Checkpoint |
|
|
70
|
+
|------|-----------|
|
|
71
|
+
| `searchJiraIssuesUsingJql` | Before Work |
|
|
72
|
+
| `getJiraIssue` | During Work |
|
|
73
|
+
| `transitionJiraIssue` | After Work |
|
|
74
|
+
| `addCommentToJiraIssue` | After Work |
|
|
75
|
+
| `getAccessibleAtlassianResources` | Required bootstrap (cloudId) |
|
|
110
76
|
|
|
111
|
-
|
|
77
|
+
See `mcp-atlassian` for field filtering patterns and JQL.
|
|
112
78
|
|
|
113
|
-
|
|
114
|
-
- Tool catalog and parameters
|
|
115
|
-
- Token-saving field filtering
|
|
116
|
-
- JQL query patterns
|
|
117
|
-
- Comment and transition workflows
|
|
79
|
+
## Project Config
|
|
118
80
|
|
|
119
|
-
**
|
|
120
|
-
- `searchJiraIssuesUsingJql` — Before Work search
|
|
121
|
-
- `getJiraIssue` — During Work context fetch
|
|
122
|
-
- `transitionJiraIssue` — After Work status update
|
|
123
|
-
- `addCommentToJiraIssue` — After Work progress comment
|
|
124
|
-
- `getAccessibleAtlassianResources` — Required bootstrap (cloudId)
|
|
125
|
-
|
|
126
|
-
### task-master (No Overlap)
|
|
127
|
-
|
|
128
|
-
task-master manages TaskList items and work decomposition. jira-checkpoint never:
|
|
129
|
-
- Creates or modifies TaskList items
|
|
130
|
-
- Changes task decomposition strategy
|
|
131
|
-
- Interferes with delegation patterns
|
|
132
|
-
|
|
133
|
-
They complement: task-master breaks work down, jira-checkpoint ensures Jira reflects it.
|
|
134
|
-
|
|
135
|
-
### Vestige (Learning Preferences)
|
|
136
|
-
|
|
137
|
-
Store user checkpoint preferences via Vestige:
|
|
81
|
+
**Default project**: `FNR`
|
|
138
82
|
|
|
139
83
|
```
|
|
140
|
-
|
|
141
|
-
User always updates after work → smart_ingest preference: "User wants post-work Jira sync prompts"
|
|
142
|
-
User never wants before-work → smart_ingest preference: "Skip before-work Jira checkpoint"
|
|
84
|
+
JQL: project = FNR AND summary ~ "keyword" ORDER BY updated DESC
|
|
143
85
|
```
|
|
144
86
|
|
|
145
|
-
Check Vestige at session start for stored Jira checkpoint preferences.
|
|
146
|
-
|
|
147
87
|
## User Control
|
|
148
88
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
- User can always say "skip Jira", "not now", "no Jira today"
|
|
152
|
-
- Preferences accumulate in Vestige — skill adapts over time
|
|
153
|
-
- No checkpoint ever blocks work from proceeding
|
|
154
|
-
- If user seems annoyed by prompts, reduce frequency and store preference
|
|
155
|
-
|
|
156
|
-
## Project Configuration
|
|
157
|
-
|
|
158
|
-
**Default project key:** `FNR`
|
|
159
|
-
|
|
160
|
-
When searching Jira without a specific issue key, scope to the FNR project:
|
|
89
|
+
Every checkpoint is a question, never a mandate. Store preferences via Vestige `smart_ingest`:
|
|
161
90
|
|
|
162
91
|
```
|
|
163
|
-
|
|
92
|
+
"skip Jira" repeatedly → "User prefers minimal Jira checkpoints"
|
|
93
|
+
always updates after work → "User wants post-work Jira sync prompts"
|
|
94
|
+
never wants before-work prompt → "Skip before-work Jira checkpoint"
|
|
164
95
|
```
|
|
165
96
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
This skill is built for vetting. Expected evolution:
|
|
169
|
-
|
|
170
|
-
1. **v1 (now):** Three manual checkpoints with questions
|
|
171
|
-
2. **v2 (after feedback):** Adjusted trigger sensitivity based on usage patterns
|
|
172
|
-
3. **v3 (if valuable):** Deeper task-master integration (auto-suggest Jira links for TaskList items)
|
|
173
|
-
|
|
174
|
-
**Feedback signals to watch:**
|
|
175
|
-
- How often does the user accept vs skip checkpoints?
|
|
176
|
-
- Are before-work searches actually useful?
|
|
177
|
-
- Does after-work sync feel natural or forced?
|
|
178
|
-
- Is the FNR project scope too narrow?
|
|
97
|
+
Check Vestige at session start for stored preferences.
|