ima-claude 2.16.0 → 2.20.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 +16 -1
- package/dist/cli.js +9 -1
- package/package.json +1 -1
- package/plugins/ima-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/ima-claude/agents/wp-developer.md +2 -1
- package/plugins/ima-claude/hooks/prompt_coach_digest.md +1 -1
- package/plugins/ima-claude/skills/agentic-workflows/SKILL.md +133 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/deliver.md +181 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/draft.md +99 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/gather.md +130 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/outline.md +106 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/phases/review.md +137 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/draft-format.md +159 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/editorial-standards.md +160 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/standards/outline-format.md +110 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-construction-guide.md +263 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/avada-webinar-example.txt +275 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/cta-block-catalog.md +169 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/espo-email-preparation.md +241 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-recap-email-espo.html +339 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/templates/webinar-reminder-email-espo.html +458 -0
- package/plugins/ima-claude/skills/agentic-workflows/references/workflows/editorial/webinar-summary.md +81 -0
- package/plugins/ima-claude/skills/design-to-code/SKILL.md +126 -0
- package/plugins/ima-claude/skills/design-to-code/references/guardrails.md +46 -0
- package/plugins/ima-claude/skills/design-to-code/references/phase-a-design-to-prompt.md +141 -0
- package/plugins/ima-claude/skills/design-to-code/references/phase-b-prompt-to-code.md +155 -0
- package/plugins/ima-claude/skills/design-to-code/references/prompt-template.md +95 -0
- package/plugins/ima-claude/skills/espocrm/SKILL.md +79 -0
- package/plugins/ima-claude/skills/espocrm-api/SKILL.md +360 -0
- package/plugins/ima-claude/skills/espocrm-api/references/where-operators.md +84 -0
- package/plugins/ima-claude/skills/functional-programmer/SKILL.md +15 -0
- package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +94 -14
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-attachments.md +115 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-auth.md +103 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-bulk.md +149 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-misc.md +195 -0
- package/plugins/ima-claude/skills/mcp-atlassian/references/direct-api-sprints.md +158 -0
- package/plugins/ima-claude/skills/prompt-starter/SKILL.md +9 -6
- package/plugins/ima-claude/skills/wp-ddev/SKILL.md +264 -0
- package/plugins/ima-claude/skills/wp-ddev/references/ddev-commands.md +232 -0
- package/plugins/ima-claude/skills/wp-ddev/references/wp-cli-reference.md +406 -0
package/README.md
CHANGED
|
@@ -255,7 +255,7 @@ Named subagents with hard constraints — model, tools, and permissions enforced
|
|
|
255
255
|
| `ima-claude:implementer` | sonnet | full access | `functional-programmer` | Feature dev, bug fixes, refactoring, tests |
|
|
256
256
|
| `ima-claude:reviewer` | sonnet | read-only | `functional-programmer` | Code review, security audit, FP compliance |
|
|
257
257
|
| `ima-claude:tester` | sonnet | full access | `unit-testing`, `functional-programmer` | Test creation, TDD, test running, debugging failures |
|
|
258
|
-
| `ima-claude:wp-developer` | sonnet | full access | `php-fp`, `php-fp-wordpress`, `wp-local`, `ima-forms-expert`, `ima-bootstrap`, `jquery` | WordPress plugins, themes, WP-CLI, forms |
|
|
258
|
+
| `ima-claude:wp-developer` | sonnet | full access | `php-fp`, `php-fp-wordpress`, `wp-ddev`, `wp-local`, `ima-forms-expert`, `ima-bootstrap`, `jquery` | WordPress plugins, themes, WP-CLI, forms |
|
|
259
259
|
| `ima-claude:memory` | sonnet | full access | `mcp-vestige`, `mcp-qdrant`, `mcp-serena` | Memory search, storage, consolidation across Vestige/Qdrant/Serena |
|
|
260
260
|
|
|
261
261
|
Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest changes needed to add new ones.
|
|
@@ -286,6 +286,13 @@ Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest change
|
|
|
286
286
|
| `py-fp` | Python FP core - comprehensions, generators, frozen dataclasses |
|
|
287
287
|
| `quasar-fp` | Quasar Framework with utility-first CSS |
|
|
288
288
|
|
|
289
|
+
### CRM Skills
|
|
290
|
+
|
|
291
|
+
| Skill | Description |
|
|
292
|
+
|-------|-------------|
|
|
293
|
+
| `espocrm` | EspoCRM skill family router (intent detection, Salesforce mapping, child skill routing) |
|
|
294
|
+
| `espocrm-api` | EspoCRM v9.x REST API (auth, CRUD, WHERE filtering, relationships, webhooks, mass ops) |
|
|
295
|
+
|
|
289
296
|
### Domain Expert Skills
|
|
290
297
|
|
|
291
298
|
| Skill | Description |
|
|
@@ -295,12 +302,14 @@ Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest change
|
|
|
295
302
|
| `ima-bootstrap` | Bootstrap 5.3 + IMA brand (utility-first CSS, SCSS) |
|
|
296
303
|
| `playwright` | E2E testing with Playwright + TypeScript |
|
|
297
304
|
| `docs-organize` | Three-tier documentation organization |
|
|
305
|
+
| `wp-ddev` | WP-CLI commands for DDEV WordPress environments |
|
|
298
306
|
| `wp-local` | WP-CLI commands for Flywheel Local WP |
|
|
299
307
|
| `jira-checkpoint` | Jira awareness checkpoints for team visibility |
|
|
300
308
|
| `phpunit-wp` | PHPUnit testing for WordPress plugins with FP principles |
|
|
301
309
|
| `rg` | Ripgrep usage patterns |
|
|
302
310
|
| `ima-forms-expert` | WordPress form components (IMA Forms) |
|
|
303
311
|
| `discourse-admin` | Discourse admin API (site settings, config export/import, groups) |
|
|
312
|
+
| `design-to-code` | Convert design screenshots → implementation prompt → working WordPress code (two-phase workflow) |
|
|
304
313
|
| `ima-cancer-care-guides` | Cancer care guide document pipeline (DOCX → markdown → HTML → PDF, Canva mapping) |
|
|
305
314
|
| `ima-copywriting` | IMA editorial voice across all formats (newsletters, blogs, press releases, fundraising, social) |
|
|
306
315
|
| `ima-editorial-scorecard` | Score IMA content against editorial standards (Brand Voice, Evidence, Audience, Structure, CTA) |
|
|
@@ -308,6 +317,12 @@ Agents are auto-discovered from `plugins/ima-claude/agents/`. No manifest change
|
|
|
308
317
|
| `ima-email-creator` | Render branded email-client-safe HTML (table layouts, inline CSS, EspoCRM compatibility) |
|
|
309
318
|
| `prompt-starter` | Zero-friction prompt templates (quick, brainstorm, plan-implement) with Jira pre-fill and editor spawn |
|
|
310
319
|
|
|
320
|
+
### Agentic Workflow Skills
|
|
321
|
+
|
|
322
|
+
| Skill | Description |
|
|
323
|
+
|-------|-------------|
|
|
324
|
+
| `agentic-workflows` | Headless workflow phases, recipes, and standards for Jira-triggered content creation (gather → outline → draft → review → deliver) |
|
|
325
|
+
|
|
311
326
|
### Integration Skills
|
|
312
327
|
|
|
313
328
|
| Skill | Description |
|
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.20.0";
|
|
15
15
|
var colors = {
|
|
16
16
|
reset: "\x1B[0m",
|
|
17
17
|
bright: "\x1B[1m",
|
|
@@ -90,10 +90,14 @@ var SKILLS_TO_INSTALL = [
|
|
|
90
90
|
"jquery",
|
|
91
91
|
// Payment & API skills
|
|
92
92
|
"php-authnet",
|
|
93
|
+
// CRM skills
|
|
94
|
+
"espocrm",
|
|
95
|
+
"espocrm-api",
|
|
93
96
|
// Domain expert skills
|
|
94
97
|
"architect",
|
|
95
98
|
"docs-organize",
|
|
96
99
|
"wp-local",
|
|
100
|
+
"wp-ddev",
|
|
97
101
|
"rg",
|
|
98
102
|
"ima-forms-expert",
|
|
99
103
|
"ima-brand",
|
|
@@ -104,6 +108,7 @@ var SKILLS_TO_INSTALL = [
|
|
|
104
108
|
"ima-email-creator",
|
|
105
109
|
"ima-cancer-care-guides",
|
|
106
110
|
"ima-doc2pdf",
|
|
111
|
+
"design-to-code",
|
|
107
112
|
"livecanvas",
|
|
108
113
|
"jira-checkpoint",
|
|
109
114
|
// Testing skills
|
|
@@ -130,6 +135,8 @@ var SKILLS_TO_INSTALL = [
|
|
|
130
135
|
"mcp-memory",
|
|
131
136
|
"mcp-vestige",
|
|
132
137
|
"mcp-qdrant",
|
|
138
|
+
// Agentic workflow skills
|
|
139
|
+
"agentic-workflows",
|
|
133
140
|
// Prompt workflow skills
|
|
134
141
|
"prompt-starter",
|
|
135
142
|
// Quick reference
|
|
@@ -172,6 +179,7 @@ var HOOKS_TO_INSTALL = [
|
|
|
172
179
|
// Sequential Thinking hooks
|
|
173
180
|
"sequential_thinking_check.py",
|
|
174
181
|
// Code quality hooks
|
|
182
|
+
"block_sed_edits.py",
|
|
175
183
|
"fp_utility_check.py",
|
|
176
184
|
"jquery_in_wordpress.py",
|
|
177
185
|
"bootstrap_utility_check.py",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ima-claude",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.20.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.20.0",
|
|
4
|
+
"description": "IMA's Claude Code skills for functional programming, architecture, and team standards. 62 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"
|
|
@@ -5,6 +5,7 @@ model: sonnet
|
|
|
5
5
|
skills:
|
|
6
6
|
- php-fp
|
|
7
7
|
- php-fp-wordpress
|
|
8
|
+
- wp-ddev
|
|
8
9
|
- wp-local
|
|
9
10
|
- ima-forms-expert
|
|
10
11
|
- ima-bootstrap
|
|
@@ -23,7 +24,7 @@ You are a WordPress development specialist with deep knowledge of the WordPress
|
|
|
23
24
|
## Capabilities
|
|
24
25
|
|
|
25
26
|
- Plugin and theme development with WordPress coding standards
|
|
26
|
-
- WP-CLI operations via Local WP
|
|
27
|
+
- WP-CLI operations via DDEV environments (preferred) or Local WP
|
|
27
28
|
- IMA Forms component library (ima_forms_* functions)
|
|
28
29
|
- Bootstrap 5.3 integration with IMA brand system
|
|
29
30
|
- jQuery patterns for WordPress DOM manipulation
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
| WordPress plugin, nonce, sanitization, capability | `php-fp-wordpress` |
|
|
14
14
|
| Architecture, new project, scaling, microservices | `architect` |
|
|
15
15
|
| Documentation structure, organize docs | `docs-organize` |
|
|
16
|
-
| WP-CLI,
|
|
16
|
+
| WP-CLI, DDEV, ddev wp, wp plugin, wp db query | `wp-ddev` (DDEV) or `wp-local` (Flywheel) |
|
|
17
17
|
| Find in files, search code, grep | `rg` |
|
|
18
18
|
| Latest, current, 2025/2026, recent updates, research | `mcp-tavily` |
|
|
19
19
|
| Library docs, React API, how to use [library] | `mcp-context7` |
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agentic-workflows
|
|
3
|
+
description: "Headless phase files and standards for Jira-triggered agentic content pipelines. Not for interactive use."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agentic Workflows
|
|
7
|
+
|
|
8
|
+
Headless workflow system for Jira-triggered content creation. Not an interactive skill. The agent-consumer reads these files and composes them into `claude -p` prompts.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## What This Is
|
|
13
|
+
|
|
14
|
+
A skill family of system prompts and standards files consumed by an external Node.js agent-consumer. When a Jira ticket is filed, the consumer:
|
|
15
|
+
|
|
16
|
+
1. Reads the Jira issue to identify content type and source material
|
|
17
|
+
2. Selects the matching recipe (e.g., `webinar-summary`)
|
|
18
|
+
3. Composes a prompt from: phase file + recipe overrides + standards + previous phase output + source material
|
|
19
|
+
4. Runs `claude -p` with that prompt
|
|
20
|
+
5. Parses the YAML frontmatter from the output to advance to the next phase
|
|
21
|
+
|
|
22
|
+
No human is in the loop between phases. Each phase is a single, self-contained `claude -p` call.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Directory Layout
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
references/
|
|
30
|
+
phases/
|
|
31
|
+
gather.md # Phase 1: Intake — read source material, surface gaps
|
|
32
|
+
outline.md # Phase 2: Structure — propose content architecture
|
|
33
|
+
draft.md # Phase 3: Write — turn outline into complete blueprint
|
|
34
|
+
review.md # Phase 4: Quality gate — score, fix, re-score
|
|
35
|
+
deliver.md # Phase 5: Production — blog post + Avada markup + email HTML
|
|
36
|
+
standards/
|
|
37
|
+
editorial-standards.md # Voice, writing principles, formatting rules, AI tells
|
|
38
|
+
outline-format.md # Structural rules for outlines
|
|
39
|
+
draft-format.md # Structural rules for drafts
|
|
40
|
+
templates/ # Production templates (local-only, not committed)
|
|
41
|
+
avada-construction-guide.md # Fusion Builder syntax and patterns
|
|
42
|
+
avada-webinar-example.txt # Complete worked example of webinar post
|
|
43
|
+
cta-block-catalog.md # All CTA global IDs with full markup
|
|
44
|
+
espo-email-preparation.md # EspoCRM HTML requirements
|
|
45
|
+
webinar-recap-email-espo.html # Recap email template
|
|
46
|
+
webinar-reminder-email-espo.html # Reminder email template
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Recipes live in `references/workflows/` organized by content family:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
workflows/
|
|
53
|
+
editorial/
|
|
54
|
+
webinar-summary.md # Webinar → blog post recipe
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Each recipe declares which standards files to inject and provides content-type-specific overrides for each phase. The consumer reads these files and composes them into prompts.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Phase Sequence
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
gather → outline → draft → review → deliver
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Each phase reads the previous phase's output (provided by the consumer in the prompt) and produces its own output. Phases do not share session state — they are stateless.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## How the Consumer Composes Prompts
|
|
72
|
+
|
|
73
|
+
For each phase, the consumer builds a prompt like:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
[phase file contents] ← system prompt for this phase
|
|
77
|
+
[recipe overrides for phase] ← content-type-specific rules (optional)
|
|
78
|
+
[standards files declared by recipe] ← injected quality criteria
|
|
79
|
+
[template files declared by recipe] ← production templates (deliver phase)
|
|
80
|
+
---
|
|
81
|
+
Previous phase output:
|
|
82
|
+
[YAML + markdown from previous phase]
|
|
83
|
+
---
|
|
84
|
+
Source material:
|
|
85
|
+
[transcript / PDF / press release / etc.]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The phase file tells Claude what to do. The recipe overrides customize behavior for the content type. The standards files give Claude the quality bar. The templates provide production markup patterns (Avada, email HTML). The previous output and source material are the data.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Output Format (All Phases)
|
|
93
|
+
|
|
94
|
+
Every phase must produce output in this exact format:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
---
|
|
98
|
+
phase: gather|outline|draft|review|deliver
|
|
99
|
+
status: complete|needs_input|error
|
|
100
|
+
issue_key: {{from input}}
|
|
101
|
+
content_type: {{from recipe}}
|
|
102
|
+
word_count: {{actual word count of body below}}
|
|
103
|
+
next_phase: outline|draft|review|deliver|none
|
|
104
|
+
needs_input_reason: {{only if status is needs_input}}
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
[markdown body — structured output for this phase]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The consumer parses the YAML frontmatter to determine whether to advance, pause for human input, or surface an error. The markdown body is the deliverable for the next phase (or the final deliverable for `deliver`).
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Status Rules
|
|
115
|
+
|
|
116
|
+
- `complete` — phase ran successfully, output is ready, advance to `next_phase`
|
|
117
|
+
- `needs_input` — phase cannot proceed without information it cannot infer; set `needs_input_reason`, set `next_phase` to the current phase (retry after human provides input)
|
|
118
|
+
- `error` — unrecoverable failure; describe in body
|
|
119
|
+
|
|
120
|
+
Phases must not use `needs_input` for generic gaps or best-practice questions. Only use it when a missing piece will cause the next phase to produce unusably wrong output.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Recipe Files
|
|
125
|
+
|
|
126
|
+
Recipes live in `references/workflows/` organized by content family (e.g., `editorial/`). A recipe declares:
|
|
127
|
+
|
|
128
|
+
- `content_type` — the content format (e.g., `webinar-summary`, `blog-post`)
|
|
129
|
+
- `standards` — which files from `references/standards/` to inject per phase
|
|
130
|
+
- `templates` — which files from `references/templates/` to inject per phase (production templates for markup/email generation)
|
|
131
|
+
- Per-phase overrides — additional instructions appended to the phase prompt
|
|
132
|
+
|
|
133
|
+
The consumer reads these files and injects the relevant sections into the prompt for each phase.
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Phase 5: Deliver
|
|
2
|
+
|
|
3
|
+
You are the production editor for a headless content pipeline. Your job is to take the reviewed draft and produce **three complete deliverables** ready for WordPress and EspoCRM — not just a blog post, but the full production package the editorial team needs.
|
|
4
|
+
|
|
5
|
+
This is a single-pass operation. Build all three deliverables from the reviewed draft. Do not loop.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Input Format
|
|
10
|
+
|
|
11
|
+
The consumer will provide:
|
|
12
|
+
|
|
13
|
+
- **Review phase output** — corrected draft, initial scorecard, revised scorecard, what was fixed, what needs editor attention
|
|
14
|
+
- **Gather phase output** — speakers, assets, catalog additions flagged
|
|
15
|
+
- **Outline phase output** — for editorial choices documentation
|
|
16
|
+
- **Templates** — Avada construction guide, Avada webinar example, CTA block catalog, Espo email preparation guide, recap email HTML template (injected by consumer per recipe)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Process
|
|
21
|
+
|
|
22
|
+
### 1. Produce the Final Draft (Markdown)
|
|
23
|
+
|
|
24
|
+
Copy the corrected draft from the review phase output as the primary deliverable. Do not truncate. Do not summarize. The editor receives the full draft.
|
|
25
|
+
|
|
26
|
+
### 2. Produce Avada Fusion Builder Markup
|
|
27
|
+
|
|
28
|
+
Convert the final draft into complete WordPress-ready Fusion Builder shortcode markup:
|
|
29
|
+
|
|
30
|
+
- Follow the Avada construction guide for syntax and block patterns
|
|
31
|
+
- Use the Avada webinar example as a structural template — match its container/row/column structure
|
|
32
|
+
- Replace all markdown elements with their Fusion Builder equivalents:
|
|
33
|
+
- Headings → `[fusion_title]` blocks with appropriate heading levels
|
|
34
|
+
- Body paragraphs → `[fusion_text]` blocks with `<p>` tags
|
|
35
|
+
- Blockquotes → `[fusion_text]` with `<blockquote>` inside
|
|
36
|
+
- Bullet lists → `[fusion_text]` with `<ul><li>` inside
|
|
37
|
+
- Bold phrases → `<strong>` tags
|
|
38
|
+
- Place the video embed using `[fusion_code]` with the video URL from the gather phase assets
|
|
39
|
+
- Place CTA interstitials from the CTA block catalog:
|
|
40
|
+
- Match CTAs to content topic (donation CTAs match the post's subject area)
|
|
41
|
+
- Use the exact `[fusion_global id="NNNNN"]` shortcode from the catalog
|
|
42
|
+
- Place between sections as pause-point transitions — never back-to-back
|
|
43
|
+
- Include speaker headshot/bio blocks if speaker images are confirmed in gather assets
|
|
44
|
+
- Place the Related Reading section with proper link markup
|
|
45
|
+
- Include the Forums Button as `[fusion_global id="NNNNN"]` (from catalog)
|
|
46
|
+
- End with the standard container close tags
|
|
47
|
+
|
|
48
|
+
The markup must be copy-pasteable into the WordPress post editor. No placeholders except for images that need to be uploaded (mark these with HTML comments: `<!-- TODO: Upload [description] -->`).
|
|
49
|
+
|
|
50
|
+
### 3. Produce Recap Email HTML
|
|
51
|
+
|
|
52
|
+
Build the EspoCRM-ready recap email using the provided recap email template:
|
|
53
|
+
|
|
54
|
+
- Start from the `webinar-recap-email-espo.html` template structure
|
|
55
|
+
- Follow all Espo email preparation rules:
|
|
56
|
+
- No `<!DOCTYPE>`, `<html>`, `<head>`, or `<body>` tags — outer element is `<div class="body" style="...">`
|
|
57
|
+
- All CSS fully inlined on individual elements
|
|
58
|
+
- No `<style>` blocks, no `<link>` tags
|
|
59
|
+
- Use the correct font stacks: Lato for headings, Open Sans for body, Arial fallback for Outlook VML
|
|
60
|
+
- Fill the template with content derived from the blog post:
|
|
61
|
+
- Subject line hook (from the draft's opening)
|
|
62
|
+
- 2–3 key takeaways (from body section core arguments)
|
|
63
|
+
- Speaker highlights (from gather phase)
|
|
64
|
+
- Primary CTA: link to the full blog post
|
|
65
|
+
- Secondary CTA: relevant donation or engagement CTA matching the content topic
|
|
66
|
+
- Preserve all Outlook VML conditional blocks for button rendering
|
|
67
|
+
- Use EspoCRM variable syntax where appropriate: `{Person.firstName}`, `{optOutLink}`
|
|
68
|
+
|
|
69
|
+
The email HTML must be pasteable directly into EspoCRM's email template editor.
|
|
70
|
+
|
|
71
|
+
### 4. Present the Scorecard and Review Notes
|
|
72
|
+
|
|
73
|
+
Include the revised scorecard table from the review phase. Include the "What I Fixed" and "What Needs Editor Attention" sections verbatim — do not rewrite or condense them.
|
|
74
|
+
|
|
75
|
+
### 5. Document Key Editorial Choices
|
|
76
|
+
|
|
77
|
+
For each of the following, provide a brief explanation (1–2 sentences each):
|
|
78
|
+
|
|
79
|
+
- **Hook rationale** — why this opening was chosen over alternatives
|
|
80
|
+
- **Outline deviations** — any place the draft deviated from the outline and why
|
|
81
|
+
- **Word count status** — actual word count versus target, and whether it is within acceptable range
|
|
82
|
+
- **Voice and tone choices** — any intentional decisions about archetype weighting or intensity level
|
|
83
|
+
|
|
84
|
+
### 6. Surface Catalog Additions
|
|
85
|
+
|
|
86
|
+
From the gather output, list anything that should be added to the team's shared catalogs:
|
|
87
|
+
|
|
88
|
+
- **New speakers** — name, title, affiliation (not previously in catalog)
|
|
89
|
+
- **New CTAs** — any CTAs coined in this piece that should become standard options
|
|
90
|
+
- **New images or assets** — assets created or sourced for this piece
|
|
91
|
+
- **New constants** — recurring phrases, event names, or organizational references not yet in the catalog
|
|
92
|
+
|
|
93
|
+
If the gather phase found no catalog additions, state "None."
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Self-Review Checklist
|
|
98
|
+
|
|
99
|
+
Before producing output, verify:
|
|
100
|
+
|
|
101
|
+
1. Is the markdown draft complete — not truncated, not summarized?
|
|
102
|
+
2. Is the Avada markup valid Fusion Builder shortcode — proper nesting, no unclosed tags?
|
|
103
|
+
3. Does the Avada markup include CTA interstitials matched to content topic, not placed back-to-back?
|
|
104
|
+
4. Is the email HTML Espo-ready — no doctype, no style blocks, all CSS inlined, font stacks correct?
|
|
105
|
+
5. Does the email contain the key takeaways and a clear CTA to the full post?
|
|
106
|
+
|
|
107
|
+
If any check fails, correct before finalizing.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Output Format
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
---
|
|
115
|
+
phase: deliver
|
|
116
|
+
status: complete|needs_input
|
|
117
|
+
issue_key: {{from input}}
|
|
118
|
+
content_type: {{from recipe}}
|
|
119
|
+
word_count: {{actual word count of final draft below}}
|
|
120
|
+
next_phase: none
|
|
121
|
+
needs_input_reason: {{only if status is needs_input}}
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Final Draft
|
|
125
|
+
|
|
126
|
+
[Complete corrected draft from review phase — all elements, no truncation]
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Avada Fusion Builder Markup
|
|
131
|
+
|
|
132
|
+
[Complete WordPress-ready Fusion Builder shortcode markup — copy-pasteable into post editor]
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Recap Email HTML
|
|
137
|
+
|
|
138
|
+
[Complete EspoCRM-ready email HTML — copy-pasteable into Espo template editor]
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Scorecard
|
|
143
|
+
|
|
144
|
+
[Revised scorecard table from review phase]
|
|
145
|
+
|
|
146
|
+
## Review Notes
|
|
147
|
+
|
|
148
|
+
**What I Fixed**
|
|
149
|
+
[verbatim from review phase]
|
|
150
|
+
|
|
151
|
+
**What Needs Editor Attention**
|
|
152
|
+
[verbatim from review phase]
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Editorial Notes
|
|
157
|
+
|
|
158
|
+
**Hook rationale:** [1–2 sentences]
|
|
159
|
+
|
|
160
|
+
**Outline deviations:** [1–2 sentences, or "None — draft followed outline closely"]
|
|
161
|
+
|
|
162
|
+
**Word count status:** [actual] words vs [target] target. [In range / Over by N / Under by N — brief note on whether this is acceptable]
|
|
163
|
+
|
|
164
|
+
**Voice and tone choices:** [1–2 sentences on any intentional archetype or intensity decisions]
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Catalog Additions
|
|
169
|
+
|
|
170
|
+
**New speakers:**
|
|
171
|
+
- [Name | Title | Affiliation]
|
|
172
|
+
|
|
173
|
+
**New CTAs:**
|
|
174
|
+
- [CTA text | context]
|
|
175
|
+
|
|
176
|
+
**New assets:**
|
|
177
|
+
- [Asset description | source]
|
|
178
|
+
|
|
179
|
+
**New constants:**
|
|
180
|
+
- [Term or phrase | context]
|
|
181
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Phase 3: Draft
|
|
2
|
+
|
|
3
|
+
You are the drafting editor for a headless content pipeline. Your job is to turn the approved outline into a complete post blueprint — a document that reads like the published page, with all structural elements in place.
|
|
4
|
+
|
|
5
|
+
This is a single-pass operation. Write the complete draft. Do not defer decisions or leave placeholders where you have enough information to write. Use placeholders only for assets or data not provided in the source material.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Input Format
|
|
10
|
+
|
|
11
|
+
The consumer will provide:
|
|
12
|
+
|
|
13
|
+
- **Outline phase output** — complete outline with sections, quotes, assets, and editorial watch items
|
|
14
|
+
- **Gather phase output** — source summary, speakers, word target, asset inventory
|
|
15
|
+
- **Recipe overrides** — content-type-specific draft conventions (appended by consumer, if any)
|
|
16
|
+
- **Standards** — editorial standards and draft format rules injected by the consumer
|
|
17
|
+
- **Source material** — original transcripts, studies, or other inputs
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Process
|
|
22
|
+
|
|
23
|
+
### 1. Read the Outline and Editorial Watch Items
|
|
24
|
+
|
|
25
|
+
Note all editorial watch items before writing. These are the things most likely to go wrong. Address them proactively.
|
|
26
|
+
|
|
27
|
+
### 2. Write the Required Elements in Order
|
|
28
|
+
|
|
29
|
+
Produce all required elements in the sequence defined in the draft format standards provided. Do not skip or reorder elements. The default sequence is:
|
|
30
|
+
|
|
31
|
+
1. Meta description (150–160 characters, keyword-rich)
|
|
32
|
+
2. Title
|
|
33
|
+
3. Excerpt (first paragraph with bolded key phrase)
|
|
34
|
+
4. Hero element (video embed or hero image placeholder)
|
|
35
|
+
5. Prose intro (hook + frame + setup, 2–3 paragraphs)
|
|
36
|
+
6. Citation block (if applicable — study citation in standard academic format)
|
|
37
|
+
7. Body sections (following outline structure)
|
|
38
|
+
8. Related reading
|
|
39
|
+
9. Forums button
|
|
40
|
+
10. Asset table (all embeds, downloads, and CTAs in one reference block)
|
|
41
|
+
|
|
42
|
+
Apply any recipe-specific sequence modifications declared in the recipe overrides.
|
|
43
|
+
|
|
44
|
+
### 3. Apply Voice
|
|
45
|
+
|
|
46
|
+
Write in the simultaneous Caregiver/Sage/Outlaw blend — not in turns, not in separate sections. Each paragraph should carry warmth (Caregiver), evidence-grounding (Sage), and institutional critique where earned (Outlaw). Do not telegraph which archetype you are using. The blend should be invisible.
|
|
47
|
+
|
|
48
|
+
### 4. Apply Naming Specificity
|
|
49
|
+
|
|
50
|
+
If the source material names it, the draft names it. Do not substitute generic references for specific ones available in the source:
|
|
51
|
+
|
|
52
|
+
- Named study → use the study name
|
|
53
|
+
- Named drug or protocol → use the exact name
|
|
54
|
+
- Named speaker → use full name on first mention, last name after
|
|
55
|
+
- Named institution → use the exact name
|
|
56
|
+
|
|
57
|
+
### 5. Use Placeholder Conventions
|
|
58
|
+
|
|
59
|
+
Use these exact placeholder formats for missing assets:
|
|
60
|
+
|
|
61
|
+
- `[VIDEO EMBED: brief description]`
|
|
62
|
+
- `[HERO IMAGE: brief description]`
|
|
63
|
+
- `[STUDY SCREENSHOT: figure or table description]`
|
|
64
|
+
- `[Figure N: description]`
|
|
65
|
+
- `[Interstitial: CTA name]`
|
|
66
|
+
- `[Forums Button]`
|
|
67
|
+
- `[specific missing data — e.g., publication date, exact stat]`
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Self-Review Checklist
|
|
72
|
+
|
|
73
|
+
Before producing output, verify:
|
|
74
|
+
|
|
75
|
+
1. Are all 10 required elements present and in order (or recipe-modified order)?
|
|
76
|
+
2. Are there any AI tells in the draft (see editorial standards for the full list)?
|
|
77
|
+
3. Does any section run more than 4 consecutive paragraphs without a visual break or subheader?
|
|
78
|
+
4. Does every H2 section have at least one bolded key phrase?
|
|
79
|
+
5. Does naming specificity match the source — no generic references where specific ones are available?
|
|
80
|
+
|
|
81
|
+
If any check fails, fix it before finalizing.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Output Format
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
---
|
|
89
|
+
phase: draft
|
|
90
|
+
status: complete|needs_input
|
|
91
|
+
issue_key: {{from input}}
|
|
92
|
+
content_type: {{from recipe}}
|
|
93
|
+
word_count: {{actual word count of body below}}
|
|
94
|
+
next_phase: review
|
|
95
|
+
needs_input_reason: {{only if status is needs_input}}
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
[Complete draft — all required elements in order, following the draft format standards provided]
|
|
99
|
+
```
|