Skip to content

Commit d1a48da

Browse files
ncrmroclaude
andcommitted
feat(library): add marketing job with competitive content analysis workflow
Add a new library job for marketing workflows, starting with competitive_content_analysis — a 5-step workflow that researches competitors' content strategies in parallel and produces a prioritized gap analysis with actionable recommendations. Includes research_one_competitor sub-workflow for per-competitor deep dives launched via parallel agents. Also documents the "signal intent, not mechanism" pattern for library job output conventions in the library README — library jobs defer to the user's notes directory AGENTS.md for note creation mechanics rather than embedding zk commands or specific paths. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c4ac229 commit d1a48da

4 files changed

Lines changed: 938 additions & 0 deletions

File tree

library/jobs/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ This walks you through configuring `DEEPWORK_ADDITIONAL_JOBS_FOLDERS` so the Dee
1717
| Job | Description |
1818
|-----|-------------|
1919
| [Engineer](./engineer) | Domain-agnostic engineering execution from product issue through PR merge and product sync, with TDD discipline |
20+
| [Marketing](./marketing) | Competitive content analysis across channels with parallel per-competitor research |
2021
| [Research](./research) | Multi-workflow research suite — deep investigation, quick summaries, material ingestion, and reproduction planning |
2122
| [Platform Engineer](./platform_engineer) | Incident response, observability, CI/CD, releases, security, cost management, and infrastructure |
2223
| [Repo](./repo) | Audit and configure repositories — labels, branch protection, milestones, and boards |
@@ -61,6 +62,25 @@ The job library provides:
6162
- **Templates**: Copy and adapt jobs for your own use cases
6263
- **Learning**: Understand the job definition format through real examples
6364

65+
## Output conventions for library jobs
66+
67+
Library jobs that produce durable outputs (reports, research, decisions) should defer to the user's environment for note creation mechanics rather than embedding specific tools or paths.
68+
69+
**Pattern**: Signal the intent, not the mechanism.
70+
71+
- **Do**: "The final report and supporting research are durable notes. If the user has a notes directory, follow its AGENTS.md conventions."
72+
- **Don't**: Embed `zk new reports/ --title ...` commands, specific frontmatter schemas, or directory paths in the job's `common_job_info`.
73+
74+
**Why**: Users have different note-taking setups (zk, Obsidian, plain markdown, no notes repo). The user's notes directory AGENTS.md and their platform conventions (if any) are the source of truth for how to create notes. Library jobs that embed one system's mechanics become non-portable.
75+
76+
**How it works in practice**:
77+
78+
1. The job's `discover_context` step checks `NOTES_DIR` or `ZK_NOTEBOOK_DIR` and reads the AGENTS.md there.
79+
2. The agent's platform conventions (e.g., `process.notes`, `tool.zk-notes`) provide the mechanics for note creation.
80+
3. If no notes directory exists, the job falls back to `.deepwork/tmp/` with plain markdown.
81+
82+
This separation means the same library job works for a Keystone user with a zk notebook, an Obsidian user, or someone with no notes system at all.
83+
6484
## Structure
6585

6686
Each job in this library follows the same structure as the `.deepwork/jobs` subfolders in your local project:

library/jobs/marketing/AGENTS.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Project context for marketing
2+
3+
This is a **library job** -- reusable marketing workflows that any project can adopt.
4+
5+
## Purpose
6+
7+
Marketing workflows for competitive content analysis, content strategy, and campaign
8+
execution. The first workflow (`competitive_content_analysis`) analyzes competitors'
9+
content strategies across channels and produces actionable recommendations.
10+
11+
## Location
12+
13+
This job lives in `library/jobs/marketing/`. It is NOT auto-installed -- users adopt it
14+
via `DEEPWORK_ADDITIONAL_JOBS_FOLDERS`, the `shared_jobs` workflow, or by copying it
15+
into their project's `.deepwork/jobs/` directory.
16+
17+
## Workflows
18+
19+
| Workflow | Steps | Purpose |
20+
|--------------------------------|------------------------------------------------------------------------------------------|----------------------------------------------------------|
21+
| `competitive_content_analysis` | discover_context, research_all_competitors, analyze_patterns, gap_analysis, final_report | Full competitive content analysis with parallel research |
22+
| `research_one_competitor` | gather_content, analyze_content | Deep-dive on a single competitor (sub-workflow) |
23+
24+
## Planned workflows (not yet implemented)
25+
26+
- `campaign_planning` -- strategy through execution
27+
- `content_calendar` -- content calendar across channels
28+
- `seo_audit` -- technical and content SEO audit
29+
- `social_media_strategy` -- platform-specific playbooks
30+
- `email_marketing` -- campaigns and automations
31+
- `launch_comms` -- launch communications coordination
32+
- `analytics_attribution` -- performance and attribution models
33+
34+
## Shared patterns
35+
36+
These steps are designed for reuse across sibling workflows:
37+
38+
- **discover_context**: Project/brand context discovery with output directory inference
39+
- **Competitor identification**: Building and validating competitor lists
40+
41+
## Output conventions
42+
43+
Workflow outputs are durable notes. If the user has a notes directory
44+
(`NOTES_DIR` or `ZK_NOTEBOOK_DIR`), follow its AGENTS.md conventions for note
45+
creation and placement. The final report is a report-type note; supporting
46+
per-competitor research goes as literature notes linked via wikilinks. Fall back
47+
to `.deepwork/tmp/` only if no notes directory exists.
48+
49+
This job does not embed note creation mechanics (zk commands, frontmatter
50+
format, tag conventions) because those vary by user setup. The user's notes
51+
repo AGENTS.md and the agent's platform conventions are the source of truth for
52+
how to create notes. See `process.notes` and `tool.zk-notes` for the canonical
53+
rules if available in the agent's instruction context.
54+
55+
## Quality review learnings
56+
57+
(No learnings recorded yet.)

library/jobs/marketing/CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AGENTS.md

0 commit comments

Comments
 (0)