make-publishable
Use when preparing a repo, CLI, library, service, SDK, or internal tool for handoff, wider reuse, release, or open-source publication.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when preparing a repo, CLI, library, service, SDK, or internal tool for handoff, wider reuse, release, or open-source publication.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Use when the user wants a TL;DR, quick recap or brief summary.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Use when a user needs codebase or subsystem orientation in an unfamiliar repository, such as a repo walkthrough, codebase overview, architecture tour, contributor ramp-up, or "I'm new here, help me understand this project" request.
Safely rebases the current branch onto a specified base branch, interprets diffs and conflict markers to resolve merges without losing intent, and escalates ambiguous conflicts that could cause regressions. Use when the user asks to rebase, sync with main/develop, resolve rebase conflicts, or continue an interrupted rebase.
| name | make-publishable |
| description | Use when preparing a repo, CLI, library, service, SDK, or internal tool for handoff, wider reuse, release, or open-source publication. |
Turn a project into one that a new engineer or agent can understand, set up, validate, and release without tribal knowledge.
Start by understanding the repo and its consumer, then run a strict publishability workflow: classify the project, audit what exists, fill only the gaps that matter, and validate the result from a cold start.
Do NOT create or update docs, CI, release automation, install scripts, or agent guidance until you have classified the repo, completed the audit, reported every audit item as Keep, Update, Create, or Skip, and shown that audit direction to the user.
Publishable does not mean "README + CONTRIBUTING + GitHub Actions + Distribution for every repo." A library, service, SDK, CLI, and internal tool have different consumers, different first actions, and different release stories.
You MUST create a task for each of these items and complete them in order:
Use your create-todo tool or similar to make this todo list.
digraph make_publishable {
"Explore project context" [shape=box];
"Interview the target" [shape=box];
"Classify repo" [shape=box];
"Audit items" [shape=box];
"Report audit" [shape=box];
"User approves direction?" [shape=diamond];
"Build applicable artifacts" [shape=box];
"Validate cold-start path" [shape=box];
"Publishable?" [shape=diamond];
"Fix gaps and re-validate" [shape=box];
"Explore project context" -> "Interview the target";
"Interview the target" -> "Classify repo";
"Classify repo" -> "Audit items";
"Audit items" -> "Report audit";
"Report audit" -> "User approves direction?";
"User approves direction?" -> "Audit items" [label="no, revise"];
"User approves direction?" -> "Build applicable artifacts" [label="yes"];
"Build applicable artifacts" -> "Validate cold-start path";
"Validate cold-start path" -> "Publishable?";
"Publishable?" -> "Fix gaps and re-validate" [label="no"];
"Fix gaps and re-validate" -> "Validate cold-start path";
}
Exploring project context:
Classifying the repo:
Classify across these four axes before you change anything:
| Axis | Options | What it changes |
|---|---|---|
| Project type | CLI, library, SDK, service, internal tool | README shape, install/integration story, validation path |
| Distribution channel | direct download, package registry, container registry, internal artifact store, no external distribution | release assets vs package publish vs deploy docs |
| Automation host | GitHub Actions, other CI/CD, no CI yet | whether you implement or port automation invariants |
| Repo shape | single package, monorepo, mixed repo | where metadata, versioning, and release checks belong |
Use these routing hints:
brew install, treat it as CLI/binary-first.npm install, pip install, or adding a dependency, treat it as library/SDK-first.docker compose up, make dev, or deploy, treat it as service-first.If classification is still unclear after reading the repo, stop and ask the user. Do not guess.
Interviewing the target:
Ask enough to establish:
Running the audit:
Copy this checklist and classify each item:
Audit:
- [ ] Package manifest / module metadata
- [ ] README.md
- [ ] CONTRIBUTING.md
- [ ] .gitignore
- [ ] CI / quality gate
- [ ] Release / publish automation
- [ ] Install or integration path
- [ ] Configuration / authentication docs
- [ ] Versioning policy
- [ ] License / ownership / support
- [ ] Security / disclosure path
- [ ] Agent usage guidance
For each item, decide one of:
Audit rules:
Skip needs a concrete reason.Skip: "No install script: this is a library published through npm."Skip: "Probably not needed."Use this audit detail when judging gaps:
If you believe that there are no gaps, ask yourself:
If a new consumer followed the docs that exist today, would they successfully start using, integrating, running, or releasing this project?
If the answer is "not confidently," there are gaps and you must continue the audit.
Reporting the audit:
Show the user the Keep / Update / Create / Skip matrix before editing. This is the moment where you avoid writing the wrong docs for the wrong consumer.
Building what applies:
Work top-down in this order:
README:
CONTRIBUTING.md.CONTRIBUTING:
fmt, lint, test or whatever the project uses.Preserve the invariant, not the host-specific syntax:
Choose the release shape that matches the repo:
Do not force GitHub Releases onto projects that actually publish to a package registry or container platform.
A project might not need any release automation at all. If none is present, ask the user if they want to add it. If not, leave it as is.
Install scripts are only for downloadable CLI or binary projects.
Use an install script only when all of these are true:
Never add an install script:
If you do add one, keep these non-negotiables:
README.md.env.exampleAGENTS.md or CLAUDE.mdCLAUDE.md there must also be an equivalent AGENTS.md for non-claude agents)Validate using the real cold-start path for the project type using a subagent:
If the documented consumer path fails, the repo is not publishable yet. Fix the gap and validate again.