Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Guide explicit Git and versioning work such as commits, branches, worktrees, release tags, semantic versions, and changelogs.
$ npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dzhalaevd/Donatello git-workflow-and-versioning --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dzhalaevd/Donatello.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/git-workflow-and-versioning .claude/skills/git-workflow-and-versioning && rm -rf skills-srcUse ~/.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/
Install the "git-workflow-and-versioning" agent skill from https://github.com/dzhalaevd/Donatello/tree/main/.agents/skills/git-workflow-and-versioning into .claude/skills/git-workflow-and-versioning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow-and-versioning", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dzhalaevd/Donatello/tree/main/.agents/skills/git-workflow-and-versioningType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dzhalaevd/Donatello git-workflow-and-versioning --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhalaevd/Donatello.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/git-workflow-and-versioning .agents/skills/git-workflow-and-versioning && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "git-workflow-and-versioning" agent skill from https://github.com/dzhalaevd/Donatello/tree/main/.agents/skills/git-workflow-and-versioning into .agents/skills/git-workflow-and-versioning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow-and-versioning", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dzhalaevd/Donatello git-workflow-and-versioning --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhalaevd/Donatello.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/git-workflow-and-versioning .cursor/skills/git-workflow-and-versioning && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "git-workflow-and-versioning" agent skill from https://github.com/dzhalaevd/Donatello/tree/main/.agents/skills/git-workflow-and-versioning into .cursor/skills/git-workflow-and-versioning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow-and-versioning", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dzhalaevd/Donatello.git --path .agents/skills/git-workflow-and-versioning--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dzhalaevd/Donatello git-workflow-and-versioning --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhalaevd/Donatello.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/git-workflow-and-versioning .gemini/skills/git-workflow-and-versioning && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "git-workflow-and-versioning" agent skill from https://github.com/dzhalaevd/Donatello/tree/main/.agents/skills/git-workflow-and-versioning into .gemini/skills/git-workflow-and-versioning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow-and-versioning", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dzhalaevd/Donatello git-workflow-and-versioningInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dzhalaevd/Donatello.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/git-workflow-and-versioning .github/skills/git-workflow-and-versioning && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "git-workflow-and-versioning" agent skill from https://github.com/dzhalaevd/Donatello/tree/main/.agents/skills/git-workflow-and-versioning into .github/skills/git-workflow-and-versioning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow-and-versioning", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dzhalaevd/Donatello git-workflow-and-versioning --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhalaevd/Donatello.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/git-workflow-and-versioning .opencode/skills/git-workflow-and-versioning && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "git-workflow-and-versioning" agent skill from https://github.com/dzhalaevd/Donatello/tree/main/.agents/skills/git-workflow-and-versioning into .opencode/skills/git-workflow-and-versioning/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "git-workflow-and-versioning", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
git-workflow-and-versioningGuide explicit Git and versioning work such as commits, branches, worktrees, release tags, semantic versions, and changelogs.
Git Workflow And Versioning is an agent skill from dzhalaevd/Donatello. Guide explicit Git and versioning work such as commits, branches, worktrees, release tags, semantic versions, and changelogs. Use when the user asks for one of those operations or for Git workflow design. Do not invoke for ordinary code edits that do not require a Git action.
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Git workflow. It works with Git. The repository describes itself as: Make Dating Great Again. An open source dating platform. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b57816e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitmakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Git Workflow And Versioning loads about 3.4k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 1,268 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
(`dist/`, `.next/`), environment files (`.env`), or IDE config (`.vscode/settings.json` unless shared)that covers: `node_modules/`, `dist/`, `.env`, `.env.local`, `*.pem`| "I don't need a .gitignore" | Until `.env` with production secrets gets committed. Set it up immediately. |- Committing `node_modules/`, `.env`, or build artifactsAutomated 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.
The full file from dzhalaevd/Donatello at commit b57816e, republished under its Apache-2.0 licence (© dzhalaevd). 1,268 words, ~3,445 tokens.
.claude/skills/git-workflow-and-versioning/SKILL.md (or your agent's skills folder).Git is your safety net. Treat commits as save points, branches as sandboxes, and history as documentation. With AI agents generating code at high speed, disciplined version control is the mechanism that keeps changes manageable, reviewable, and reversible.
Use for an explicit Git, branching, commit, release, or versioning task. Repository status inspection alone does not require this skill.
Keep main always deployable. Work in short-lived feature branches that merge back within 1-3 days. Long-lived development branches are hidden costs — they diverge, create merge conflicts, and delay integration. DORA research consistently shows trunk-based development correlates with high-performing engineering teams.
main ──●──●──●──●──●──●──●──●──●── (always deployable)
╲ ╱ ╲ ╱
●──●─╱ ●──╱ ← short-lived feature branches (1-3 days)This is the recommended default. Teams using gitflow or long-lived branches can adapt the principles (atomic commits, small changes, descriptive messages) to their branching model — the commit discipline matters more than the specific branching strategy.
Each successful increment gets its own commit. Don't accumulate large uncommitted changes.
Work pattern:
Implement slice → Test → Verify → Commit → Next slice
Not this:
Implement everything → Hope it works → Giant commitCommits are save points. If the next change breaks something, you can revert to the last known-good state instantly.
Each commit does one logical thing:
# Good: Each commit is self-contained
git log --oneline
a1b2c3d Add task creation endpoint with validation
d4e5f6g Add task creation form component
h7i8j9k Connect form to API and add loading state
m1n2o3p Add task creation tests (unit + integration)
# Bad: Everything mixed together
git log --oneline
x1y2z3a Add task feature, fix sidebar, update deps, refactor utilsCommit messages explain the why, not just the what:
# Good: Explains intent
feat: add email validation to registration endpoint
Prevents invalid email formats from reaching the database.
Uses Zod schema validation at the route handler level,
consistent with existing validation patterns in auth.ts.
# Bad: Describes what's obvious from the diff
update auth.tsFormat:
<type>: <short description>
<optional body explaining why, not what>Types:
feat — New featurefix — Bug fixrefactor — Code change that neither fixes a bug nor adds a featuretest — Adding or updating testsdocs — Documentation onlychore — Tooling, dependencies, configDon't combine formatting changes with behavior changes. Don't combine refactors with features. Each type of change should be a separate commit — and ideally a separate PR:
# Good: Separate concerns
git commit -m "refactor: extract validation logic to shared utility"
git commit -m "feat: add phone number validation to registration"
# Bad: Mixed concerns
git commit -m "refactor validation and add phone number field"Separate refactoring from feature work. A refactoring change and a feature change are two different changes — submit them separately. This makes each change easier to review, revert, and understand in history. Small cleanups (renaming a variable) can be included in a feature commit at reviewer discretion.
Target ~100 lines per commit/PR. Changes over ~1000 lines should usually be split into independently verifiable changes.
~100 lines → Easy to review, easy to revert
~300 lines → Acceptable for a single logical change
~1000 lines → Split into smaller changesmain (always deployable)
│
├── feature/task-creation ← One feature per branch
├── feature/user-settings ← Parallel work
└── fix/duplicate-tasks ← Bug fixesmain (or the team's default branch)feature/<short-description> → feature/task-creation
fix/<short-description> → fix/duplicate-tasks
chore/<short-description> → chore/update-deps
refactor/<short-description> → refactor/auth-moduleFor parallel AI agent work, use git worktrees to run multiple branches simultaneously:
# Create a worktree for a feature branch
git worktree add ../project-feature-a feature/task-creation
git worktree add ../project-feature-b feature/user-settings
# Each worktree is a separate directory with its own branch
# Agents can work in parallel without interfering
ls ../
project/ ← main branch
project-feature-a/ ← task-creation branch
project-feature-b/ ← user-settings branch
# When done, merge and clean up
git worktree remove ../project-feature-aBenefits:
Agent starts work
│
├── Makes a change
│ ├── Test passes? → Commit → Continue
│ └── Test fails? → Revert to last commit → Investigate
│
├── Makes another change
│ ├── Test passes? → Commit → Continue
│ └── Test fails? → Revert to last commit → Investigate
│
└── Feature complete → All commits form a clean historyThis pattern limits the amount of work between reviewable save points. Never discard work with git reset --hard or
similar destructive commands unless the user explicitly authorizes the exact operation and target.
After any modification, provide a structured summary. This makes review easier, documents scope discipline, and surfaces unintended changes:
CHANGES MADE:
- src/routes/tasks.ts: Added validation middleware to POST endpoint
- src/lib/validation.ts: Added TaskCreateSchema using Zod
THINGS I DIDN'T TOUCH (intentionally):
- src/routes/auth.ts: Has similar validation gap but out of scope
- src/middleware/error.ts: Error format could be improved (separate task)
POTENTIAL CONCERNS:
- The Zod schema is strict — rejects extra fields. Confirm this is desired.
- Added zod as a dependency (72KB gzipped) — already in package.jsonThis pattern catches wrong assumptions early and gives reviewers a clear map of the change. The "DIDN'T TOUCH" section is especially important — it shows you exercised scope discipline and didn't go on an unsolicited renovation.
Before every commit:
# 1. Check what you're about to commit
git diff --staged
# 2. Ensure no secrets
git diff --staged | grep -i "password\|secret\|api_key\|token"
# 3. Run the repository's documented verification command
make verifyAutomate this with git hooks:
// package.json (using lint-staged + husky)
{
"lint-staged": {
"*.{ts,tsx}": ["eslint --fix", "prettier --write"],
"*.{json,md}": ["prettier --write"]
}
}package-lock.json, Prisma migrations)dist/, .next/), environment files (.env), or IDE config (.vscode/settings.json unless shared).gitignore that covers: node_modules/, dist/, .env, .env.local, *.pem# Find which commit introduced a bug
git bisect start
git bisect bad HEAD
git bisect good <known-good-commit>
# Git checkouts midpoints; run your test at each to narrow down
# View what changed recently
git log --oneline -20
git diff HEAD~5..HEAD -- src/
# Find who last changed a specific line
git blame src/services/task.ts
# Search commit messages for a keyword
git log --grep="validation" --onelineCommits are how you track change; a version is how your consumers track it. The moment anything else depends on your code — another team, a published package, a deployed client — "latest on main" stops being a sufficient answer to "what am I running, and is it safe to upgrade?" A version number and a changelog are the contract that answers it.
For anything with consumers, version MAJOR.MINOR.PATCH and let the number carry meaning:
MAJOR breaking change — consumers must change their code to upgrade
MINOR new functionality, backward-compatible — safe to upgrade
PATCH bug fix, backward-compatible — safe to upgradeThe number is a promise, so make the code match it. A "patch" that changes behavior consumers relied on is a major change wearing a disguise (Hyrum's Law — see the api-and-interface-design skill). When unsure whether a change is breaking, assume it is; a surprise major is far cheaper than a broken consumer.
A release is an immutable point in history, not a moving branch. Tag it so it can always be reproduced:
git tag -a v1.4.0 -m "Release 1.4.0"
git push origin v1.4.0Derive the version from the tag rather than hand-editing it in scattered files, so the artifact, the tag, and the changelog can never disagree.
A changelog is not git log. It's the curated, consumer-facing answer to "what changed and do I care?" — grouped by Added / Changed / Fixed / Deprecated / Removed / Security, newest on top, every entry phrased around user impact, not internal mechanics.
## [1.4.0] - 2025-06-12
### Added
- Bulk task import via CSV
### Fixed
- Timezone drift in recurring task due dates
### Deprecated
- `GET /v1/tasks/all` — use the paginated `GET /v1/tasks` (removal in 2.0)Write the entry in the same change that makes the change, while the impact is fresh — not reconstructed from commit archaeology at release time. Breaking changes get a migration note and a deprecation window (follow the deprecation-and-migration skill); shipping the actual release is the shipping-and-launch skill's job — this section is the versioning contract that feeds it.
| Rationalization | Reality |
|---|---|
| "I'll commit when the feature is done" | One giant commit is impossible to review, debug, or revert. Commit each slice. |
| "The message doesn't matter" | Messages are documentation. Future you (and future agents) will need to understand what changed and why. |
| "I'll squash it all later" | Squashing destroys the development narrative. Prefer clean incremental commits from the start. |
| "Branches add overhead" | Short-lived branches are free and prevent conflicting work from colliding. Long-lived branches are the problem — merge within 1-3 days. |
| "I'll split this change later" | Large changes are harder to review, riskier to deploy, and harder to revert. Split before submitting, not after. |
| "I don't need a .gitignore" | Until .env with production secrets gets committed. Set it up immediately. |
| "It's just a small fix, bump the patch" | Check what consumers can observe. A behavior change they relied on is a major, whatever the diff size. |
| "The changelog is just the commit log" | Commits are for you; the changelog is for consumers, curated by impact. Generating one from raw commits buries what matters. |
| "We'll write the changelog at release time" | By then the impact is reconstructed from memory and half of it is missing. Write the entry with the change. |
.gitignore in the projectnode_modules/, .env, or build artifactsFor every commit:
.gitignore covers standard exclusionsFor every release (anything with consumers):
© dzhalaevd, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/git-workflow-and-versioning of dzhalaevd/Donatello.
Open the folder on GitHubat commit b57816e
Git Workflow And Versioning 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Git Workflow And Versioning this skilldzhalaevd/Donatello | 135 | — | ~3.4k | Automated safety check: Notes | Apache-2.0 | |
| Finishing a Development Branchobra/superpowers | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Migrate Internal Package into GhostTryGhost/Ghost | 55k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
cline/cline
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.
tailcallhq/forgecode
Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.
dzhalaevd/Donatello
Guides stable API and interface design. An agent skill from dzhalaevd/Donatello.
dzhalaevd/Donatello
Records decisions and documentation. An agent skill from dzhalaevd/Donatello.
dzhalaevd/Donatello
Automates CI/CD pipeline setup. An agent skill from dzhalaevd/Donatello.
dzhalaevd/Donatello
Manages deprecation and migration. An agent skill from dzhalaevd/Donatello.
dzhalaevd/Donatello
Instruments code so production behavior is visible and diagnosable.
dzhalaevd/Donatello
Prepares production launches. An agent skill from dzhalaevd/Donatello.
Works with
Categories
Guide explicit Git and versioning work such as commits, branches, worktrees, release tags, semantic versions, and changelogs. Git Workflow And Versioning is an agent skill from dzhalaevd/Donatello. Guide explicit Git and versioning work such as commits, branches, worktrees, release tags, semantic versions, and changelogs.
Git Workflow And Versioning fits situations like: the user asks for one of those operations; for Git workflow design.
Run `npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a claude-code`. Or copy the skill folder (.agents/skills/git-workflow-and-versioning in dzhalaevd/Donatello) into .claude/skills/git-workflow-and-versioning in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a codex`. Or copy the skill folder (.agents/skills/git-workflow-and-versioning in dzhalaevd/Donatello) into .agents/skills/git-workflow-and-versioning in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dzhalaevd/Donatello --skill git-workflow-and-versioning -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/git-workflow-and-versioning, .gemini/skills/git-workflow-and-versioning, .github/skills/git-workflow-and-versioning and .opencode/skills/git-workflow-and-versioning in your project.
Going by SKILL.md and its folder, Git Workflow And Versioning needs the command-line tools its instructions call (git and make).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Git Workflow And Versioning is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Git Workflow And Versioning: Finishing a Development Branch (obra/superpowers, 296k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Migrate Internal Package into Ghost (TryGhost/Ghost, 55k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dzhalaevd (a GitHub user) maintains it in dzhalaevd/Donatello, which has 135 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 3, 2026.
Source: dzhalaevd/Donatello on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.