Marketing Orchestrator Adarsh
Orchestrates marketing audits by running collectors for Instagram, Meta Ads, SEO, competitors, and website audit, then generates a comprehensive report.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 180 · 1 current installs · 1 all-time installs
byAdarsh More@AdarshVMore
duplicate of @AdarshVMore/marketing-orchestrator
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description match the SKILL.md: the skill orchestrates collectors (Instagram, Meta Ads, SEO, competitors, website audit) and then calls a report-generator. It does not ask for unrelated privileges or credentials.
Instruction Scope
Runtime instructions only call other skills via runSkill and aggregate results. The SKILL.md does not instruct reading files, arbitrary env vars, system paths, or sending data to external endpoints beyond invoking other skills. It also documents required input and error handling behavior.
Install Mechanism
No install spec and no code files are included (instruction-only). Nothing is written to disk or downloaded by this skill itself.
Credentials
The skill declares no required env vars or credentials. It notes that the calling framework should handle API keys for external services — which is appropriate for an orchestrator that delegates to collector skills.
Persistence & Privilege
always is false and the skill does not request persistent system-wide changes or modify other skills' configs. It will run only when invoked.
Assessment
This orchestrator itself appears coherent and low-risk, but it delegates work to collector and report-generator skills. Before installing, verify the registry entries and trustworthiness of each referenced sub-skill (instagram-collector, meta-ads-collector, seo-collector, competitor-finder, website-audit, report-generator). Those sub-skills may require API keys or elevated access and could process or exfiltrate sensitive data; confirm what env vars they request and where their outputs are sent. Also confirm the runSkill names resolve to the intended, trusted implementations in your environment. If you allow autonomous invocation, monitor usage and audit aggregated reports for sensitive content being collected or exported.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.1
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Marketing Orchestrator Skill
Purpose
Orchestrates the marketing audit pipeline by sequentially running the following collector agents:
- Instagram Collector
- Meta Ads Collector
- SEO / Keyword Collector
- Competitor Finder
- Website Audit Collector
Aggregates the individual results and invokes the Report Generator skill to produce the final comprehensive marketing audit report.
Input Schema
interface MarketingInput {
instagramHandle?: string;
websiteDomain?: string;
}
Output Schema
interface MarketingAuditReport {
reportMarkdown: string;
rawData: any;
error?: string;
}
Implementation Pattern
- Validate input: either
instagramHandleorwebsiteDomainis required - Sequentially call each collector skill, passing relevant input
- Collect results in a composite data object
- Call report-generator skill with the aggregated data
- Return the final report markdown and raw data
Example Usage
const input = { instagramHandle: 'gymshark', websiteDomain: 'gymshark.com' };
const report = await marketingOrchestrator(input);
console.log(report.reportMarkdown);
Orchestration Logic (Pseudocode)
async function marketingOrchestrator(input: MarketingInput): Promise<MarketingAuditReport> {
if (!input.instagramHandle && !input.websiteDomain) {
throw new Error("Either instagramHandle or websiteDomain is required");
}
const auditData: any = {
input,
collectedAt: new Date().toISOString(),
};
if (input.instagramHandle) {
auditData.instagram = await runSkill('instagram-collector', { handle: input.instagramHandle });
}
if (input.websiteDomain) {
auditData.metaAds = await runSkill('meta-ads-collector', { brandName: input.websiteDomain, domain: input.websiteDomain });
auditData.keywords = await runSkill('seo-collector', { domain: input.websiteDomain });
auditData.competitors = await runSkill('competitor-finder', { brandName: input.websiteDomain, domain: input.websiteDomain });
auditData.websiteAudit = await runSkill('website-audit', { domain: input.websiteDomain });
}
const report = await runSkill('report-generator', auditData);
return {
reportMarkdown: report.reportMarkdown,
rawData: auditData,
};
}
Notes
- Each runSkill call corresponds to invoking another skill as a sub-agent or subprocess.
- The calling framework should handle API keys, env vars for external services.
- Errors in individual collectors should not block the overall orchestration.
- Extend as needed for additional collectors or data sources.
Files
2 totalSelect a file
Select a file to preview.
Comments
Loading comments…
