AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Content Creator

skill-ijonis-geo-lint-content-creator · by IJONIS

>

No reviews yet
0 installs
39 views
0.0% view→install

Install

$ agentstack add skill-ijonis-geo-lint-content-creator

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-ijonis-geo-lint-content-creator)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
6mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Content Creator? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.