Atlas / Skills / yester21 / AI-Auto-Poster-Skills

AI-Auto-Poster-SkillsSAFE

skills/yester21/ai-auto-poster-skills

AI 오토포스터 WordPress 플러그인용 에이전트 스킬 — 한국어 SEO 글쓰기 구조, H태그 규칙, AI 슬롭·번역체 제거, 발행 전 검증.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
0.1.0
Hosts
2 documented
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

한국어 SEO 글쓰기 스킬 — AI 오토포스터(WordPress 플러그인)의 MCP 능력을 사용한다.

글쓰기 지식(스킬)과 실제 기능(WordPress 능력)을 분리한 구조다. 규칙이 바뀌어도 서버만 고치면 되고, 스킬은 그 사용법을 안내한다.

이 스킬 패키지는 0.1.0 초기 개발판이다. 변경 내역은 CHANGELOG 참조.
서버가 진실이다. 스킬의 규칙은 서버(aiap/get-writing-guide)와 같은 내용이며, 발행 시점에 서버가 독립적으로 다시 검사한다. 스킬을 건너뛰어도 발행되지 않는다.

스킬

사전 요구사항

  1. AI 오토포스터 플러그인 필요 (0.1 이상, WordPress 에 설치·활성화)
  2. MCP Adapter 플러그인 활성화
  3. WordPress 6.9+ (Abilities API 내장)
  4. SERP API 키 — Serper 권장 (실측 KD 용). 없으면 analyze-keyword 가 오류를 반환한다

설치 상태는 aiap/list-ability-status 로 확인할 수 있다. 비어 있으면 워드프레스 관리자 AI 오토포스터 > AI 연결 화면에서 어느 요건이 빠졌는지 확인한다.

가장 쉬운 설치: AI 연결 > 스킬 탭의 설치 프롬프트를 복사해 AI 클라이언트에 붙여 넣는다. 저장소에 닿지 않는 클라이언트는 연결된 사이트의 aiap/get-skill-package 능력으로 받는다 (사이트에 설치된 플러그인과 같은 버전).

설치

Claude Code

/plugin marketplace add yester21/ai-auto-poster-skills
/plugin install ai-auto-poster@ai-auto-poster-skills

또는 설정에 직접 등록:

{
"extraKnownMarketplaces": {
"ai-auto-poster-skills": {
"source": { "source": "github", "repo": "yester21/ai-auto-poster-skills" }
}
},
"enabledPlugins": {
"ai-auto-poster@ai-auto-poster-skills": true
}
}

수동 설치

skills/ 아래 디렉터리를 에이전트의 스킬 디렉터리에 복사한다.

~/.claude/skills/aiap-write/
~/.codex/skills/aiap-write/
~/.agents/skills/aiap-write/

MCP 연결

WordPress:  https:///wp-json/mcp/mcp-adapter-default-server
OAuth:      https:///.well-known/oauth-authorization-server   (PKCE S256)

WordPres

Read from source at commit 3d06c55ec449OBSERVED · 2026-10-12
02

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
03

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: aiap-cluster
description: "Plan and draft a pillar + cluster content set (필러 콘텐츠와 클러스터 콘텐츠) for a WordPress site using the AI Auto Poster abilities: split a seed keyword into one pillar and a few cluster keywords, reject keywords with the same search intent (measured SERP overlap), create all posts as drafts, and connect pillar↔cluster internal links. A human reviews and publishes. Use when the user says 필러 콘텐츠, 클러스터 콘텐츠, 토픽 클러스터, 주제 묶음, 허브 글, 연관 글 여러 개 만들어 줘, pillar page, topic cluster, cornerstone."
license: MIT
metadata:
  author: 김대리닷넷
  version: "0.1.0"
allowed-tools: Read Write Edit Grep Glob AskUserQuestion
---

# aiap-cluster: 필러·클러스터 초안 만들기

필러 1개(주제 전체를 다루는 글)와 클러스터 몇 개(하위 질문 하나씩)를 **초안으로** 만들고 서로 링크한다.
**발행은 사람이 한다.** 이 스킬은 발행하지 않는다.

## 먼저 알아 둘 것 — 공식 근거와 한계

- 필러·클러스터는 네이버·구글 공식 문서에 없는 업계 용어다. **순위가 오른다고 약속하지 마라.**
  네이버는 사이트 안 링크 10개보다 외부 사이트 10곳의 언급이 신뢰도에 유리하다고 적었다.
- 공식 근거는 두 가지뿐이다.
  - 네이버 「콘텐츠 작성시 권장 사항」 2: 전체 콘텐츠의 절반 이상을 핵심 주제로
  - 네이버 「웹 콘텐츠 스팸사례」 저품질 콘텐츠 대량 생성, 구글 스팸 정책 scaled content abuse·doorway
    → **같은 의도의 글을 여러 개 만들지 않는다. 한꺼번에 많이 만들지 않는다.**
- 필러 개수 제한은 없다. 묶음마다 필러 1개다.
- 묶음당 클러스터 상한(기본 5)·의도 겹침 기준(상위 10개 중 4개)·필러 글자수는 **플러그인 기준**이다.

## 흐름

```
1. aiap/discover-keywords        후보 모으기
2. aiap/analyze-keyword          후보 실측 (KD·권장 글자수)
   (선택) kdr-seo/keyword-volume 네이버 월간 검색량 — KDR SEO 가 있고 키가 설정된 경우
   aiap/search-content           필러로 쓸 기존 페이지(서비스 소개 등)·겹치는 기존 글 찾기
3. 필러 1개 + 클러스터 N개 고르기  ← 여기서 사용자에게 확인받는다
4. aiap/check-keyword-overlap    같은 검색 의도 키워드 합치기
5. aiap/create-cluster           묶음 저장 → clusterId
6. aiap/create-post × (1+N)      초안 (clusterId·clusterRole·focusKeyword)
7. aiap/link-cluster             링크 자리 연결 → complete 확인
8. aiap/get-cluster              게이트·링크·KDR 점수 보고 (KDR SEO 가 있으면 글마다 kdr.requiredFailures 를 0 으로)
9. 사용자에게: "관리자 > AI 오토포스터 > 클러스터 에서 검수하고 예약 발행하세요"
```

### 3. 고르기

- **필러**: 주제를 대표하는 넓은 키워드. 사이트 핵심 주제(가장 많은 카테고리) 안에 있어야 한다.
  - 필러는 **글 또는 페이지**다. 회사·가게 사이트처럼 서비스 소개 페이지가 이미 있으면
    **새로 쓰지 말고 그 페이지를 필러로 지정한다** (`aiap/search-content` 로 찾고 사용자에게 확인).
  - 필러를 새로 쓸 때, 블로그 글이 아니라 사이트의 대표 안내가 맞으면 `postType: "page"` 로 만든다.
- **클러스터**: **글(post)만.** 필러 안의 하위 질문 하나씩. "방법", "비용", "준비물", "초보 루틴"처럼 **답이 다른 질문**이어야 한다.
  단어만 바꾼 변형(“홈트 루틴” / “홈트레이닝 루틴”)은 같은 글이다.
- 클러스터는 적게 시작한다 (3~5개). 상한을 넘기면 `create-cluster` 가 거부한다.
- 고른 목록을 사용자에게 보여 주고 확인받은 뒤 진행한다.

### 4~5. 의도 겹침과 묶음 저장

```
aiap/check-keyword-overlap { keywords: ["홈트레이닝", "홈트 초보 루틴", "홈트 준비물", ...] }
→ { groups: [ ["홈트 초보 루틴", "홈트 루틴 초보"] ], pairs: [...] }
```

`groups` 에 들어간 키워드끼리는 한 글로 합친다 (대표 하나만 남긴다).
`create-cluster` 는 SERP 가 설정돼 있으면 같은 검사를 다시 하고, 겹치면 **거부**한다 (`aiap_same_intent`).

```
aiap/create-cluster {
  topic: "홈트레이닝",
  pillarKeyword: "홈트레이닝",
  clusterKeywords: ["홈트 초보 루틴", "홈트 준비물", "홈트 다이어트 효과"],
  categoryId: 3
}
→ { id: "c_1a2b3c4d5e", warnings: [...], site_focus: {...} }
```

`warnings` (주제 집중도, SERP 미설정)는 **사용자에게 그대로 전한다.**

기존 페이지를 필러로 쓸 때:

```
aiap/create-cluster {
  pillarPostId: 12,                    ← 서비스 소개 페이지 ID
  pillarKeyword: "홈트레이닝 PT",        ← 생략하면 그 페이지의 포커스 키워드
  clusterKeywords: [...]
}
→ { id, pillar_next: "필러 페이지에 '이 주제의 글' 블록이나 [aiap_cluster] 숏코드를 넣으세요" }
```

- 지정한 페이지는 **사람이 만든 콘텐츠**다. 고치지 않고, 게이트·검수 대상도 아니다. 이 묶음에서는 필러 초안을 만들지 않는다.
- 필러 → 클러스터 링크는 서버가 넣지 못한다 (빌더 페이지는 본문이 빌더 데이터에 있다).
  `pillar_next` 안내를 **사용자에게 그대로 전한다**: 페이지에 "이 주제의 글 (필러·클러스터)" 블록,
  또는 빌더의 숏코드 요소에 `[aiap_cluster id="c_..." title="이 주제의 글"]` 를 넣으면 발행된 클러스터가 자동으로 나열된다.
- 클러스터 → 필러 링크는 새 글과 똑같이 `<a data-aiap-link="pillar">` 자리로 둔다.

### 6. 초안

필러부터 쓴다. 모든 글은 `aiap-write` 규칙을 따르고 `aiap/check-content-quality` 로 검사한다.

```
aiap/create-post {
  title, content, status: "draft",
  focusKeyword: "홈트레이닝",          ← 계획의 키워드와 같아야 한다 (띄어쓰기 무시)
  metaDescription: "...",
  clusterId: "c_1a2b3c4d5e",
  clusterRole: "pillar"               ← 클러스터 글은 "cluster"
}
```

- 묶음 글은 `draft` 로만 만들 수 있다.
- 필러를 페이지로 새로 쓸 때는 `postType: "page"` (카테고리·태그는 페이지에 붙지 않는다). 클러스터에 page 를 주면 거부된다.
- 필러의 권장 글자수는 한 단계 위다 (1200→1800, 1800→2600, 2600→3400). 응답의 `cluster.targetChars` 를 따른다.
- `categoryId` 를 묶음에 줬으면 글에 따로 넘기지 않아도 그 카테고리로 들어간다.

#### 링크 자리

다른 묶음 글로 가는 링크는 **주소를 쓰지 말고 자리만 둔다.** 아직 주소가 없기 때문이다.

```html
<a data-aiap-link="pillar">홈트레이닝 전체 가이드</a>
<a data-aiap-link="홈트 준비물">준비물 정리</a>
```

| 글 | 넣을 링크 |
|---|---|
| 필러 | 모든 클러스터로 하나씩, 문맥에 맞는 문단 안에 |
| 클러스터 | 필러로 하나 (도입부나 결론). 다른 클러스터로는 필요할 때만 |

앵커 텍스트는 대상 글을 설명하는 말로 쓴다 ("여기", "자세히" 금지 — 네이버·구글 공통).

### 7. 연결

```
aiap/link-cluster { clusterId }
→ { complete: true|false, clusters: [ {keyword, links_to_pillar, pillar_links_here} ], not_created: [], unresolved: {} }
```

- `complete: false` 면 빠진 링크를 `aiap/update-post` 로 넣고 다시 연결한다.
- `unresolved` 는 계획에 없는 키워드로 둔 자리다. 키워드를 고친다.
- 연결되지 않은 자리가 남으면 발행 게이트 `links_resolved` 가 발행을 막는다.
- 발행되지 않은 글로 가는 링크는 방문자에게 글자로만 보이고, 그 글이 발행되면 링크가 된다. 발행 순서는 신경 쓰지 않아도 된다.

### 9. 넘기기

발행하지 마라. 사용자에게 다음을 알린다.

- 만든 글 목록 (역할·키워드·게이트 등급)
- 검수 화면: **관리자 > AI 오토포스터 > 클러스터**
- 검수할 때 확인할 것: 수치·사실, **운영자의 경험·관점 추가** (네이버: AI 생성 콘텐츠를 그대로 게시하지 말 것), 클러스터끼리 내용 중복
- 검수 표시한 글만 예약 발행할 수 있고, 검수 뒤에 에이전트가 글을 고치면 표시가 지워진다

## 하지 말 것

- 계획에 없는 키워드로 글을 늘리기 — `create-post` 가 거부한다
- 같은 의도의 키워드를 단어만 바꿔 여러 글로 만들기
- 링크 주소를 직접 쓰기 (`?p=123`, 추측한 고유주소)
- `aiap/publish-post` 로 묶음 글 발행 — 검수 표시가 없으면 거부된다
- "상위노출", "순위 상승" 같은 약속
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 3d06c55ec449full audit observations/trust-audit/skill/yester21__ai-auto-poster-skills.json · Report an issue / request a re-scan
05

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-123d06c55ec449SAFEB89first audit
06

Questions

What does the AI-Auto-Poster-Skills skill do?

AI 오토포스터 WordPress 플러그인용 에이전트 스킬 — 한국어 SEO 글쓰기 구조, H태그 규칙, AI 슬롭·번역체 제거, 발행 전 검증.

Is AI-Auto-Poster-Skills safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can AI-Auto-Poster-Skills access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does AI-Auto-Poster-Skills work with?

Its documentation mentions claude-code and codex. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (3d06c55ec449), read on 2026-10-12. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement