myaidev-method 0.3.1 → 0.3.3
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/.claude-plugin/plugin.json +52 -48
- package/CHANGELOG.md +5 -0
- package/DEV_WORKFLOW_GUIDE.md +6 -6
- package/MCP_INTEGRATION.md +4 -4
- package/README.md +140 -66
- package/TECHNICAL_ARCHITECTURE.md +112 -18
- package/USER_GUIDE.md +270 -39
- package/bin/cli.js +47 -13
- package/dist/mcp/gutenberg-converter.js +667 -413
- package/dist/mcp/wordpress-admin-mcp.js +0 -1
- package/dist/mcp/wordpress-integration.js +0 -1
- package/dist/mcp/wordpress-server.js +1558 -1182
- package/dist/server/.tsbuildinfo +1 -1
- package/extension.json +3 -3
- package/package.json +9 -2
- package/skills/content-writer/SKILL.md +130 -178
- package/skills/infographic/SKILL.md +191 -0
- package/skills/myaidev-analyze/SKILL.md +242 -0
- package/skills/myaidev-architect/SKILL.md +389 -0
- package/skills/myaidev-coder/SKILL.md +291 -0
- package/skills/myaidev-debug/SKILL.md +308 -0
- package/skills/myaidev-documenter/SKILL.md +194 -0
- package/skills/myaidev-migrate/SKILL.md +300 -0
- package/skills/myaidev-performance/SKILL.md +270 -0
- package/skills/myaidev-refactor/SKILL.md +296 -0
- package/skills/myaidev-reviewer/SKILL.md +385 -0
- package/skills/myaidev-tester/SKILL.md +331 -0
- package/skills/myaidev-workflow/SKILL.md +567 -0
- package/skills/security-auditor/SKILL.md +1 -1
- package/src/cli/commands/addon.js +60 -12
- package/src/cli/commands/auth.js +10 -2
- package/src/config/workflows.js +11 -6
- package/src/lib/ascii-banner.js +3 -3
- package/src/lib/coolify-utils.js +0 -1
- package/src/lib/payloadcms-utils.js +0 -1
- package/src/lib/visual-generation-utils.js +0 -1
- package/src/lib/wordpress-admin-utils.js +0 -1
- package/src/mcp/gutenberg-converter.js +667 -413
- package/src/mcp/wordpress-admin-mcp.js +0 -1
- package/src/mcp/wordpress-integration.js +0 -1
- package/src/mcp/wordpress-server.js +1558 -1182
- package/src/scripts/test-coolify-deploy.js +0 -1
- package/src/statusline/statusline.sh +279 -0
- package/skills/content-writer/agents/editor-agent.md +0 -138
- package/skills/content-writer/agents/planner-agent.md +0 -121
- package/skills/content-writer/agents/research-agent.md +0 -83
- package/skills/content-writer/agents/seo-agent.md +0 -139
- package/skills/content-writer/agents/visual-planner-agent.md +0 -110
- package/skills/content-writer/agents/writer-agent.md +0 -85
- package/skills/sparc-architect/SKILL.md +0 -127
- package/skills/sparc-coder/SKILL.md +0 -90
- package/skills/sparc-documenter/SKILL.md +0 -155
- package/skills/sparc-reviewer/SKILL.md +0 -138
- package/skills/sparc-tester/SKILL.md +0 -100
- package/skills/sparc-workflow/SKILL.md +0 -130
- /package/{marketplace.json → .claude-plugin/marketplace.json} +0 -0
package/extension.json
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"id": "sparc-development",
|
|
63
63
|
"name": "SPARC Development",
|
|
64
64
|
"description": "Specification-Pseudocode-Architecture-Refinement-Completion methodology",
|
|
65
|
-
"skills": ["
|
|
65
|
+
"skills": ["myaidev-architect", "myaidev-coder", "myaidev-tester", "myaidev-reviewer", "myaidev-documenter", "myaidev-analyze", "myaidev-debug", "myaidev-refactor", "myaidev-performance", "myaidev-migrate"],
|
|
66
66
|
"platforms": ["claudeCode", "geminiCli", "codexCli"]
|
|
67
67
|
},
|
|
68
68
|
{
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
"development": {
|
|
104
104
|
"name": "Development Pack",
|
|
105
105
|
"description": "SPARC methodology for software development",
|
|
106
|
-
"skills": ["
|
|
106
|
+
"skills": ["myaidev-workflow", "myaidev-architect", "myaidev-coder", "myaidev-tester", "myaidev-reviewer", "myaidev-documenter", "myaidev-analyze", "myaidev-debug", "myaidev-refactor", "myaidev-performance", "myaidev-migrate"]
|
|
107
107
|
},
|
|
108
108
|
"security": {
|
|
109
109
|
"name": "Security Pack",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"description": "All skills and capabilities",
|
|
121
121
|
"skills": [
|
|
122
122
|
"content-writer", "content-verifier", "visual-generator", "wordpress-publisher",
|
|
123
|
-
"
|
|
123
|
+
"myaidev-workflow", "myaidev-architect", "myaidev-coder", "myaidev-tester", "myaidev-reviewer", "myaidev-documenter", "myaidev-analyze", "myaidev-debug", "myaidev-refactor", "myaidev-performance", "myaidev-migrate",
|
|
124
124
|
"security-tester", "security-auditor",
|
|
125
125
|
"coolify-deployer", "openstack-manager"
|
|
126
126
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "myaidev-method",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "Comprehensive development framework with SPARC methodology for AI-assisted software development, security testing (PTES, OWASP, penetration testing, compliance auditing), AI visual content generation (Gemini, OpenAI GPT Image 1.5, Imagen, FLUX 2, Veo 3), OpenStack VM management, multi-platform publishing (WordPress, PayloadCMS, Astro, Docusaurus, Mintlify), and Coolify deployment",
|
|
5
5
|
"mcpName": "io.github.myaione/myaidev-method",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"dev:review": "node src/scripts/dev-review.js",
|
|
38
38
|
"dev:docs": "node src/scripts/dev-docs.js",
|
|
39
39
|
"sparc": "node src/scripts/sparc-workflow.js",
|
|
40
|
+
"myaidev": "node src/scripts/sparc-workflow.js",
|
|
40
41
|
"wordpress:troubleshoot": "node src/templates/docs/wordpress-troubleshoot.js",
|
|
41
42
|
"wordpress:health-check": "node src/scripts/wordpress-health-check.js",
|
|
42
43
|
"wordpress:security-scan": "node src/scripts/wordpress-security-scan.js",
|
|
@@ -123,7 +124,6 @@
|
|
|
123
124
|
"inquirer": "^13.1.0",
|
|
124
125
|
"jose": "^6.1.3",
|
|
125
126
|
"marked": "^17.0.1",
|
|
126
|
-
"node-fetch": "^3.3.2",
|
|
127
127
|
"ora": "^9.0.0",
|
|
128
128
|
"pptxgenjs": "^4.0.1",
|
|
129
129
|
"puppeteer": "^24.35.0",
|
|
@@ -175,5 +175,12 @@
|
|
|
175
175
|
],
|
|
176
176
|
"engines": {
|
|
177
177
|
"node": ">=18.0.0"
|
|
178
|
+
},
|
|
179
|
+
"overrides": {
|
|
180
|
+
"glob": "^13.0.0",
|
|
181
|
+
"rimraf": "^6.0.0",
|
|
182
|
+
"gaxios": {
|
|
183
|
+
"node-fetch": "npm:node-fetch-native@^1.6.0"
|
|
184
|
+
}
|
|
178
185
|
}
|
|
179
186
|
}
|
|
@@ -1,40 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: content-writer
|
|
3
|
-
description: Orchestrates professional content creation through a multi-agent pipeline covering research, planning, writing, SEO optimization, and
|
|
4
|
-
argument-hint: "
|
|
5
|
-
allowed-tools: [Read, Write,
|
|
3
|
+
description: Orchestrates professional content creation through a multi-agent pipeline covering research, planning, writing, SEO optimization, and editorial review. Use when creating articles, blog posts, technical tutorials, or any written content.
|
|
4
|
+
argument-hint: "<topic> [--word-count=1500] [--tone=professional] [--type=blog-post]"
|
|
5
|
+
allowed-tools: [Read, Write, WebSearch, WebFetch, Task, Bash, Glob, Grep, AskUserQuestion]
|
|
6
6
|
context: fork
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# Content Writer
|
|
9
|
+
# Content Writer — Orchestrator
|
|
10
10
|
|
|
11
|
-
You are the **Content Production Orchestrator
|
|
11
|
+
You are the **Content Production Orchestrator**. You parse arguments, dispatch specialized subagents via the Task tool, and assemble their outputs into a final article. All intermediate state flows through `.content-session/` scratchpad files.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Subagent Registry
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
│ spawns
|
|
25
|
-
┌──────────┼──────────────┬─────────────────┐
|
|
26
|
-
▼ ▼ ▼ ▼
|
|
27
|
-
┌────────┐ ┌────────┐ ┌──────────┐ ┌──────────────┐
|
|
28
|
-
│Research│ │Planner │ │ Writer │ │Visual Planner│
|
|
29
|
-
│ Agent │ │ Agent │ │ Agent │ │ Agent │
|
|
30
|
-
└────────┘ └────────┘ └──────────┘ └──────────────┘
|
|
31
|
-
│
|
|
32
|
-
┌─────────┼──────────┐
|
|
33
|
-
▼ ▼ ▼
|
|
34
|
-
┌─────────┐ ┌──────┐ ┌────────┐
|
|
35
|
-
│SEO Agent│ │Editor│ │Visuals │
|
|
36
|
-
└─────────┘ └──────┘ └────────┘
|
|
37
|
-
```
|
|
15
|
+
Each subagent is a real Claude Code subagent defined in `agents/` with its own tools and model:
|
|
16
|
+
|
|
17
|
+
| Phase | Subagent Name | Model | Tools |
|
|
18
|
+
|-------|--------------|-------|-------|
|
|
19
|
+
| Research | `content-research-agent` | inherit | WebSearch, WebFetch, Read, Write |
|
|
20
|
+
| Planning | `content-planner-agent` | sonnet | Read, Write |
|
|
21
|
+
| Writing | `content-writer-agent` | inherit | Read, Write, WebSearch |
|
|
22
|
+
| SEO | `content-seo-agent` | haiku | Read, Write, WebSearch |
|
|
23
|
+
| Editor | `content-editor-agent` | sonnet | Read, Write |
|
|
38
24
|
|
|
39
25
|
## Execution Phases
|
|
40
26
|
|
|
@@ -44,71 +30,80 @@ You are the **Content Production Orchestrator**, a coordinator that decomposes c
|
|
|
44
30
|
- Determine content type template and constraints
|
|
45
31
|
- Create scratchpad directory: `.content-session/` (ephemeral, gitignored)
|
|
46
32
|
|
|
47
|
-
### Phase 1: Research
|
|
48
|
-
Spawn a **research subagent** to gather information:
|
|
33
|
+
### Phase 1: Research
|
|
49
34
|
|
|
35
|
+
Spawn the research subagent:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Task(subagent_type: "content-research-agent", prompt: "
|
|
39
|
+
Research the topic '{topic}' for a {type} article.
|
|
40
|
+
Target audience: {audience}. Tone: {tone}.
|
|
41
|
+
{content_rules_section}
|
|
42
|
+
Write your findings to .content-session/research.md
|
|
43
|
+
")
|
|
50
44
|
```
|
|
51
|
-
|
|
45
|
+
|
|
46
|
+
Skip if `--no-research` flag is set.
|
|
47
|
+
|
|
48
|
+
### Phase 2: Plan
|
|
49
|
+
|
|
50
|
+
Read `.content-session/research.md`, then spawn the planner:
|
|
51
|
+
|
|
52
52
|
```
|
|
53
|
+
Task(subagent_type: "content-planner-agent", prompt: "
|
|
54
|
+
Create a detailed article plan for: '{topic}'
|
|
55
|
+
Content type: {type} | Word count: {word_count} | Tone: {tone}
|
|
56
|
+
Audience: {audience} | Keywords: {keywords}
|
|
57
|
+
|
|
58
|
+
Research summary (from Phase 1):
|
|
59
|
+
{brief research summary - key findings, angle, gaps}
|
|
60
|
+
|
|
61
|
+
{content_rules_section}
|
|
62
|
+
Write the plan to .content-session/plan.md
|
|
63
|
+
")
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Phase 3: Write (main workload)
|
|
67
|
+
|
|
68
|
+
Read `.content-session/plan.md` and `.content-session/research.md`, then spawn the writer:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
Task(subagent_type: "content-writer-agent", prompt: "
|
|
72
|
+
Write the full article based on the plan and research.
|
|
73
|
+
Read the plan from: .content-session/plan.md
|
|
74
|
+
Read the research from: .content-session/research.md
|
|
75
|
+
{content_rules_section}
|
|
76
|
+
Write the complete draft to .content-session/draft.md
|
|
77
|
+
")
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Phase 4: Optimize (Parallel)
|
|
53
81
|
|
|
54
|
-
The research agent:
|
|
55
|
-
- Uses WebSearch to find 5-8 relevant, current sources
|
|
56
|
-
- Extracts key facts, statistics, expert quotes
|
|
57
|
-
- Identifies content gaps in existing coverage
|
|
58
|
-
- Writes findings to `.content-session/research.md`
|
|
59
|
-
- Returns a concise research summary (not raw data)
|
|
60
|
-
|
|
61
|
-
### Phase 2: Plan (Subagent)
|
|
62
|
-
Spawn a **planning subagent** with research summary + content rules:
|
|
63
|
-
|
|
64
|
-
The planner:
|
|
65
|
-
- Creates detailed article outline with section structure
|
|
66
|
-
- Assigns word count targets per section
|
|
67
|
-
- Plans keyword placement strategy
|
|
68
|
-
- Identifies visual content opportunities (if `--with-images`)
|
|
69
|
-
- Writes plan to `.content-session/plan.md`
|
|
70
|
-
- Returns the outline structure
|
|
71
|
-
|
|
72
|
-
### Phase 3: Write (Subagent — main workload)
|
|
73
|
-
Spawn a **writer subagent** with the plan + research + content rules:
|
|
74
|
-
|
|
75
|
-
The writer:
|
|
76
|
-
- Produces the full article following the plan
|
|
77
|
-
- Applies brand voice from content-rules
|
|
78
|
-
- Integrates research findings naturally
|
|
79
|
-
- Writes draft to `.content-session/draft.md`
|
|
80
|
-
- Returns completion status
|
|
81
|
-
|
|
82
|
-
### Phase 4: Optimize (Parallel Subagents)
|
|
83
82
|
Spawn SEO and editorial subagents **in parallel**:
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
- Orchestrator then generates images using the visual-generator skill
|
|
105
|
-
|
|
106
|
-
### Phase 6: Assemble & Finalize
|
|
84
|
+
```
|
|
85
|
+
Task(subagent_type: "content-seo-agent", prompt: "
|
|
86
|
+
Analyze the article draft for SEO optimization.
|
|
87
|
+
Read the draft from: .content-session/draft.md
|
|
88
|
+
Keywords: {keywords}. Content type: {type}.
|
|
89
|
+
Write your SEO report to .content-session/seo-report.md
|
|
90
|
+
")
|
|
91
|
+
|
|
92
|
+
Task(subagent_type: "content-editor-agent", prompt: "
|
|
93
|
+
Review the article draft for quality and publication readiness.
|
|
94
|
+
Read the draft from: .content-session/draft.md
|
|
95
|
+
Target tone: {tone}. Target audience: {audience}.
|
|
96
|
+
{content_rules_section}
|
|
97
|
+
Write your editorial report to .content-session/edit-notes.md
|
|
98
|
+
")
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Phase 5: Assemble & Finalize
|
|
102
|
+
|
|
107
103
|
The orchestrator (this skill):
|
|
108
|
-
- Reads all scratchpad files
|
|
104
|
+
- Reads all scratchpad files (.content-session/draft.md, seo-report.md, edit-notes.md)
|
|
109
105
|
- Applies SEO recommendations to the draft
|
|
110
106
|
- Incorporates editorial improvements
|
|
111
|
-
- Embeds visual references if generated
|
|
112
107
|
- Produces final article with proper frontmatter
|
|
113
108
|
- Saves to `./content-output/{slug}.md`
|
|
114
109
|
- Cleans up `.content-session/` directory
|
|
@@ -123,8 +118,6 @@ The orchestrator (this skill):
|
|
|
123
118
|
| `--type` | Template: blog-post, technical-tutorial, how-to-guide, listicle, comparison-guide, case-study, api-documentation, architecture-guide | blog-post |
|
|
124
119
|
| `--audience` | Target reader demographic | general |
|
|
125
120
|
| `--keywords` | Comma-separated primary,secondary keywords | auto-detected |
|
|
126
|
-
| `--with-images` | Enable AI visual generation | false |
|
|
127
|
-
| `--image-service` | Preferred image service: gemini, dalle, flux, imagen | auto |
|
|
128
121
|
| `--publish` | Publish to platform: wordpress, payloadcms, docusaurus, mintlify, astro | none |
|
|
129
122
|
| `--output-dir` | Output directory for final article | ./content-output |
|
|
130
123
|
| `--no-research` | Skip research phase (use for topics you provide context for) | false |
|
|
@@ -132,7 +125,7 @@ The orchestrator (this skill):
|
|
|
132
125
|
|
|
133
126
|
## Content Rules Integration
|
|
134
127
|
|
|
135
|
-
The orchestrator automatically discovers and loads content rules. Rules are passed to every subagent to ensure consistent brand voice.
|
|
128
|
+
The orchestrator automatically discovers and loads content rules. Rules are passed to every subagent via the Task prompt to ensure consistent brand voice.
|
|
136
129
|
|
|
137
130
|
**Discovery order:**
|
|
138
131
|
1. `./content-rules.md`
|
|
@@ -141,40 +134,12 @@ The orchestrator automatically discovers and loads content rules. Rules are pass
|
|
|
141
134
|
|
|
142
135
|
If no rules file exists, suggest running the content-rules-setup skill.
|
|
143
136
|
|
|
144
|
-
**Rules are injected into
|
|
137
|
+
**Rules are injected into Task prompts as:**
|
|
145
138
|
```
|
|
146
139
|
## Brand & Style Guidelines (from content-rules.md)
|
|
147
140
|
{content of rules file}
|
|
148
141
|
```
|
|
149
142
|
|
|
150
|
-
## Subagent Prompt Templates
|
|
151
|
-
|
|
152
|
-
Each subagent has a detailed prompt template in the `agents/` directory. Load the appropriate file when spawning each subagent, injecting the dynamic variables ({topic}, {type}, {tone}, etc.) and {content_rules_section}.
|
|
153
|
-
|
|
154
|
-
| Phase | Prompt File | Key Variables |
|
|
155
|
-
|-------|-------------|---------------|
|
|
156
|
-
| Research | [agents/research-agent.md](agents/research-agent.md) | topic, type, audience, tone |
|
|
157
|
-
| Planning | [agents/planner-agent.md](agents/planner-agent.md) | topic, type, word_count, tone, audience, keywords, research_summary |
|
|
158
|
-
| Writing | [agents/writer-agent.md](agents/writer-agent.md) | plan_content, research_summary, word_count, tone |
|
|
159
|
-
| SEO | [agents/seo-agent.md](agents/seo-agent.md) | draft_content, keywords, type |
|
|
160
|
-
| Editor | [agents/editor-agent.md](agents/editor-agent.md) | draft_content, tone, audience |
|
|
161
|
-
| Visual | [agents/visual-planner-agent.md](agents/visual-planner-agent.md) | draft_content, type, available_services |
|
|
162
|
-
|
|
163
|
-
All templates include a `{content_rules_section}` placeholder — inject the loaded content-rules when present.
|
|
164
|
-
|
|
165
|
-
## Content Type Templates
|
|
166
|
-
|
|
167
|
-
| Type | Structure | Typical Length | Key Elements |
|
|
168
|
-
|------|-----------|----------------|--------------|
|
|
169
|
-
| `blog-post` | Intro → 3-5 sections → Conclusion | 1500-2500 | Hook, examples, CTA |
|
|
170
|
-
| `technical-tutorial` | Prereqs → Steps → Troubleshooting | 2000-3500 | Code, diagrams, verification |
|
|
171
|
-
| `how-to-guide` | Problem → Solution → Best Practices | 1500-2500 | Step-by-step, tips |
|
|
172
|
-
| `listicle` | Intro → Numbered Items → Summary | 1200-2000 | Consistent format per item |
|
|
173
|
-
| `comparison-guide` | Overview → Deep Dives → Decision | 1500-2500 | Tables, pros/cons |
|
|
174
|
-
| `case-study` | Challenge → Solution → Results | 1200-2000 | Metrics, quotes |
|
|
175
|
-
| `api-documentation` | Overview → Endpoints → Examples | 1000-2000 | Code, tables |
|
|
176
|
-
| `architecture-guide` | Summary → Components → Data Flow | 2500-4000 | Diagrams, tech details |
|
|
177
|
-
|
|
178
143
|
## State Management (Scratchpad Pattern)
|
|
179
144
|
|
|
180
145
|
All intermediate work is written to `.content-session/` directory:
|
|
@@ -188,78 +153,82 @@ All intermediate work is written to `.content-session/` directory:
|
|
|
188
153
|
├── draft.md # Writer agent output
|
|
189
154
|
├── seo-report.md # SEO optimization suggestions
|
|
190
155
|
├── edit-notes.md # Editorial feedback
|
|
191
|
-
├── visual-plan.json # Visual content specifications
|
|
192
156
|
└── final-meta.json # Assembled frontmatter data
|
|
193
157
|
```
|
|
194
158
|
|
|
195
|
-
This keeps the orchestrator's context lean — it reads only what it needs for each phase.
|
|
196
|
-
|
|
197
159
|
## Execution Flow
|
|
198
160
|
|
|
199
161
|
```
|
|
200
|
-
1. INIT
|
|
201
|
-
2. RESEARCH
|
|
202
|
-
3. PLAN
|
|
203
|
-
4. WRITE
|
|
204
|
-
5. OPTIMIZE
|
|
205
|
-
6.
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
8. OUTPUT → Save to output-dir, optionally publish
|
|
209
|
-
9. CLEANUP → Remove .content-session/ directory
|
|
162
|
+
1. INIT -> Parse args, load rules, create session dir
|
|
163
|
+
2. RESEARCH -> Task(content-research-agent) — skip if --no-research
|
|
164
|
+
3. PLAN -> Task(content-planner-agent) with research summary
|
|
165
|
+
4. WRITE -> Task(content-writer-agent) with plan + research
|
|
166
|
+
5. OPTIMIZE -> Task(content-seo-agent) + Task(content-editor-agent) IN PARALLEL
|
|
167
|
+
6. ASSEMBLE -> Read all outputs, produce final article
|
|
168
|
+
7. OUTPUT -> Save to output-dir, optionally publish
|
|
169
|
+
8. CLEANUP -> Remove .content-session/ directory
|
|
210
170
|
```
|
|
211
171
|
|
|
212
172
|
## Error Handling
|
|
213
173
|
|
|
214
174
|
- If a subagent fails, log the error and continue with what's available
|
|
215
|
-
- Research failure
|
|
216
|
-
- SEO/Editor failure
|
|
217
|
-
- Visual generation failure → produce article without images
|
|
175
|
+
- Research failure -> proceed with plan (user-provided context may suffice)
|
|
176
|
+
- SEO/Editor failure -> use draft as-is with basic frontmatter
|
|
218
177
|
- Never block the entire pipeline on a single failure
|
|
219
178
|
|
|
220
|
-
##
|
|
179
|
+
## Pipeline Checklist
|
|
180
|
+
|
|
181
|
+
Copy and track progress through each phase:
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
Pipeline Progress:
|
|
185
|
+
- [ ] Phase 0: Parse arguments, load content-rules, create .content-session/
|
|
186
|
+
- [ ] Phase 1: Research (content-research-agent) — skip if --no-research
|
|
187
|
+
- [ ] Phase 2: Plan (content-planner-agent) with research summary
|
|
188
|
+
- [ ] Phase 3: Write (content-writer-agent) with plan + research
|
|
189
|
+
- [ ] Phase 4: Optimize — SEO + Editor agents IN PARALLEL
|
|
190
|
+
- [ ] Phase 5: Assemble final article from all outputs
|
|
191
|
+
- [ ] Phase 6: Save to output-dir, publish if requested
|
|
192
|
+
- [ ] Phase 7: Clean up .content-session/
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Context Management
|
|
221
196
|
|
|
222
197
|
### Context Regurgitation
|
|
223
|
-
Before dispatching each subagent,
|
|
224
|
-
- Current phase number and what's been completed
|
|
198
|
+
Before dispatching each subagent, restate in the Task prompt:
|
|
199
|
+
- Current phase number and what's been completed
|
|
225
200
|
- Key decisions made (chosen angle, title direction, tone calibration)
|
|
226
201
|
- What this subagent needs to accomplish and how its output feeds the next phase
|
|
227
202
|
|
|
228
|
-
This keeps critical context fresh at the end of the context window where LLM attention is strongest.
|
|
229
|
-
|
|
230
203
|
### Dynamic Plan Updates
|
|
231
204
|
If a subagent returns indicating the plan needs revision (e.g., writer discovers research gaps, SEO agent finds the angle is unsearchable):
|
|
232
205
|
1. Parse the update request from the subagent's output
|
|
233
206
|
2. Re-run the affected earlier phase with the new context
|
|
234
207
|
3. Resume the pipeline from the current phase
|
|
235
208
|
4. Maximum **2 plan revisions per session** to prevent infinite loops
|
|
236
|
-
5. Log each revision to `.content-session/revisions.md`
|
|
237
209
|
|
|
238
210
|
### File Buffering
|
|
239
|
-
|
|
211
|
+
When constructing Task prompts for subsequent phases, read only the specific sections needed from `.content-session/` files. Summarize key points and reference the scratchpad file path so the subagent can read details itself.
|
|
240
212
|
|
|
241
213
|
## Progress Reporting
|
|
242
214
|
|
|
243
215
|
At each phase transition, report to the user:
|
|
244
216
|
|
|
245
217
|
```
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
📊 Summary:
|
|
218
|
+
-> Phase 1/5: Researching "{topic}"...
|
|
219
|
+
Done: Found 6 sources, identified 3 unique angles
|
|
220
|
+
-> Phase 2/5: Planning article structure...
|
|
221
|
+
Done: Outline ready: 5 sections, ~{word_count} words target
|
|
222
|
+
-> Phase 3/5: Writing article...
|
|
223
|
+
Done: Draft complete: {actual_word_count} words
|
|
224
|
+
-> Phase 4/5: Optimizing (SEO + Editorial review)...
|
|
225
|
+
Done: SEO score: 8.5/10 | Editorial score: 8/10
|
|
226
|
+
-> Phase 5/5: Assembling final article...
|
|
227
|
+
Done: Saved to ./content-output/{slug}.md
|
|
228
|
+
|
|
229
|
+
Summary:
|
|
260
230
|
Words: {count} | Reading Time: {time}
|
|
261
231
|
SEO Score: {score}/10 | Quality: {score}/10
|
|
262
|
-
Images: {count} | Cost: ${total}
|
|
263
232
|
```
|
|
264
233
|
|
|
265
234
|
## Output Format
|
|
@@ -279,12 +248,11 @@ word_count: [actual count]
|
|
|
279
248
|
reading_time: [X minutes]
|
|
280
249
|
content_type: [type used]
|
|
281
250
|
generated_at: [ISO timestamp]
|
|
282
|
-
images: [list of generated image paths, if any]
|
|
283
251
|
---
|
|
284
252
|
|
|
285
253
|
# [Title]
|
|
286
254
|
|
|
287
|
-
[Full article content
|
|
255
|
+
[Full article content]
|
|
288
256
|
```
|
|
289
257
|
|
|
290
258
|
## Publishing Integration
|
|
@@ -292,10 +260,9 @@ images: [list of generated image paths, if any]
|
|
|
292
260
|
If `--publish` is specified, after saving the article locally:
|
|
293
261
|
|
|
294
262
|
1. Determine target platform from flag value
|
|
295
|
-
2.
|
|
296
|
-
-
|
|
297
|
-
-
|
|
298
|
-
- Use static-site utilities for Docusaurus/Mintlify/Astro
|
|
263
|
+
2. Use the appropriate publishing approach:
|
|
264
|
+
- WordPress: use the wp MCP tools directly
|
|
265
|
+
- Other platforms: use platform-specific skills if available
|
|
299
266
|
3. Report published URL to user
|
|
300
267
|
|
|
301
268
|
## Example Usage
|
|
@@ -304,8 +271,8 @@ If `--publish` is specified, after saving the article locally:
|
|
|
304
271
|
# Basic article
|
|
305
272
|
/myaidev-method:content-writer "Kubernetes Best Practices for Production"
|
|
306
273
|
|
|
307
|
-
#
|
|
308
|
-
/myaidev-method:content-writer "Building a RAG Pipeline" --word-count=2500 --type=technical-tutorial --
|
|
274
|
+
# Technical tutorial with custom length
|
|
275
|
+
/myaidev-method:content-writer "Building a RAG Pipeline" --word-count=2500 --type=technical-tutorial --tone=technical
|
|
309
276
|
|
|
310
277
|
# With publishing
|
|
311
278
|
/myaidev-method:content-writer "Getting Started with Docker" --publish=wordpress --tone=conversational
|
|
@@ -316,18 +283,3 @@ If `--publish` is specified, after saving the article locally:
|
|
|
316
283
|
# Custom output location
|
|
317
284
|
/myaidev-method:content-writer "API Design Patterns" --output-dir=./blog/posts --keywords="api design,rest best practices"
|
|
318
285
|
```
|
|
319
|
-
|
|
320
|
-
## Quality Checklist (Applied by Editor Agent)
|
|
321
|
-
|
|
322
|
-
- [ ] Title includes primary keyword and is compelling
|
|
323
|
-
- [ ] Introduction hooks reader within 2 sentences
|
|
324
|
-
- [ ] Content addresses user intent thoroughly
|
|
325
|
-
- [ ] Facts are accurate and attributed
|
|
326
|
-
- [ ] Heading hierarchy is proper (H1 → H2 → H3)
|
|
327
|
-
- [ ] Content is scannable (varied formatting)
|
|
328
|
-
- [ ] Keywords integrated naturally (not stuffed)
|
|
329
|
-
- [ ] Meta description summarizes effectively
|
|
330
|
-
- [ ] Conclusion provides value and next steps
|
|
331
|
-
- [ ] Tone consistent throughout
|
|
332
|
-
- [ ] Original value — not just repackaged existing content
|
|
333
|
-
|