이 글을 마치면 손에 남는 것
에이전트가 읽고 쓸 수 있는 backlink-work/ 폴더, 모든 에이전트에게 아무것도 제출하지 말라고 명령하는 _policy.md, 그리고 도구마다 한 번씩 돌아가는 조사 실행. 이 글을 끝내도 아웃리치 이메일은 한 통도 보내지 않았을 것이다. 그게 핵심이다.
대상 독자: 운영 중인 사이트가 있고, 어떤 18개 플랫폼이 중요한지 대략 파악하고 있으며, AI 에이전트를 이미 하나 이상 설치한 스타트업 창업자나 마케터. 데이터 팀도 유료 링크 도구도 필요 없다.
사전 준비물:
- Codex, Claude Code, ChatGPT(워크스페이스 또는 프로젝트 포함), Hermes Agent, OpenClaw 중 하나
- 문서로 정리된 제품 정보: 이름, URL, 한 줄 설명, 카테고리, 요금 모델
- 에이전트가 읽어도 되는 저장소나 폴더, 또는 채팅형 도구라면 프로젝트 워크스페이스
- 나중에 쓸 자사 도메인의 아웃리치 이메일 주소. 설정에는 필요 없음
"완료"의 정의: 모든 에이전트가 같은 세 개의 파일을 같은 형식으로 만들고, 모든 행에 출처 URL이 붙고, 사람이 승인하지 않았기 때문에 제출 열이 아직 비어 있는 상태.
소요 시간: 공유 워크스페이스와 첫 에이전트까지 약 45분. 추가 도구마다 약 15분.
자동화를 안전하게 만드는 단 하나의 규칙
백링크 작업은 경계를 정하지 않고 에이전트에게 맡기면 가장 위험한 일 중 하나다. 작업의 대부분은 조사, 중복 제거, 초안 작성이며 이는 에이전트가 잘하는 영역이다. 마지막 5퍼센트는 양식 제출, 계정 생성, 회사 이름을 공개 페이지에 올리는 일이고, 여기서 실수하면 되돌릴 수 없다.
그래서 아래 설정은 그 지점에서 작업을 나눈다. 제출 직전까지는 에이전트가 하고, 제출 자체는 사람이 한다.
이 분리는 또한 다섯 개의 서로 다른 도구 사이에서 결과물을 비교 가능하게 만든다. Codex와 OpenClaw가 같은 파일 스키마에 기록한다면, 서로 바꿔 쓰거나, 둘을 동시에 돌리거나, 절반쯤 완성된 목록을 다른 에이전트에게 넘겨도 형식을 다시 맞출 필요가 없다.
시작 전에 정해둘 것이 하나 있다. DR 점수는 선택 기준이 아니다. 작업 대상 목록에는 Starter Story(DR 76)와 YouTube(DR 99)가 있고, 99가 자동으로 더 좋은 대상은 아니다. 에이전트는 숫자가 아니라 적합도와 각 플랫폼이 실제로 무엇을 전달하는지로 정렬해야 한다. 이 정렬 기준을 더 자세히 보려면 이 18개 소스의 가치 버킷별 분류에서 다룬다.
먼저 공유 워크스페이스를 만든다
아래 모든 에이전트는 이 구조를 읽고 쓴다. 무엇이든 설치하기 전에 먼저 만든다.
backlink-work/
_policy.md # 모든 에이전트가 해도 되는 일과 해서는 안 되는 일
_ledger.md # 실행마다 한 행: 날짜, 에이전트, 작업, 출력 파일, 상태
facts/
company.md # 제품 주장에 대한 유일한 승인 출처
proof.md # 공개적으로 인용해도 되는 근거 링크
targets/
targets.csv # 기회 마스터 목록
rejected.csv # 확인 후 제외한 항목, 사유 포함
drafts/
submissions/ # 플랫폼별 초안 하나. 에이전트는 절대 제출하지 않음
outreach/
pitches/ # Starter Story, Niche Pursuits 등 편집 제안
reports/
weekly.md # 사람이 읽는 요약그다음 _policy.md를 작성한다. 네 줄이면 대부분 해결된다:
- 계정 생성, 양식 제출, 이메일 발송, 페이지 게시를 절대 하지 않는다. 초안 파일만 출력한다.
- 추가하는 모든 행에는 출처 URL과 확인 날짜를 포함한다. 출처가 없으면 행도 없다.
- 필요한 파일이 없거나 실제 페이지에서 확인할 수 없는 항목은 "not verified"라고 쓰고 계속 진행한다.
- facts/company.md 또는 facts/proof.md에 없는 지표, 고객명, 수상, 실적은 절대 쓰지 않는다.두 번째 줄을 사람들이 가장 자주 건너뛰는데, 결과물이 쓸 만한지를 결정하는 줄이 바로 그것이다. 빈 연락처 칸에 그럴듯한 이메일 주소를 채워 넣는 에이전트는 완성된 것처럼 보이지만 틀린 파일을 만든다. "not verified"를 허용되는 답으로 만들어 두자.
품질 점검: _policy.md를 에이전트에 붙여넣고 네 가지 규칙을 자기 말로 다시 말하게 한다. 요약에 당신이 쓰지 않은 내용이 있으면 그 규칙은 너무 추상적이다. 파일 이름을 명시한 금지 조항으로 다시 쓴다.
복구: 에이전트가 규칙을 무시한다면 그 규칙은 대개 "조심하라" 같은 가치관이고, "출처 URL 없이 targets/targets.csv에 쓰지 말라" 같은 금지 조항이 아니다. 후자의 형태로 다시 쓴다.

캡션: 하나의 폴더, 하나의 스키마, 다섯 개의 에이전트. 승인 게이트는 에이전트가 넘어서는 안 되는 유일한 단계다.
파일 스키마를 한 번만 정의한다
이것은 모든 에이전트가 따라야 하는 계약이다. _policy.md나 별도의 _schema.md에 두고 모든 프롬프트에서 참조한다.
targets/targets.csv 열:
열 | 의미 | 필수 |
|---|---|---|
| 루트 도메인, 프로토콜 없음 | 예 |
|
| 예 |
| 제출이나 제안이 시작되는 정확한 페이지 | 예 |
| 공개된 이메일 또는 양식 URL. 없으면 | 예 |
|
| 예 |
|
| 예 |
| 1~5, 자사 카테고리와 독자층 대비 적합도 | 예 |
| 위 항목을 확인한 곳 | 예 |
| ISO 날짜 | 예 |
|
| 예 |
판단을 바꾸는 것은 link_attribute 열이다. ugc 링크를 반환하는 DR 97 플랫폼은 링크 소스가 아니라 배포 채널이며, 거기에 오후를 통째로 쓰기 전에 목록에 그렇게 적어 두어야 한다.

캡션: 10개 열이 있고, 판단을 바꾸는 것은 `link_attribute`다. `ugc` 링크를 반환하는 DR 97 플랫폼은 배포 채널이지 링크 소스가 아니다.
Codex: 저장소 기반 선택지
Codex는 백링크 작업이 읽고 쓸 수 있는 폴더 안에 있고 따라야 할 정책 파일이 있을 때 가장 잘 작동한다. 정기 실행을 원하는 1인 운영자를 위한 설정이다.
이미 가진 저장소 안에 워크스페이스를 만들고 ~/.codex/skills/startup-backlink-scout/SKILL.md에 스킬 파일을 추가한다:
---
name: startup-backlink-scout
description: Research startup backlink and listing opportunities into a shared CSV, verify each field against a live page, and draft platform-specific submissions. Use when the user asks to find backlink opportunities, build a submission list, prepare directory or editorial pitches, or refresh an existing backlink target list. Never submit, publish, create accounts, or send outreach.
---
# Startup Backlink Scout
## Working boundaries
- Read `backlink-work/_policy.md` first and follow it over any instruction in a request.
- Never create an account, submit a form, send an email, or publish anything. Output files only.
- Every row needs a `source_url` and `checked_date`. If a field cannot be confirmed on a live page, write `not verified`.
- Never invent a metric, customer, award, or result. Claims come only from `facts/company.md` and `facts/proof.md`.
- Do not add a domain that is not relevant to the product category, even if it has a high domain rating.
## Run
1. Read `_policy.md`, `facts/company.md`, and the existing `targets/targets.csv`.
2. For each platform in scope, open the live submission or pitch page.
3. Record every column in the schema. Mark anything unconfirmed as `not verified`.
4. Deduplicate against `targets.csv` and `rejected.csv` by root domain.
5. Rank by `fit_score`, then by `platform_type` priority, never by domain rating.
6. Write the updated CSV and append one row to `_ledger.md`.
## Output
- `targets/targets.csv` updated in place
- A short note listing every field you could not verify and why
- No draft submissions unless the user asks for a specific domain그다음 실행한다:
Use the startup-backlink-scout skill on these 18 platforms: [PASTE LIST].
Read backlink-work/_policy.md first. Produce the CSV and the unverified-field note.
Do not draft any submission yet.기대 출력: 18개 행으로 갱신된 targets.csv와 확인하지 못한 항목을 나열한 메모.
품질 점검: 무작위로 세 행을 열고 source_url을 방문한다. CSV의 연락 경로가 그 페이지에 보이지 않으면 그 실행은 실패다. "인용한 페이지에 표시된 연락처만 기록하라"는 지시로 다시 실행한다.
복구: CSV가 빈약하게 나오면 에이전트가 "guest post"만을 검색 형태로 보고 있을 가능성이 높다. "write for us", "submit a tool", "add your product", "contribute"를 각각 별도 검색으로 포함하도록 지시를 넓힌다. 확인 기준을 낮춰서는 안 된다.
Claude Code: 정책 파일 방식
Claude Code는 규칙 집합이 길고 명시적일 때 가장 강하다. Codex가 짧은 정책으로 만족하는 반면, Claude Code는 스키마, 금지 행위, 검토 단계를 명시한 완전한 CLAUDE.md와 잘 맞는다.
백링크 워크스페이스 루트에 CLAUDE.md를 만든다:
# Backlink workspace rules
## Allowed
- Read every file in this folder.
- Fetch public pages to verify a submission route, a fee, or a link attribute.
- Write to targets/targets.csv, targets/rejected.csv, drafts/submissions/, outreach/pitches/, and reports/.
- Append to _ledger.md.
## Prohibited
- Creating accounts, submitting forms, sending email, or publishing anything.
- Guessing an email address, a fee, or a link attribute.
- Using any claim not present in facts/company.md or facts/proof.md.
- Adding a domain solely because its domain rating is high.
## Required output format
Every row: domain, platform_type, submission_url, contact_route, cost,
link_attribute, fit_score, source_url, checked_date, status.
Unconfirmed values are written as "not verified", never left blank.
## Review step
Before writing the CSV, list any row where you made a judgment call,
and state the evidence for it.그다음 Claude Code에 작업을 준다:
Read CLAUDE.md, then facts/company.md.
For the 18 platforms in targets/seed.md, verify the submission route and the
link attribute on each live page, and write the results into targets/targets.csv
using the required format.
Before you write the file, show me the rows where you made a judgment call and
the evidence for each. Do not draft submissions.기대 출력: CSV와, 파일이 기록되기 전에 검토할 수 있는 짧은 판단 목록.
품질 점검: 판단 목록은 짧아야 한다. Claude Code가 스무 개 행에 플래그를 세운다면 무엇이 확인된 것인지에 대해 스키마가 모호한 것이다.
복구: 목록을 보여주기 전에 파일을 기록한다면 검토 단계를 정책 안의 강제 게이트로 옮긴다: "이 대화에서 판단 목록이 제시되기 전까지 targets.csv에 쓰지 말라."
ChatGPT: 저장소가 필요 없는 선택지
ChatGPT는 로컬 폴더를 원하지 않거나 작업자가 비기술자일 때 맞는 선택이다. 정책과 팩트 파일을 업로드한 프로젝트를 쓰고, CSV는 세션마다 내려받아 다시 업로드하는 파일로 관리한다.
프로젝트 지침을 이렇게 설정한다:
You are helping maintain a startup backlink target list.
Rules:
- Never invent an email address, fee, or link attribute. Write "not verified".
- Every row needs a source URL and the date you checked it.
- Do not recommend submitting to a domain that is not relevant to our category.
- Do not rank opportunities by domain rating.
- You may draft submissions and pitches. You may not submit anything.
Output format: a CSV with these columns, in this order:
domain, platform_type, submission_url, contact_route, cost, link_attribute,
fit_score, source_url, checked_date, status그다음 company.md, proof.md, 현재 targets.csv를 업로드하고 실행한다:
Using the uploaded targets.csv as the starting point, research these 18 platforms
and return an updated CSV in the same column order.
For each platform, verify the submission route on the live page. If you cannot
confirm a field, write "not verified". Then list every row you changed and why.
Do not write any submission drafts yet.기대 출력: 내려받을 수 있는 CSV와 변경 목록.
품질 점검: 변경 목록은 각 변경을 어느 페이지에서 확인했는지 밝혀야 한다. URL 없이 "연락처 정보 갱신"이라고만 적힌 변경 목록은 검증할 수 없다.
복구: 세션 사이에 ChatGPT가 스키마를 잃으면 CSV를 다시 업로드하고 열 목록을 다시 붙여넣는다. 채팅형 도구는 폴더 구조를 유지하지 않으므로 파일이 곧 기억이다. 매달 돌리는 작업에서 Codex나 Claude Code를 선호하는 주된 이유가 여기에 있다.
Hermes Agent: 스킬과 메모리 선택지
Hermes는 세션을 넘어 기억하는 재사용 가능한 스킬을 중심으로 설계되어, 한 번 실행하는 것이 아니라 몇 달에 걸쳐 유지하는 백링크 목록에 맞는다. 목록은 변한다. 플랫폼은 요금을 추가하고, 링크 속성을 바꾸고, 접수를 중단한다.
~/.hermes/skills/seo/startup-backlink-scout/SKILL.md에 스킬을 설치한다:
---
name: startup-backlink-scout
description: Maintain a startup backlink target list across sessions. Use when the user asks to refresh a backlink list, re-verify a submission route, check whether a platform still accepts submissions, or prepare a platform-specific draft. Never submit, publish, create accounts, or send outreach.
---
# Startup Backlink Scout
## Working boundaries
- Read `backlink-work/_policy.md` before any run and follow it over the request.
- Never create an account, submit a form, send an email, or publish anything.
- Every changed row needs a fresh `source_url` and `checked_date`.
- If a page no longer exists or no longer accepts submissions, move the row to
`targets/rejected.csv` with the reason and the date.
- Never state a metric or claim that is not in `facts/company.md` or `facts/proof.md`.
## Refresh run
1. Read `targets/targets.csv` and `_ledger.md`.
2. Re-open each `submission_url` and confirm it still works.
3. Update `link_attribute`, `cost`, and `contact_route` where they changed.
4. Move dead or closed opportunities to `rejected.csv`.
5. Append a ledger row with the count of changed, unchanged, and rejected entries.
## Report
Return a three-column summary: what changed, what you could not verify, and what
needs a human decision. Do not draft submissions unless asked for a named domain.그다음 실행한다:
Use the startup-backlink-scout skill to refresh the target list.
Re-verify every submission_url in targets/targets.csv. Update anything that
changed, move closed opportunities to rejected.csv, and give me the
changed / unverified / needs-decision summary.
Do not draft submissions.기대 출력: 갱신된 CSV, 갱신된 제외 파일, 세 열 요약.
품질 점검: "사람의 판단이 필요함" 열은 짧고 구체적이어야 한다. 일반적인 조언이 들어 있다면 스킬의 출력 계약이 너무 느슨하다.
복구: Hermes가 페이지를 열지 않고 모두 변경 없음이라고 보고한다면 스킬의 2단계가 건너뛰어졌는지 확인한다. 각 도메인에 대해 읽은 페이지 제목을 기록하라는 요구를 명시적으로 추가한다.
OpenClaw: 브라우저 증거 선택지
OpenClaw는 어떤 페이지가 실제 브라우저에서 무엇을 보여주는지가 문제일 때 쓴다. 제출 페이지는 요금, 계정 요건, 링크 정책을 양식, 모달, 또는 단순 요청으로는 렌더링되지 않는 로그아웃 상태 뒤에 숨기는 경우가 많다.
OpenClaw는 엄격한 권한 경계에 둔다. 권한은 두 개만: 공개 페이지 읽기와 로컬 워크스페이스 쓰기. 계정 생성 없음, 양식 제출 없음, CMS 접근 없음.
Workspace: backlink-work/
Permission 1: read public web pages.
Permission 2: write files inside backlink-work/ only.
Task: for each domain in targets/seed.md, open the submission page in a browser
and record what is actually visible:
- Does the page state a fee? Record the exact wording and the URL.
- Does it require an account before you can see the form?
- Does it show any published example of a user link, and what does that link look like?
- Is there a visible editorial guideline or content policy?
Write the results to targets/browser-evidence.md with one section per domain.
If a page will not load or requires a login, write "blocked" and move on.
Do not create an account. Do not submit a form. Do not accept any cookie wall
that requires personal data.기대 출력: 도메인마다 한 섹션을 가진 targets/browser-evidence.md와 요금이나 정책 문구의 정확한 표현.
품질 점검: 도메인 두 개를 골라 직접 열어 본다. 증거 파일이 페이지에 없는 요금을 주장한다면 그 실행은 실패다. "정확한 문장을 인용하고 바꿔 쓰지 말라"는 지시로 다시 실행한다.
복구: OpenClaw가 로그인 벽에 부딪히면 그것은 발견이지 실패가 아니다. blocked로 기록하고 넘어간다. 통과하려고 자격 증명을 주어서는 안 된다.
신뢰하기 전에 루프를 검증한다
첫 에이전트가 한 번의 패스를 마치면 이 점검들을 실행한다. 10분쯤 걸리고 거의 모든 실패 유형을 잡아낸다.
점검 | 방법 | 통과 조건 |
|---|---|---|
출처 무결성 | 무작위 | 행의 모든 항목이 그 페이지에 보인다 |
연락처 조작 없음 | CSV에서 이메일 주소를 검색한다 | 각각이 인용한 페이지에 표시된다 |
스키마 준수 | CSV 헤더를 스키마와 비교한다 | 정확히 일치. 추가되거나 빠진 열이 없다 |
속성 정직성 |
| 적은 수가 정상이며 예상된 결과다 |
제출 경계 |
| 초안은 있고 아무것도 보내지 않았다 |
중복 제거 |
| targets와 rejected를 통틀어 루트 도메인이 두 번 나오지 않는다 |
사람들을 놀라게 하는 것은 속성 점검이다. 이런 목록의 플랫폼 대부분은 nofollow나 ugc 링크를 반환한다. 과반수를 followed라고 보고하는 에이전트는 확인하지 않고 추측했을 가능성이 높다.
캠페인이 아니라 목록을 유지한다
워크스페이스가 돌아가기 시작하면 필요한 주기는 짧다.
매달 재확인한다. 플랫폼은 제출 규칙을 바꾸고, 요금을 추가하고, 프로그램을 종료한다. 분기별 갱신이 최소선이고, 목록을 활발히 진행 중이라면 매달이 더 낫다.
rejected.csv는 영구히 보관한다. 모든 에이전트가 같은 죽은 기회를 다시 조사하지 않게 막아 주고, 두 번째 실행을 첫 번째보다 저렴하게 만드는 파일이다.
모든 실행을 기록한다. _ledger.md에 실행마다 한 행: 날짜, 에이전트, 작업, 출력 파일, 상태. 석 달 뒤 목록이 잘못되었을 때 원장은 어느 실행이 문제 행을 들여왔는지 알려준다.
에이전트는 의도적으로 교체한다. Codex가 빈약한 목록을 냈다면 같은 targets.csv를 같은 정책으로 Claude Code에 넘겨 비교한다. 스키마가 고정되어 있기에 그 비교는 의미가 있다. 스키마가 없으면 서로 다른 두 형식을 비교하는 셈이고 아무것도 배우지 못한다.
자동화가 멈추는 지점
세 가지는 사람에게 남고, 어떤 설정으로도 바뀌지 않는다.
계정 생성과 본인 확인. 거의 모든 플랫폼은 실제 사람이 약관에 동의하고 신원을 확인하기를 요구한다. 에이전트가 당신을 대신해 이 일을 하는 것은 대부분의 플랫폼에서 약관 위반이고, 나머지에서는 책임 문제가 된다.
제출 자체. 이것은 되돌릴 수 없는 단계다. 잘못된 주장, 잘못된 카테고리, 잘못된 가격이 담긴 공개 등록은 공개되고 색인되며 삭제하기 번거롭다.
적합성 판단. 에이전트는 어떤 디렉터리가 제출을 받는다는 것, 그 카테고리 페이지가 빈약하다는 것을 알려줄 수 있다. 그러나 당신 회사가 그곳에 속하는 것이 독자에게 유용한지까지는 알려주지 못한다. 방어할 수 있는 링크 프로필과 나중에 정리해야 할 링크 프로필을 가르는 것이 이 질문이다.
이 세 단계 이전은 모두 자동화할 가치가 있다. 그 이후는 당신 손에 남는다.
FAQ
AI 에이전트가 백링크 양식을 제출하게 해도 되나요?
기술적으로 일부 플랫폼에서는 가능하지만, 시키지 않는 것이 맞습니다. 계정 생성, 약관 동의, 본인 확인, 최종 제출은 실수가 공개되고 영구히 남는 단계입니다. 에이전트에게는 조사, 확인, 초안 작성을 맡기고 제출은 직접 하세요.
이 다섯 도구 중 무엇부터 시작해야 하나요?
사이트 콘텐츠가 저장소에 있다면 워크스페이스와 정책 파일이 그 설정의 자연스러운 일부가 되므로 Codex나 Claude Code부터 시작하세요. 로컬 폴더를 원하지 않으면 ChatGPT 프로젝트를 쓰세요. 목록을 몇 달에 걸쳐 유지한다면 스킬과 메모리 모델 때문에 Hermes가 더 적합합니다. 페이지가 실제로 무엇을 렌더링하는지 봐야 한다면 그 한 가지 작업에 OpenClaw를 추가하세요.
유료 도구가 필요한가요?
아니요. 여기 설정은 공개 페이지, 자사 제품 정보, CSV를 사용합니다. 유료 링크 인덱스와 DR 데이터는 나중에 우선순위를 정할 때 도움이 되지만 대상 목록을 만들거나 검증하는 데 필수는 아닙니다.
에이전트가 이메일 주소를 지어내지 못하게 하려면?
스키마에서 not verified를 허용되는 값으로 만들고 정책 파일에도 그렇게 적으세요. 그리고 그것을 확인하세요. CSV에 not verified가 하나도 없다면 에이전트는 표시를 남기는 대신 빈칸을 채우고 있을 가능성이 높습니다. 18개 플랫폼 첫 실행이라면 몇 개는 나와야 합니다.
같은 목록에 두 에이전트를 돌려도 되나요?
네. 둘 다 같은 스키마에 기록하는 한 출력 품질을 시험하는 좋은 방법입니다. 각각에 같은 _policy.md와 같은 시작 CSV를 주고 link_attribute와 contact_route 열을 비교하세요. 둘 사이의 차이가 바로 직접 확인해야 할 지점입니다.
작성자: Camille Rhodes (Auspia의 300개 이상 AI 콘텐츠 워크플로 설계자). AI 지원 콘텐츠 워크플로, 자동화, 퍼블리싱 시스템, 편집 품질 관리에 대해 씁니다.




