Agent skill

Local App GitHub Publishing

by AtlasOmnia in AtlasOmnia/donna-starter

local-app-github-publishing — Safely publish local apps, prototypes, and substantial local branches to GitHub for the first time.

MITAuto-check: notesDevelopment

Install Local App GitHub Publishing

skills CLI
$ npx skills add AtlasOmnia/donna-starter --skill local-app-github-publishing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AtlasOmnia/donna-starter local-app-github-publishing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AtlasOmnia/donna-starter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/github/local-app-github-publishing .claude/skills/local-app-github-publishing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
local-app-github-publishing
GitHub stars
125
Token cost
~3.8k tokens
SKILL.md length
1,699 words
Files
4 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

local-app-github-publishing — Safely publish local apps, prototypes, and substantial local branches to GitHub for the first time.

  • Works in 9 steps: Confirm project and GitHub auth → Check whether the target repo exists → Create or tighten .gitignore before git… → …
  • Development work in your project
  • SKILL.md covers Core Rule, Default Behavior, First-Push Workflow and Publishing a Long-Running…, plus 9 more sections
  • Runs Shell scripts from its folder; calls git, gh and xcodebuild

What it does

Local App GitHub Publishing is an agent skill from AtlasOmnia/donna-starter. local-app-github-publishing — Safely publish local apps, prototypes, and substantial local branches to GitHub for the first time.

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/local-app-first-push.md`, `references/private-upstream-patch-repository.md` and `templates/idempotent-git-patch-apply.sh`).

It sits in Development. It works with GitHub, Git and iOS. The repository describes itself as: Donna — a starter Hermes Agent profile: opinionated persona, 73 curated skills, guided first-run orientation, optional Token Router. MIT. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/local-app-github-publishing”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Confirm project and GitHub auth
  2. Check whether the target repo exists
  3. Create or tighten .gitignore before git add
  4. Run a source-only secret scan
  5. Initialize git and stage
  6. Verify staged content before committing
  7. Set repo-local identity if needed
  8. Commit and push
  9. Verify remote

What it can do on your machine

Read from SKILL.md and the folder at commit a3710bd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh
    • xcodebuild
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Local App GitHub Publishing loads about 3.8k tokens when it runs, and up to ~6.1k if it reads all its reference files. Until then it costs about 39 tokens; SKILL.md has 1,699 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:87
    .env
  • NoteMentions a .env fileSKILL.md:88
    .env.*

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AtlasOmnia/donna-starter at commit a3710bd, republished under its MIT licence (© AtlasOmnia). 1,699 words, ~3,802 tokens.

Download SKILL.mdSave it as .claude/skills/local-app-github-publishing/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
local-app-github-publishing
description
local-app-github-publishing — Safely publish local apps, prototypes, and substantial local branches to GitHub for the first time.
version
1.0.1
author
Hermes Agent
license
MIT
platforms
macos, linux, windows
metadata.tags
GitHub, Git, repositories, first-push, app-projects, secrets
metadata.related_skills
github-repo-management, github-auth

Local App GitHub Publishing

Use this when the user asks to push a local app/prototype/project to GitHub for the first time, especially Electron, iOS/Xcode, mobile, desktop, or AI/API-integrated apps.

This skill complements the protected github-repo-management skill with the user-specific first-push hygiene: publish the useful source, not the machine's junk drawer wearing a trench coat.

Core Rule

Before the first commit, sanitize and verify. Generated builds, dependency folders, local Xcode state, and API credentials do not belong in the initial history.

Default Behavior

  • Default visibility: private unless the user explicitly asks for public.
  • Use a simple repo name matching the user's wording when possible, normalized to GitHub style, e.g. “iOS translator” → ios-translator.
  • If the repo name exists, choose the closest available variant only if the user gave broad wording; otherwise ask.
  • Set a repo-local git identity if global user.name / user.email are missing.
  • Verify the pushed remote before reporting success.

First-Push Workflow

  1. Confirm project and GitHub auth
bash
cd /path/to/project
git --version
gh auth status
GH_USER=$(gh api user --jq .login)
gh api user --jq .id
  1. Check whether the target repo exists
bash
gh repo view "$GH_USER/REPO" --json nameWithOwner,url,visibility 2>&1 || true
  1. Create or tighten .gitignore before git add

Include at least:

gitignore
# Dependencies
node_modules/
.venv/
.venv-*/

# Build outputs
dist/
dist-*/
release/
release-*/
*.tsbuildinfo

# Local caches/logs
.npm-cache/
.npm-logs/
*.log

# Xcode / Apple local state
.DerivedData/
DerivedData/
*.xcuserstate
xcuserdata/
.DS_Store

# Environment / secrets
.env
.env.*
!.env.example
*.pem
*.p8
*.p12
*.mobileprovision
  1. Run a source-only secret scan

Exclude generated/dependency directories. Search for common key patterns:

  • AIza — Google/Gemini keys
  • sk- — OpenAI-style keys
  • ghp_, github_pat_ — GitHub tokens
  • hf_ — Hugging Face tokens
  • -----BEGIN ... PRIVATE KEY-----

If a real secret is found, stop and remove/rotate before committing.

  1. Initialize git and stage
bash
git init -b main 2>/dev/null || git init
git add -A
git status --short
  1. Verify staged content before committing
bash
git diff --cached --name-only | wc -l
git check-ignore -v node_modules release dist-renderer dist-electron .DerivedData .DS_Store 2>/dev/null || true
python3 - <<'PY'
import os, subprocess
files = subprocess.check_output(['git','diff','--cached','--name-only'], text=True).splitlines()
found = False
for f in files:
if os.path.exists(f) and os.path.getsize(f) > 20*1024*1024:
print(f, os.path.getsize(f))
found = True
if not found:
print('No staged files over 20MB')
PY
  1. Set repo-local identity if needed
bash
GH_USER=$(gh api user --jq .login)
GH_ID=$(gh api user --jq .id)
git config user.name "$GH_USER"
git config user.email "${GH_ID}+${GH_USER}@users.noreply.github.com"
  1. Commit and push
bash
git commit -m "Initial app commit"
gh repo create REPO --private --source . --remote origin --push --description "Short description"
  1. Verify remote
bash
git status --short --branch
git ls-remote origin refs/heads/main
gh repo view "$GH_USER/REPO" --json nameWithOwner,url,visibility,defaultBranchRef,pushedAt

Publishing a Long-Running Local Branch for the First Time

Use this before the first remote push of a substantial campaign, repair, or autoresearch branch in an existing repository—not only before a repository’s initial push.

  1. Verify the complete branch range, not just the working tree:
  • git diff --check main...HEAD catches whitespace already committed.
  • Scan git log -p --format= main..HEAD for credential patterns; scanning only current files misses secrets added and later removed.
  • Inventory local filesystem paths, machine-local emails, and personal identifiers separately from actual credentials. Private branches may intentionally retain diagnostic paths, but public publication requires sanitizing them.
  1. Inspect author and committer metadata across main..HEAD. If an unpushed branch contains automatic workstation identities, normalize it before first push:
  • create a local backup ref;
  • record HEAD^{tree} and git rev-list --count main..HEAD;
  • rewrite only the unpushed branch to the established noreply identity;
  • require the final tree hash and commit count to remain identical;
  • rerun the full gate afterward. Never rewrite already-shared history without explicit authorization.
  1. Confirm the remote branch does not already exist with git ls-remote --heads before deciding whether a normal push or coordinated force-with-lease workflow applies.
  2. Push the named branch only, then verify local HEAD equals git ls-remote for that exact ref and that the working tree tracks the intended remote branch.
  3. Update any campaign state/report that records final SHAs after metadata normalization or push. Record branch push separately from PR, merge, tag, release, and deployment; do not imply one from another.

Merging a Completed Branch into Protected Main

When the user asks to merge a named feature branch:

  1. Resolve the branch's actual repository before acting. If it is absent from the current repository, search session history for the exact branch name instead of concluding it does not exist.
  2. Fetch/prune, compare origin/main...origin/<branch>, and inspect the complete commit range.
  3. On the feature branch, run both git diff --check origin/main...HEAD and git diff --check; the former catches committed whitespace defects while the latter validates any unstaged cleanup.
  4. Run the repository's canonical tests and an independent security/privacy review for substantive public changes. Normalize public commit identity to the established GitHub noreply address.
  5. Open a PR, wait for all required checks, then merge—prefer squash when cleanup-only commits should not survive as separate history.
  6. Pull main --ff-only, verify the PR merge state and live default-branch files, and wait for post-merge main CI. PR checks and post-merge checks are separate gates.
  7. Treat local branch deletion as optional housekeeping. If an approval gate denies it, stop and report that only the local branch remains; do not retry or misreport the merge as incomplete.

Public README Readiness

Before making a repository public, make the README understandable to someone who has no session context:

  1. The first paragraph must explain in plain language what the project does, what input/action it takes, how success is determined, and what happens to the result. Prefer concrete verbs over labels such as “provider-agnostic harness” or “iterative framework.”
  2. State consequential boundaries early—for example, whether changes are committed locally, reverted, uploaded, pushed, or published automatically.
  3. For a non-trivial loop or architecture, place one explanatory diagram near the top. Prefer an accessible SVG with a native viewBox, embedded by relative path and supplied with useful Markdown alt text.
  4. Verify the diagram in a real browser at its native aspect ratio; square thumbnail generators can crop wide SVGs and produce a false visual failure.
  5. After merge, inspect the rendered GitHub repository page, not only the source Markdown. Confirm the image resolves with expected dimensions and alt text. If raw.githubusercontent.com briefly serves stale content, verify the default-branch SHA and use GitHub's Contents API with ?ref=main or the exact commit SHA before concluding the merge failed.
README SVG quality gate

For a hand-authored architecture/flow SVG:

  1. Validate the XML before visual review: xmllint --noout docs/diagram.svg.
  2. Render at the SVG's native aspect ratio. On macOS, prefer sips -s format png docs/diagram.svg --out /tmp/diagram.png; qlmanage -t creates square thumbnails and can crop or mis-scale a wide diagram, producing misleading QA evidence.
  3. Use portable SVG text styling (font-family, font-size, font-weight) rather than a complex font: shorthand. Include Arial/Helvetica/sans-serif fallbacks so GitHub and native rasterizers agree more closely.
  4. Inspect the raster for clipped labels, card overflow, connector lines crossing unrelated cards, ambiguous arrow direction, and readable contrast at README width.
  5. Embed responsively, for example <img src="docs/diagram.svg" alt="..." width="100%">; avoid forcing a fixed 1200-pixel width inside GitHub's narrower content column.
  6. Have an independent reviewer compare every diagram claim against the current implementation and check the changed diff for secrets/PII before publication. Resolve accuracy and rendering findings before commit.
Show full SKILL.md (685 more words)Show less

Separating Products After an Accidental Merge

When a feature conversion landed in the original product repository but the user intended two distinct applications, preserve the converted product before restoring the original:

  1. Clone the verified conversion commit into a sibling directory.
  2. Create and push a new private repository from that clone.
  3. Restore the original repository with git revert, not reset/force-push.
  4. Validate, smoke-test, audit, and verify CI independently for both repositories.

Treat “separate programs” literally: distinct repositories, application identities, local data boundaries, release cycles, and launchers. Shared architecture does not imply one executable with selectable courses or modules.

App Verification Notes

  • Run reasonable pre-push checks if available, but do not block publication on unrelated packaging quirks once source integrity is confirmed.
  • For Xcode/iOS projects on machines where xcode-select points at Command Line Tools, use:
bash
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild ...
  • For CI/source validation when provisioning profiles are unavailable, use CODE_SIGNING_ALLOWED=NO to verify compilation without signing:
bash
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
xcodebuild -project App.xcodeproj -scheme App -destination 'generic/platform=iOS' CODE_SIGNING_ALLOWED=NO build
  • If an app build/minification step hangs but source checks pass, record the exact workaround and mention it as a follow-up, not as a reason to invent success.

Public GitHub profile linkage

When a newly published product site should become the commercial destination for an established GitHub identity:

  1. Read the existing profile before changing anything:
bash
gh api user --jq '{login,name,bio,blog,company,location,html_url}'
  1. GitHub exposes the profile Website field as blog. Change only that field unless the user explicitly requests broader profile edits:
bash
gh api --method PATCH user -f blog='https://example.com' \
--jq '{login,bio,blog,html_url}'
  1. Verify the public representation, not only the authenticated response:
bash
GH_USER=$(gh api user --jq .login)
gh api "users/$GH_USER" --jq '{login,bio,blog,html_url}'

For the user's value-first commercial funnel, the Website field should point to the canonical owned commercial hub; the bio can retain community/moderator positioning. Link public product repositories back to specific product or documentation pages, while keeping the storefront source repository private by default.

Static Website Deployment and Domain Handoff

When the first-published project is a static commercial website, continue through hosting and live-domain verification rather than stopping at source control. Determine the deployment source before changing remotes: a Cloudflare-hosted site may use Direct Upload even when a historical GitHub repository exists.

  • For Git-connected Cloudflare Pages plus an external registrar, use , including DNS/mail-record preservation, apex/www canonicalization, and live HTTPS verification.
  • When the user specifies local Git plus direct Cloudflare deployment, use : make the private Mac-hosted bare repository canonical origin, retain GitHub only as a reference remote, verify checkout/local-remote SHA parity, and treat Cloudflare publication as a separate gate.

Never assume that pushing GitHub updates the live Cloudflare site. Verify whether the project is Git-integrated or Direct Upload, and keep source-control completion distinct from deployment completion.

Before deployment, verify that every commit uses the user's established GitHub noreply identity. A syntactically “noreply”-looking custom-domain address is not automatically the correct public identity.

Retiring Remote Repositories Safely

When the user explicitly authorizes deleting a GitHub repository, treat retirement as a recoverability and least-privilege workflow: inspect every remote ref and local clone, create and verify a complete Git bundle, preserve dirty/untracked local work separately, delete repositories serially with an absence check after each one, and retain local copies unless separately authorized for deletion. GitHub repository admin permission does not imply that the active OAuth token has delete_repo; request that scope only for the deletion, require the user to approve the device flow, then remove the scope and verify it is absent from gh auth status.

Pitfalls

  • Never commit release/ or generated .exe/installer artifacts by accident on the first push.

  • Do not trust a clean-looking top-level directory; Xcode and Electron often leave large generated folders beside source.

  • Do not print or include secret values in reports. Say whether a scan found hardcoded key patterns.

  • Do not promise public availability if the repo was created private.

  • Do not conflate source-patch recovery with deployed-binary recovery. A post-update Git hook may reapply source changes successfully while leaving an installed Electron/macOS/Windows application on the old build; inspect and document the rebuild/reinstall path separately.

  • references/local-app-first-push.md — condensed checklist and command transcript pattern from a successful Electron+iOS translator app first push.

  • references/private-upstream-patch-repository.md — package a verified upstream repair as a small private patch repo with an idempotent worktree-safe apply script, artifact-integrity checks, and local macOS packaging gates.

  • templates/idempotent-git-patch-apply.sh — starter installer for fail-closed, worktree-safe, idempotent patch application.

Public support files

  • references/local-app-first-push.md
  • references/private-upstream-patch-repository.md
  • templates/idempotent-git-patch-apply.sh

© AtlasOmnia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/github/local-app-github-publishing of AtlasOmnia/donna-starter.

  • SKILL.md
  • references/local-app-first-push.md
  • references/private-upstream-patch-repository.md
  • templates/idempotent-git-patch-apply.sh

Open the folder on GitHubat commit a3710bd

Compare with similar skills

Local App GitHub Publishing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Local App GitHub Publishing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Local App GitHub Publishing this skillAtlasOmnia/donna-starter125—~3.8kAutomated safety check: NotesMIT
MAUI UI Test Writerdotnet/maui23k—~3kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0
Pull Request Title and Body Writeropeninterpreter/openinterpreter69k2 repos~1.1kAutomated safety check: PassApache-2.0
Draft Release Notesjamiepine/voicebox57k—~941Automated safety check: PassMIT

Similar skills

  • Official

    Writes UI tests that reproduce a GitHub issue in .NET MAUI and keeps iterating until the tests actually fail, proving they catch the bug.

    23k GitHub stars~3k tokensUpdated today
    Testing & QAAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Pull Request Title and Body Writer

    openinterpreter/openinterpreter

    Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.

    69k GitHub starsUsed in 2 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Draft Release Notes

    jamiepine/voicebox

    Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.

    57k GitHub stars~941 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Official

    Fetches a pull request's canonical review state as JSON, validates it, and renders markdown, a text summary and triage target files from it using bundled scripts.

    48k GitHub stars~767 tokensUpdated today
    DevelopmentAuto-check passed

More from AtlasOmnia/donna-starter

All 11 skills in this repo
  • macOS Storage Management

    AtlasOmnia/donna-starter

    macos-storage-management — Use when freeing Mac storage or moving files to SSDs.

    125 GitHub stars~4.2k tokensUpdated 19 days ago
    Auto-check passed
  • Marketing Collateral Design

    AtlasOmnia/donna-starter

    marketing-collateral-design — Use when designing, recreating, critiquing, or exporting static marketing collateral such as flyers, social graphics, postcards, brochures, business cards, print ads…

    125 GitHub stars~4.2k tokensUpdated 19 days ago
    Auto-check passed
  • Hermes Self Evaluation

    AtlasOmnia/donna-starter

    hermes-self-evaluation — Use when the user asks to evaluate, audit, or optimize Hermes itself — analyzing session history, skill library, costs, and architecture to identify improvements, automation…

    125 GitHub stars~3k tokensUpdated 19 days ago
    Auto-check: notes
  • Skill Auditor

    AtlasOmnia/donna-starter

    skill-auditor — Use when auditing, reviewing, or grading Hermes skills for quality.

    125 GitHub stars~3.8k tokensUpdated 19 days ago
    Auto-check passed
  • Local Discovery

    AtlasOmnia/donna-starter

    local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'.

    125 GitHub stars~3.1k tokensUpdated 19 days ago
    Auto-check passed
  • Cross Browser Typography QA

    AtlasOmnia/donna-starter

    cross-browser-typography-qa — Diagnose and verify web typography rendering defects across Chromium, WebKit, and native Safari, including clipped glyphs, broken descenders, wrapping, font metrics…

    125 GitHub stars~2.3k tokensUpdated 19 days ago
    Auto-check passed

Works with

Categories

Questions about Local App GitHub Publishing

What does Local App GitHub Publishing do?

local-app-github-publishing — Safely publish local apps, prototypes, and substantial local branches to GitHub for the first time. Local App GitHub Publishing is an agent skill from AtlasOmnia/donna-starter. local-app-github-publishing — Safely publish local apps, prototypes, and substantial local branches to GitHub for the first time.

When should I use Local App GitHub Publishing?

Local App GitHub Publishing fits situations like: development work in your project.

How do I install Local App GitHub Publishing in Claude Code?

Run `npx skills add AtlasOmnia/donna-starter --skill local-app-github-publishing -a claude-code`. Or copy the skill folder (skills/github/local-app-github-publishing in AtlasOmnia/donna-starter) into .claude/skills/local-app-github-publishing in your project. Claude Code loads it when a task matches its description.

How do I install Local App GitHub Publishing in Codex?

Run `npx skills add AtlasOmnia/donna-starter --skill local-app-github-publishing -a codex`. Or copy the skill folder (skills/github/local-app-github-publishing in AtlasOmnia/donna-starter) into .agents/skills/local-app-github-publishing in your project. Codex loads it when a task matches its description.

Can I use Local App GitHub Publishing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AtlasOmnia/donna-starter --skill local-app-github-publishing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-app-github-publishing, .gemini/skills/local-app-github-publishing, .github/skills/local-app-github-publishing and .opencode/skills/local-app-github-publishing in your project.

What does Local App GitHub Publishing need to run?

Going by SKILL.md and its folder, Local App GitHub Publishing needs a shell for the scripts in its folder and the command-line tools its instructions call (git, gh, xcodebuild and python3). Our summary lists: Python 3; A Bash shell.

Does Local App GitHub Publishing access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Local App GitHub Publishing safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Local App GitHub Publishing use?

Local App GitHub Publishing is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Local App GitHub Publishing use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.

What are the alternatives to Local App GitHub Publishing?

Skills that share tags, products or a category with Local App GitHub Publishing: MAUI UI Test Writer (dotnet/maui, 23k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Create Pull Request (cline/cline, 70k stars) and Pull Request Title and Body Writer (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Local App GitHub Publishing?

AtlasOmnia (a GitHub user) maintains it in AtlasOmnia/donna-starter, which has 125 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 19, 2026.

Source: AtlasOmnia/donna-starter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.