本文へ移動
cccskills
無料GitHub で公開

ls-github-release-publishing

Use when publishing to GitHub, preparing a public release, or reviewing repo readiness. Covers public-doc structure, licensing, PII/secrets/path scrub, version checks, and repository settings.

日本語の概要は準備中です。原文の説明を表示しています。

連携ツールGitHub
インストール方法を見る

含まれるファイル(1)

  • SKILL.md16.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

GitHub publishing workflow (framework baseline)

Purpose: Follow a consistent, research-backed workflow to get a repo ready for public GitHub publication: documentation layout, licensing, scrub for sensitive or context-specific content, and a repeatable checklist.

Documentation and structure (best practice)

  • README: Clear value proposition near the top; install instructions; layout of deployed content; optional contents table or TOC for navigation. Section headings that work as anchors. Consider light visual cues (e.g. section icons) for scanability; keep one H1 per doc.
  • SECURITY.md: How to report vulnerabilities (private advisory or contact). Link from repo Security tab. State scope (this repo only; third-party tools out of scope).
  • CONTRIBUTING.md: How to open Issues, Discussions, and PRs; repo layout; that contributions are licensed under the project license. Point to LICENSE.
  • LICENSE: Chosen license (e.g. MIT) with correct copyright holder. Single source for "can use, modify, distribute" terms.
  • Framework README: If the repo contains a framework subfolder, its README should describe the engine, tools, and docs and link to root README, SECURITY, CONTRIBUTING, and LICENSE.

Use relative links and consistent heading levels. Avoid PII and machine-specific paths in all of the above.

Licensing and copyright

  • Copyright: Attribute to the intended owner (e.g. company or author). Use a single line in LICENSE and, if desired, a short "License and copyright" section in README.
  • MIT: Allows use, copy, modify, merge, publish, distribute, sublicense, and sell copies/derivatives, with copyright and permission notice preserved. See LICENSE for full text.
  • Display: README and framework README should state "Copyright (c) YEAR Owner" and "Released under the MIT License" (or chosen license) with a link to LICENSE.

Author and contact (without exposing personal email)

  • Author: Name and link to profile (e.g. GitHub). Do not embed a personal email in the repo if the goal is to avoid scraping and spam.
  • Contact: Direct users to GitHub Issues or Discussions in the repo so they can reach you without publishing an email. Optionally link to a company or contact page.
  • Co-authored-by: If the tooling adds a "Co-authored-by" trailer (e.g. from an IDE) and the maintainer does not want it in history, the commit-msg hook can strip that trailer before the commit is finalized.

Scrub before publishing (no PII or context-specific artifacts)

  • No personal data: No real email, physical address, or phone in committed files except where explicitly intended for public contact.
  • No secrets: No API keys, tokens, passwords, or credentials. No committed .env or secret files.
  • No machine-specific paths: No hardcoded /home/username, /Users/name, C:\Users\..., or internal hostnames. Use placeholders or environment variables for paths.
  • Clone and repo URLs: Default clone URL in install (or equivalent) must point to the public repo. Overridable via environment variable for forks. Issue/Discussion links in README must use the correct repo owner.
  • Deploy artifacts: Any directory or file that is generated by deploy (e.g. a copy of docs under a different path) must be in .gitignore and must not be tracked. Remove from tracking if it was ever committed.

Run a quick scrub command (e.g. grep for password, secret, api_key, token, /home/, /Users/) and review matches before publishing.

Version and release

  • VERSION: Set to the intended release version. README and any "Version" display must match (see ls-version-bump-commits skill).
  • Versioning docs: If the project uses automatic versioning, document it (e.g. docs/VERSIONING.md) and link from README.

Repository settings (on GitHub)

LocalSetup release-documentation gate

Prepare and review the structured release record and affected public prose in the source checkout, then render and check the owned sections before canonical version and generated-document sync. Optional protected QC authoring can propose and independently review the candidate; trusted tooling applies accepted edits under the configured signing identity. The ordinary hosted release validates already committed source and does not run a model, create an unsigned bot commit, or push source.

publish.yml supports explicit release, repair, and qualify dispatch modes. Successful validation of the exact candidate commit is reused when that commit reaches main and release preparation. Hosted publication requires completed framework, documentation, and QC results instead of running the full suite again. After the accepted source passes these checks, the maintainer creates and pushes a verified OpenPGP-signed annotated tag at that exact commit. release verifies the pre-existing tag and commit using the required public certificate, builds and checks artifacts, and creates a draft with --verify-tag. repair updates published notes from reviewed committed prose while preserving the published tag and assets. qualify prepares evidence without integration or release mutation. These modes do not grant authority to scheduled QC patrols.

Before publishing a completed draft, fetch its tag and run localsetup release-docs check --draft-tag v<version> --expected-commit <sha> from that exact candidate. This compares rendered notes, tag identity, and the documented archive/checksum/SBOM asset names. It does not replace complete artifact, checksum, provenance, and license verification. Re-run if notes, source, or assets change. Direct administrative GitHub UI actions are outside workflow enforcement.

  • Visibility: Keep visibility out of the ordinary repository-enhancement plan. Public/private visibility is supported only on github.com and only as the sole setting in its own reviewed plan with its own digest and exact operation authorization. Split or reject a policy that mixes visibility with other changes before apply. Visibility on other hosts stays report-only while the Enterprise Server API-version matrix is unverified. The CLI/REST handling of internal is unresolved; controls without supported typed operations remain report-only.
  • Description and topics: Short description and topics for discoverability.
  • Default branch: Align install/docs URLs with the default branch (e.g. main).
  • Issues and Discussions: Enable if you want contact via GitHub.
  • Security: Enable "Private vulnerability reporting" if desired; SECURITY.md should explain how to report.

CLI-first repository settings

Use GitHub repository enhancement for the remote settings audit, deterministic plan, selectively authorized apply, and final verification. Its seven groups expose one observation for every control in a fixed registry. The registry is the exact coverage contract for this workflow, not an exhaustive inventory of every possible GitHub control. Rows distinguish applicability, authority, capability, observation state, and evidence or a safe reason. Reason-backed unknown, unavailable, inherited, local, UI-only, or not-applicable outcomes are assessed evidence; they do not claim a requested policy is satisfied. Controls without a documented typed mutation remain report-only.

All remote write operations are enabled only on github.com while the GitHub Enterprise Server API-version matrix remains unverified. Audits and reads may run on other hosts, but requested drift there remains incomplete/report-only with a compatibility reason.

Each plan includes an exact coverage receipt with status, expected and observed counts, and missing, duplicate, invalid, and incomplete control IDs. A missing, duplicated, malformed, or incompletely observed control makes coverage incomplete. Plans bind local checkout root identity, HEAD, branch or detached state, staged/worktree/untracked counts, a digest of Git porcelain status bytes, configured upstream, normalized origin/upstream matches, and structural content evidence with SHA-256/size for only inspected files. The plan omits raw remote URLs, credentials, absolute checkout paths, raw status paths, and file contents. Structural evidence reports presence, not content quality. Plan and verification output also distinguishes inventory caveats, authorization findings about ambient token-permission visibility, and requested_policy gaps. Apply refuses incomplete coverage or checkout/content drift. Verify is incomplete when coverage is incomplete or local evidence drifts, even when no remote operation read-back failed.

Its fixed target syntax is localsetup github-repo --repository OWNER/REPO --hostname HOST --checkout PATH --mode MODE, where MODE is audit, plan, apply, or verify. The remote target is always selected with --repository and --hostname; the global --repo option retains its LocalSetup source-checkout meaning. --checkout PATH selects the local Git checkout used for evidence and defaults to .; use the same checkout for audit/plan and apply/verify. Review the exact plan JSON and its SHA-256 digest before applying. Plan mode requires --policy POLICY.json, and verify mode requires --plan PLAN.json. An apply invocation must supply --plan PLAN.json, --authorize-plan DIGEST, and one --operation OP_ID for each approved operation. Plan mode writes plan.json and plan.md; its JSON summary reports both paths, the digest, and operation IDs. By default, the files are under LocalSetup's per-user private state root at github-repository-operations/<target-key>/plans/<plan-digest>/. The target key binds normalized hostname and immutable repository ID. The default state root must be owned by the current user with mode 0700; an unsafe root or parent fails closed. Apply also requires that secure root for its target journal. --output-directory DIR optionally selects another directory, which must be user-owned with mode 0700 and is created with that mode if missing. Path components cannot be symlinks. Ancestors must be root- or user-owned and not group/world writable, except root-owned sticky directories such as /tmp. Plan files are created exclusively at mode 0600 without following symlinks; existing files must be user-owned mode-0600, single-link regular files. Use the reported plan.json path for apply and verify. The digest and selected IDs authorize only that subset from the exact plan. Destructive or access-changing changes are excluded from the ordinary plan and need a separate policy, reviewed plan, digest, and exact operation authorization. Public/private visibility is supported only on github.com, as the sole setting in its own plan; split or reject a policy that mixes it with other operations before apply. Visibility on other hosts stays report-only while Enterprise Server support is unknown. The documented CLI and REST surfaces do not agree about internal, so keep that case unresolved. Unsupported controls stay report-only. Reconcile an uncertain response with reads before considering any new invocation; never replay a write automatically. Keep tracked content, signed commits, releases, and tags on the local Git and release paths below.

Optional release verification is policy-scoped. Policy schema v2 may select verification.signatures.{commit_oid,tag_name,expected_primary_fingerprints} and verification.release.{release_id,tag_name,source_ref,source_commit,signer_workflow,predicate_type,artifacts}; each artifact binds asset_id, name, checkout-relative path, and expected_sha256. Verify binds these requirements to the exact repository, release, tag, source identities, selected local bytes, and declared signer workflow and predicate. Supply trust keys only with repeatable verify-only --trusted-public-key FILE; never save or print key material, absolute paths, or raw CLI output. Missing or old gh installations without gh release verify-asset or gh attestation verify leave proof unavailable or incomplete; do not upgrade the CLI automatically. When policy declares no verification requirements, release readiness is not_assessed. apply completion describes only the selected settings operations and does not establish release readiness. Saved plans now use schema v4 while policy stays schema v2; regenerate schema-v2 or schema-v3 saved plans from their reviewed policy.

Each typed operation displays a canonical interface descriptor in plan JSON and Markdown. It identifies transport, fixed command or HTTP method/endpoint template, binding to plan.target, required flags, and the reason an API interface was selected; this descriptor is bound into the operation identity and plan digest. Prefer gh repo edit when its exact supported command and flags express the complete operation. Before dispatch, bounded command help must confirm every required flag; if the command, flag, or feature is unavailable, fail closed. Do not silently switch transports or replay after a command failure. Ruleset mutations use REST through gh api, because the documented gh ruleset interface supports list/check/view but no writes.

For collaboration web commit signoff, policy schema v2 supports the desired Boolean repository.web_commit_signoff_required; it controls the registered collaboration.web_commit_signoff setting. The official gh repo edit options do not document an exact native flag for it. The typed operation therefore selects PATCH /repos/{owner}/{repo} through gh api, includes web_commit_signoff_required in the request body, and records why REST was selected. GitHub documents the Boolean in Update a repository.

Schema-v2 policy distinguishes no requested social-preview action from explicit removal. For upload, specify repository_content.social_preview: {"action":"present","asset_path":"assets/social-preview.png"}. The checkout-relative asset must resolve to a contained regular non-symlink file under 1 MB with PNG, JPEG, or GIF magic. Its relative path, SHA-256, size, and detected format bind into the plan and are rechecked before apply/verify. For removal, specify {"action":"absent"} and omit asset_path. GitHub's documented upload and removal are Settings UI actions. The user selects the exact bound file at Social preview → Edit → Upload an image or removes the image, then runs verification. A fresh custom-image Boolean that matches the requested presence or absence state can satisfy that selected setting when a selected local asset remains valid and hash-bound. The Boolean does not verify pixels or exact local-file identity. Keep the UI handoff as a requested-policy finding while the remote Boolean is mismatched or unavailable; even when the setting is complete, report that remote pixels remain unverified.

Publishing Checklist Baseline

  • Treat this section as the source checklist for the skill. If the target repo maintains a publishing checklist, create or update its repo-local docs/PUBLISHING_CHECKLIST.md from these same categories: documentation and structure, scrub (PII/secrets/paths/URLs/artifacts), version and release, and repository settings.
  • Before going public, work through the checklist and optionally run the scrub command. When all items are checked, the repo is ready for public publishing; checklist completion does not authorize a repository visibility change. Public/private visibility needs its own separately reviewed plan and exact operation authorization.

Rule ownership

This skill owns GitHub publication readiness. Public docs can summarize publishing behavior, but release-prep agents should load this skill for the scrub checklist, repository settings, and documentation/public-boundary decisions.

  • Use ls-version-bump-commits for version bump and sync behavior.
  • Use ls-public-repo-identity for public identity and contact fields.
  • Do not publish private maintenance state, generated local indexes, credentials, or machine paths.

Reference

  • Checklist source: use Publishing Checklist Baseline in this skill unless the target repo has its own tracked checklist.
  • Versioning: load ls-version-bump-commits when changing or explaining version behavior.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Guide accessibility reviews for UI, documents, and workflows. Use for WCAG-oriented audits, keyboard review, semantics, contrast, and remediation planning.

日本語の概要は準備中です。原文の説明を表示しています。

CruxExperts/LocalSetup62026年10月21日 更新

Use when choosing a LocalSetup Agent-* lane for exploration, research, bounded implementation, or review. Consult the static capability matrix; do not probe account or network availability.

日本語の概要は準備中です。原文の説明を表示しています。

CruxExperts/LocalSetup62026年10月21日 更新

Guide agent email inbox workflows with prompt-injection defenses. Use for inbound email processing, webhooks, routing, and safety review.

日本語の概要は準備中です。原文の説明を表示しています。

CruxExperts/LocalSetup62026年10月21日 更新

Navigate and understand codebases using agentlens hierarchical documentation. Use when exploring new projects, finding modules, locating symbols in large files, finding TODOs/warnings, or understanding code structure.

日本語の概要は準備中です。原文の説明を表示しています。

CruxExperts/LocalSetup62026年10月21日 更新

Use for Agent Q signed encrypted file-drop or mail ship and ingest, private registry v2 setup, queue status, and transport maintenance.

日本語の概要は準備中です。原文の説明を表示しています。

CruxExperts/LocalSetup62026年10月21日 更新

Inventory wrapper for the alirezarezvani Claude skills bundle. Use when triaging its broad skill catalog and large script surface before any targeted import.

日本語の概要は準備中です。原文の説明を表示しています。

CruxExperts/LocalSetup62026年10月21日 更新

CruxExperts のスキルをすべて見る

このスキルの問題を報告する