버전 1.008.
페이지 텍스트를 프롬프트로
목적
스크립트는 1개의 웹 페이지를 읽고 그 카피를 후보 블록으로 자릅니다. 사용자가 짧은 판단 파일을 작성하면, 빌드가 블록당 프롬프트와 측정된 예시로 변환합니다. 텍스트 전용: 1개의 공개 페이지, 데스크톱, 로그인 불필요, 캡차 우회 금지, 이미지 내 텍스트 미지원.
요구 사항
- Node 22 이상. 설치 불필요, API 키 불필요. 이 스킬의 폴더에서
dist/디렉토리의 스크립트를 실행합니다. - 셸에서 네트워크 접근 가능.
규칙
- R1. 사용자에게 먼저 아무것도 묻지 마십시오. URL만으로 충분합니다.
- R2. 고유한 표현. 작성하는 어떤 줄도 페이지의 6개 연속 단어를 반복해서는 안 됩니다(대소문자 및 구두점 무시,
overlap). 이는 모든 필드와 모든 예시에 적용됩니다. - R3. 사이트의 브랜드를 명명하지 마십시오: 도메인 이름,
og:site_name(brand). 페이지의 어떤 이름도 사용하지 마십시오. - R4.
analysis.md및 모든 입력 파일은 셸 heredoc 대신 파일 쓰기 도구로 작성하십시오. 도구가 거부하는 경우(일부 환경에서는 서브에이전트가.md파일을 거부함), 다른 이름으로 파일을 작성하고cp로 복사하십시오. - R5. 스크립트의 작업을 수동으로 다시 생성하지 마십시오. 단어나 문자 수를 세지 마십시오. 프롬프트를 작성하지 마십시오.
- R6. 사실을 발명하지 마십시오. 러시아어 텍스트를 작성하지 마십시오. 스크립트는 어떤 모델도 호출하지 않습니다.
절차
아래의 모든 경로는 쓰기 가능한 곳이면 어디든 지정할 수 있습니다. work/는 기본값이지 규칙이 아닙니다.
- 읽기 (스크립트).
node dist/read.mjs <url> --out work/page.json- 옵션:
--no-render(소스 HTML만),--lang <코드>(초안 언어). - 결과:
work/디렉토리에brief.md(이것을 읽으십시오),analysis.md(초안, 후보당 1개의 헤더와 추정 유형 포함) 및page.json(빌드용, 열지 마십시오).analysis.md가 이미 존재하면 초안은analysis.draft.md에 기록됩니다. brief.md는 요소당 1줄: 유형, 단어 수, 상태 (js_only,collapsed,not_in_a11y, 또는ok인 경우 없음), 텍스트, 후보bNN별로 그룹화됨.[g3#2]는 그룹g3의 카드 2입니다.- 시간: 5~30초. 렌더링은 45초 후에 중단되고 HTML에서 읽기를 계속합니다.
- 실패 시:
REFUSED <코드>(종료 코드 2): 중단하고 사용자에게 알립니다(거부 코드 참조). 스크립트를 실행할 수 없는 경우(Node 22 없음, 셸 없음, 네트워크 없음), 1줄로 사용자에게 알리고 저장된 페이지 경로를 제안합니다.
- 옵션:
work/analysis.md작성 (판단). 다음 섹션을 참조하십시오. 영어로 작성하거나 사용자가 요청한 언어로 작성하고language:에 해당 코드를 입력합니다.- 빌드 (스크립트).
node dist/build.mjs work/page.json work/analysis.md --html work/report.html --md work/page-prompts.md --json work/page-prompts.json- 결과: 3개의 파일 및
checks: 5 of 5 passed. 범위를 벗어난 예시는 경고로만 처리됩니다. - 실패 시:
REFUSED는 각 문제와 해당 검사를 나열합니다:overlap(R2),brand(R3),volume(단어 범위 없음),variables(선언되지 않은{name}),blocks(후보 누락, 알 수 없음 또는 두 번 사용됨),schema(필드 누락 또는 허용되지 않은 값), 또는 읽을 수 없는 줄. 나열된 줄만 수정하고 빌드를 다시 실행하십시오.
- 결과: 3개의 파일 및
analysis.md
brief.md에서 단어 수를 가져와 그 주변에 범위를 작성하십시오. 문자 범위는 생략하십시오.
language: en
example_product: a fictional booking app for small pilates studios
page_type: SaaS landing
audience: owners of small studios who take bookings by chat
awareness: comparing_solutions
tone: businesslike, warm; formality 2; you
promise: {product} gives {audience} {main_benefit} without {pain}.
logic: result and first step first, proof next, the steps before the prices
threads:
- the promise of no more calls returns in the hero, the steps and the closing call
## p01 hero | Hero | b01
role: say within five seconds what changes for the reader, and offer the first step
- eyebrow | 3-5 | the main change for the reader | No more booking calls
- h1 "Headline" | 7-11 | the result for {audience}, without the product's name | Clients reserve a reformer, and you stay with the class
- button | 2-4 | verb + object, the action {cta_action} | Set up bookings
- risk_line | 5-8 | {risk_remover} | Free to start, cancel at any time
techniques:
- Keep {product}'s name out of the headline; it first appears in the subheadline.
tone: businesslike, warm; you
avoid: "innovative"; a question as the headline
## p07 pricing | Pricing | b07
role: help the reader pick a plan and see the price fits the studio's size
- h2 | 4-8 | the price tied to the reader's size | Pay for the size you are
- 3 x plan "Plan":
- h3 | 1-3 | the studio's size | Single room
- price | 1-3 | {plan_n} | [price] / mo
- items 3 | 2-6 | what is included, most important first | Self-service reservations / Client reminders / Card checkout
techniques:
- Name the plans after the studio's size, not after levels such as basic or pro.
허용되는 값 (빌드가 다른 값은 거부합니다):
awareness:unaware,problem_aware,comparing_solutions,product_aware,ready_to_buy.- 블록 유형:
hero,social_proof_logos,problem,solution,features,benefits,how_it_works,use_cases,testimonials,case_study,stats,comparison,pricing,faq,guarantee,about,team,cta,lead_form,newsletter,other.other는reason:줄이 필요합니다. formality: 1자리 숫자, 1~5 (보고서에는 "N of 5"로 표시되며 거부되지 않음).language: ISO 코드;uk는 우크라이나어 프롬프트, 다른 코드는 영어 프롬프트를 제공합니다.page_type: 자유 텍스트.- 변수:
product,category,audience,language,pain,pain_n,main_benefit,benefit_n,feature_n,step_n,use_case_n,alternative,objection_n,cta_action; 사실risk_remover,outcome_number,customer_count,customer_n,testimonial_n,plan_n,guarantee,deadline. 새 변수는vars:아래에- name: what goes in형식으로 선언하고, 사실인 경우[fact]를 추가합니다.
필수: language, example_product, page_type, audience, awareness, promise, logic; 블록당 유형, 이름, role, 1개 이상의 요소, 1개 이상의 기법.
줄 형식:
- 요소:
코드 "레이블" | 단어 수 | 필수 설명 | 예시.필수 설명은 해당 프롬프트 줄이 됩니다. - 그룹:
N x 코드 "레이블":형식으로 들여쓰기된 자식 포함; 예시는 1개의 카드입니다. 그룹은 중첩되지 않습니다. - 목록:
items N; 예시 항목은/로 구분합니다. - 후보 결합: 헤더에
| b03 b04. 후보 삭제: 상단 근처에drop: b10 <이유>.
가장 자주 위반되는 규칙:
- 1개 블록, 1개 작업. 장식 텍스트(위젯 레이블, 카운터)는 생략하십시오.
- 각 후보는 정확히 1개의 블록에 속하거나 삭제되어야 합니다. 후보를 분할할 수 없습니다.
- 매우 큰 후보(예: 여러 하위 섹션이 있는 1,400단어 기사)는 1개의 블록으로 유지합니다: 반복되는 하위 섹션을 1개의 그룹으로 작성합니다(예:
5 x section "Section":및h3,text). 가장 가까운 유형 또는other를 사용하십시오. - 기법은 지침이지 레이블이 아닙니다: "PAS 사용"이 아니라 "1문장으로 문제 명명, 두 번째 문장으로 비용, 세 번째 문장으로 {product}"와 같이 텍스트가 수행하는 작업만 설명합니다.
- 예시는 1개의 가상 제품에 대한 블록입니다. 범위에 가까우면 충분합니다.
검증
- 모든 후보가 1개의 블록에 속하거나 삭제되었습니다.
- 최종 빌드에서
REFUSED가 출력되지 않았습니다. -
work/report.html이 존재합니다.
보고서 표시
- 사용자나 호출자가 게시 또는 열기를 금지한 경우,
report.html이 존재할 때 중단하고 해당 경로를 제공합니다. - 그렇지 않으면, 이 세션이 HTML을 게시할 수 있으면
report.html을 게시합니다. 그렇지 않으면 절대 경로를 제공합니다. - 보고서는 EN / UK 전환 기능이 있는 영어로 열립니다.
#lang=uk는 우크라이나어로 엽니다.
채팅 요약
- 블록 수, 구조, 1~2개의 유용한 기법.
- 중요한 가시성 참고 사항: JavaScript 이후의 텍스트, 접힌 FAQ 답변 등.
- 모든 프롬프트를 붙여넣지 마십시오. 사용자가 1개의 블록에 대해 물은 경우, 해당 프롬프트와 예시를 표시합니다.
- 한 번 말합니다: 블록과 표현은 사용자의 판단입니다. 레이어, 개수 및 검사는 스크립트의 결과입니다.
거부 코드
저장된 페이지 경로: node dist/read.mjs --file saved.html --url <주소> --out work/page.json
| 코드 | 사용자에게 알림 |
|---|---|
invalid_url, blocked_scheme, blocked_host, blocked_address | 공개 웹 주소가 아닙니다. |
unreachable, http_error, blocked | 사이트가 응답하지 않거나 자동화된 리더를 거부했습니다(blocked: HTTP 401, 403 또는 429). 저장된 페이지 경로를 제안합니다. |
challenge | 캡차 또는 봇 검사입니다. 이를 우회하지 말고 저장된 페이지 경로를 제안합니다. |
not_html, too_large, empty | 읽을 수 있는 웹 페이지가 아니거나 텍스트가 없습니다(아마 이미지). |
refused_ru_domain, refused_ru_hosting, refused_ru_audience, refused_language_ru | 분석하지 않음: 러시아어 페이지, 또는 러시아의 도메인 영역에 있는 사이트, 러시아에서 호스팅되거나 러시아어 버전이 있는 사이트. 게시자의 결정. |
참조
| 파일 | 다음 경우에 읽기 |
|---|---|
references/block-types.md | 블록 유형이 확실하지 않을 때. |
references/variables.md | {variable}이 필요하거나 추가할 때. |
references/analysis-schema.md | 전체 형식이나 JSON 형식이 필요할 때. |