본문으로 건너뛰기
cccskills
무료GitHub에 공개

vibe-publication-leak-guard

Keeps private and unapproved material out of a public build. Scans the built output (HTML, serialized component payloads, client JS and CSS chunks, static data routes, public files) against a private tier that always applies and a draft tier that applies in production. Gates work-in-progress so it shows in preview and is absent from production, and keeps sign-off in a ledger only the human writes. Use when a site or app publishes content that agents drafted or that came from private sources.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

vibe-publication-leak-guard

A source-diff scan catches a secret in a commit. It doesn't catch a private field that a server component serializes into the client payload, a draft line that ships in a static JSON route, or a file in public/ that never went through the build. Agents that work from private notes, or draft text in someone's voice, need a guard on what actually ships, plus a way to keep drafts visible for review without ever publishing them.

When to Use This Skill

  • Content comes from private sources (notes, journals, internal documents, exports)
  • Agents draft copy in the owner's voice, or quote material that needs the owner's sign-off
  • Setting up a preview build that shows drafts and a production build that must not
  • Before the first production deploy of a content site

When NOT to Use This Skill

  • Secret scanning of staged code (use vibe-pre-commit-audit)
  • A site with no private inputs and no draft content
  • Access control for authenticated content (that's an authorization problem, not a build scan)

Steps

  1. Keep raw private context out of git. Raw notes and exports live in a gitignored directory; only distilled, public-safe facts enter the repo. A force-push doesn't purge old commits from a hosted PR, so if something private was ever pushed, plan a squash-merge or a history purge.

  2. Gate drafts with a flag, not a comment. Give every item that needs sign-off a stable id and a needsOk-style flag in the content data. Preview builds render it with a visible WIP marker; production builds drop it. A missing input becomes a pending id, not a blocker. A code comment saying "approved" is not approval, and the guard should fail on it.

  3. The human owns the approval ledger. Approvals live in a sign-off sheet or file the human edits, with one record per item id. Agents read it before copy work and never write approval states, even when the human says yes in chat. In that case, tell them which item id to mark, and keep the content gated until they do.

  4. Build the guard over emitted output. After the production build, scan every artifact the server or CDN can serve:

    • rendered HTML and serialized component payloads, including segment files
    • feeds, sitemaps, robots files, and static data routes
    • first-party JS and CSS chunks
    • everything in the public or static directory, which ships verbatim
  5. Use two tiers.

    • Private (always, including preview): private source paths, denylist terms, hashes of sentences the owner rejected.
    • Draft (production only): WIP markers, prompt leftovers, placeholder slots, and every string from items still flagged needsOk.
  6. Hold the denylist outside the repo. Read it from a CI secret plus an untracked local file. Warn locally when it's missing, and fail in CI on the release branch. Suggest categories to fill it with (names, internal program terms, private places, hostnames), because "what goes in the denylist?" is hard to answer cold.

  7. Test the guard. A self-test plants a known leak in each artifact type, plus a known false positive. The guard must catch the first and pass the second.

  8. Run it in CI on every push, after the build and before any deploy step. A leak fails the job. Never allowlist a finding to get to green without writing down why.

Output Format

Leak Guard Report

Build: [sha] · Mode: production | preview · Denylist: present (N terms) | missing

TierArtifactMatchSource itemAction
draftabout.rscWIP markerq.about.introkeep gated; awaiting sign-off
privatechunks/123.jsdenylist term #4content/people.tsremove field from client props

Pending sign-off: [item ids the human needs to mark] Result: PASS | FAIL (N private, M draft)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Validates completed work against defined acceptance criteria. Use after completing a task that has specific success criteria defined in issues, specs, or task descriptions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1652026년 10월 8일 업데이트

Generates edge case, failure mode, and spec-driven test cases. Covers boundary values, nil inputs, concurrency, resource exhaustion, malformed data, and requirement-linked traceability tests. Use after happy-path tests exist and before claiming coverage is complete, when requirements lack tests, or before a security review.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1652026년 10월 8일 업데이트

Catches shortcuts and reward hacking — weakening or deleting tests to make them pass, hard-coding expected outputs, silently dropping requirements, or claiming work is done without running it. Use before declaring a task complete and whenever a test or requirement feels like it's in the way.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1652026년 10월 8일 업데이트

Safely integrates commits from parallel agent branches using sequential cherry-pick. Use after parallel work completes in isolated branches or worktrees.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1652026년 10월 8일 업데이트

Audits tests for concurrency safety — race conditions, shared mock state, cleanup ordering. Use when writing tests that involve goroutines, async operations, or shared mutable state.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1652026년 10월 8일 업데이트

Enforces tiered test coverage standards with three dimensions — line coverage by tier, spec-to-test traceability, and spec-to-code implementation mapping. Use before claiming code is complete.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ash1794/vibe-engineering1652026년 10월 8일 업데이트

ash1794의 스킬 모두 보기

이 스킬의 문제 신고