# Content Creator

> >

- **Type:** Skill
- **Install:** `agentstack add skill-ijonis-geo-lint-content-creator`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [IJONIS](https://agentstack.voostack.com/s/ijonis)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [IJONIS](https://github.com/IJONIS)
- **Source:** https://github.com/IJONIS/geo-lint/tree/main/skills/content-creator
- **Website:** https://ijonis.com

## Install

```sh
agentstack add skill-ijonis-geo-lint-content-creator
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Content Creator

Self-configuring content creation pipeline. Creates SEO & GEO-optimized content
matched to your project and brand voice, then validates with geo-lint until clean.

For project-specific rules (components, file naming, categories), the skill
generates a local `content-config` skill on first use via the `setup` workflow.

## Command Router

Parse `$ARGUMENTS` and route to the matching workflow:

| Argument | Workflow |
|----------|----------|
| `setup` | Auto-discover project, questionnaire, generate content-config |
| `create [blog\|page\|project]` | Full content creation pipeline |
| `voice` | Analyze and configure brand voice |
| `calendar` | Plan monthly content calendar |
| `refresh` | Re-scan project, update content-config |
| _(no args)_ | If no config exists → auto-trigger `setup`. Otherwise show commands. |

## Pre-Flight Check

Before any workflow except `setup`:

1. Check if `.claude/skills/content-config/SKILL.md` exists in the project root.
2. If missing → inform the user: "No project content config found. Running setup first..." Then auto-trigger the `setup` workflow.
3. If found → read it into context and proceed with the requested workflow.

---

## Workflow: setup

Three phases: auto-discover → questionnaire → generate.

### Phase 1: Auto-Discovery

Run these steps silently, collecting results into a discovery report:

**1. Framework Detection**
- Read `package.json` dependencies and devDependencies for: `next`, `astro`, `@astrojs/*`, `gatsby`, `hugo`, `nuxt`, `vite`, `remix`, `@11ty/eleventy`
- Check for config files: `next.config.*`, `astro.config.*`, `nuxt.config.*`, `gatsby-config.*`, `.eleventy.js`
- Record: framework name + version

**2. Content Directories**
- Search for common patterns: `content/`, `src/content/`, `posts/`, `blog/`, `pages/`, `articles/`, `src/pages/`
- If `geo-lint.config.ts` exists → read its `contentPaths`
- Record: all content directories and file extensions (`.md`, `.mdx`, `.astro`, `.html`)

**3. Frontmatter Schema**
- Read 5–10 representative content files across detected directories
- Parse YAML frontmatter (lines between `---` delimiters)
- Compute the union of all field names; classify each as required (present in >80% of files) or optional
- Record: field schema with types inferred from values

**4. Categories**
- Extract unique values from `category` and `categories` frontmatter fields across all content
- Cross-reference with `geo-lint.config.ts` `categories` array if present
- Record: canonical category list

**5. Authors**
- Extract unique `author` values from all content frontmatter
- Record: author names

**6. Locales & i18n**
- Detect from: frontmatter `locale` fields, file naming patterns (`.de.mdx`, `.en.mdx`), directory patterns (`/de/`, `/en/`)
- Check `geo-lint.config.ts` i18n config if present
- Record: locales and default locale

**7. Site URL**
- Check in order: `geo-lint.config.ts` siteUrl → `package.json` homepage → framework config `site`/`url` field
- Record: URL or "not found"

**8. Image Directories**
- Search for: `public/images/`, `static/images/`, `assets/images/`, `src/assets/`
- Record: directories found

**9. Components (MDX projects only)**
- If `.mdx` files exist → scan for JSX component usage patterns (`80% of files, with inferred types]

### Optional Frontmatter
[List fields present in <80% of files]

### Canonical Categories
[Comma-separated list, or "None configured — add to geo-lint.config.ts"]

## File Naming
[Convention discovered — e.g., "kebab-case.mdx" or "slug.de.mdx / slug.en.mdx"]

## Languages
[Locales discovered + default locale, or "Single language"]

## Components
[MDX component names found, or "N/A — no MDX components detected"]

## Content Creation Workflow

1. **Duplicate check** — scan existing content for topic overlap before writing
2. **Keyword research** — use WebSearch, purchase-intent first
3. **Write** — follow schema above, apply brand voice, use components where appropriate
4. **Validate** — run `npx geo-lint --format=json`, filter to new file
5. **Fix all violations** — errors AND warnings, max 5 passes
6. **Cross-link** — add 2-3 internal links, update 1-2 existing posts

New content MUST ship with zero geo-lint violations.

## Validation Commands

npx geo-lint --format=json        # Full project lint (JSON output)
npx geo-lint --root=.             # Full project lint (human-readable)
npx geo-lint --rules              # Show all 92 rules with fix strategies
```

---

## Reference Guides

Load these on demand — do not read them all into context at once:

| Reference | When to load |
|-----------|-------------|
| `references/brand_guidelines.md` | During `setup` (voice selection) and `voice` workflow |
| `references/content_frameworks.md` | During `create` (template selection) |
| `references/social_media_optimization.md` | When creating social media content |
| `assets/content_calendar_template.md` | During `calendar` workflow |
| `scripts/brand_voice_analyzer.py` | During `voice` workflow (optional — requires Python) |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [IJONIS](https://github.com/IJONIS)
- **Source:** [IJONIS/geo-lint](https://github.com/IJONIS/geo-lint)
- **License:** MIT
- **Homepage:** https://ijonis.com

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-ijonis-geo-lint-content-creator
- Seller: https://agentstack.voostack.com/s/ijonis
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
