github-project-release
Skill11 starsChanged 4 months agoMITView on GitHub
Use when preparing or publishing a local project as a clean GitHub repository. Covers new repositories, private staging releases, public README cleanup, updates to existing remotes, and research-code packaging without datasets, checkpoints, papers, or generated artifacts.
In this repository17 other files it gives its agents.
- app-bug-forensicsSkill
- app-feature-craftSkill
- app-release-readinessSkill
- codex-session-restoreSkill
- design-taste-frontendSkill
- experiment-plannerSkill
- feishu-paper-readingSkill
- grill-meSkill
- paper-framework-figure-studio-proSkill
- paper-review-panelSkill
- paper-share-htmlSkill
- paper-visual-craftSkill
- paper-writingSkill
- rebuttal-response-skillsSkill
- research-evidenceSkill
- search-firstSkill
- ui-ux-pro-maxSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 11 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 17
Treat the codebase as source of truth.
- Very specific: line 22
Use the active gh account as the default owner.
- Very specific: line 23
Never ask the user to paste a GitHub token into chat.
- Distinctive: line 28
Keep only what a new user needs to understand and run the project.
- Distinctive: line 32
Write or rewrite the README.
- Very specific: line 33
Read references/readme_playbook.md before drafting README content.
- Distinctive: line 34
Use English by default.
- Distinctive: line 35
Write for external readers, not for the project owner.
- Distinctive: line 41
Treat reported high-risk items as blockers unless the user explicitly accepts them.
- Very specific: line 42
If a paper link is not public, use Paper link: coming soon.
- Distinctive: line 46
If the repo does not exist, create a private repo.
- Distinctive: line 47
If it exists, push only safe non-rewriting updates.
- Distinctive: line 48
Do not force-push, delete, overwrite, or make the repo public unless explicitly requested.
- Distinctive: line 52
If any sensitive artifact was accidentally pushed earlier, explain that branch-history cleanup may not immediately remove exact-SHA access …
- Very specific: line 74
Use --dry-run on prepare or publish to inspect intended actions without copying or pushing.
- Distinctive: line 88
Ask the user only when the answer cannot be derived from the project:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
GitHub Project Release
Turn a local project into a clean GitHub repository that is safe to make public later. Default to research-code release behavior: clean copy first, private GitHub repo first, audit before push.
Workflow
- Inspect the source project before copying.
- Identify the runnable entrypoints, key configs, curated figures/tables, license, citation files, and upstream dependencies.
- Treat the codebase as source of truth. Do not preserve stale upstream README language as the release front page.
- Check credentials.
- Run
scripts/github_project_release.py auth-check. - Use the active
ghaccount as the default owner. - Never ask the user to paste a GitHub token into chat. If auth is missing, ask them to run
gh auth loginor provide credentials through a secure non-chat channel.
- Run
- Prepare a clean release copy.
- Run
scripts/github_project_release.py prepare --source <project> --dest <release-dir>. - Keep only what a new user needs to understand and run the project.
- Exclude datasets, checkpoints, logs, generated outputs, raw experiment dumps, paper PDFs, local submission material, and exploratory files unless the user explicitly overrides the default.
- Run
- Write or rewrite the README.
- Read
references/readme_playbook.mdbefore drafting README content. - Use English by default.
- Write for external readers, not for the project owner.
- For research code, cover Context + Run + Cite: what it is, what problem it solves, what is included, how to install/run the minimal path, and how to cite current and upstream work.
- Read
- Audit before publishing.
- Run
scripts/github_project_release.py audit --path <release-dir>. - Treat reported high-risk items as blockers unless the user explicitly accepts them.
- If a paper link is not public, use
Paper link: coming soon.and do not upload PDFs.
- Run
- Publish privately.
- Run
scripts/github_project_release.py publish --release-dir <release-dir>. - If the repo does not exist, create a private repo.
- If it exists, push only safe non-rewriting updates.
- Do not force-push, delete, overwrite, or make the repo public unless explicitly requested.
- Run
- Report the result.
- Include repo URL, branch, commit SHA, visibility, and audit status.
- If any sensitive artifact was accidentally pushed earlier, explain that branch-history cleanup may not immediately remove exact-SHA access on GitHub; for strict removal, recreate a clean repo.
Script Quick Reference
Resolve <skill-dir> to the directory containing this SKILL.md; do not
assume a particular global skills installation root.
python "<skill-dir>/scripts/github_project_release.py" auth-check
python "<skill-dir>/scripts/github_project_release.py" prepare \
--source /path/to/project \
--dest /path/to/project-github
python "<skill-dir>/scripts/github_project_release.py" audit \
--path /path/to/project-github
python "<skill-dir>/scripts/github_project_release.py" publish \
--release-dir /path/to/project-githubUse --dry-run on prepare or publish to inspect intended actions without copying or pushing.
Defaults
- Visibility: private.
- Owner: active
ghaccount. - Repo name: sanitized release directory name, unless
--repo,--owner, or--nameis provided. - Existing repo policy: safe update only.
- README language: English.
- Results policy: paper-confirmed figures/tables/results only; never infer metrics from logs.
- Asset policy: curated explanatory figures/tables only; never bulk-upload raw visualization outputs.
When To Ask
Ask the user only when the answer cannot be derived from the project:
- Target GitHub owner differs from the active
ghaccount. - Repo name should differ from the project/release directory.
- A normally blocked file type must be included.
- The user wants public release, force-push, repo deletion, or history rewrite.
- The current project has no clear runnable path and the README would otherwise invent commands.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

