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.
Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.
$ npx skills add tailcallhq/forgecode --skill resolve-conflicts -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tailcallhq/forgecode resolve-conflicts --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/tailcallhq/forgecode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.forge/skills/resolve-conflicts .claude/skills/resolve-conflicts && 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 "resolve-conflicts" agent skill from https://github.com/tailcallhq/forgecode/tree/main/.forge/skills/resolve-conflicts into .claude/skills/resolve-conflicts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-conflicts", 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/tailcallhq/forgecode/tree/main/.forge/skills/resolve-conflictsType 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 tailcallhq/forgecode --skill resolve-conflicts -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tailcallhq/forgecode resolve-conflicts --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tailcallhq/forgecode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.forge/skills/resolve-conflicts .agents/skills/resolve-conflicts && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "resolve-conflicts" agent skill from https://github.com/tailcallhq/forgecode/tree/main/.forge/skills/resolve-conflicts into .agents/skills/resolve-conflicts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-conflicts", 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 tailcallhq/forgecode --skill resolve-conflicts -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tailcallhq/forgecode resolve-conflicts --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tailcallhq/forgecode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.forge/skills/resolve-conflicts .cursor/skills/resolve-conflicts && 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 "resolve-conflicts" agent skill from https://github.com/tailcallhq/forgecode/tree/main/.forge/skills/resolve-conflicts into .cursor/skills/resolve-conflicts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-conflicts", 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/tailcallhq/forgecode.git --path .forge/skills/resolve-conflicts--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 tailcallhq/forgecode --skill resolve-conflicts -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tailcallhq/forgecode resolve-conflicts --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tailcallhq/forgecode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.forge/skills/resolve-conflicts .gemini/skills/resolve-conflicts && 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 "resolve-conflicts" agent skill from https://github.com/tailcallhq/forgecode/tree/main/.forge/skills/resolve-conflicts into .gemini/skills/resolve-conflicts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-conflicts", 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 tailcallhq/forgecode resolve-conflictsInstalls 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 tailcallhq/forgecode --skill resolve-conflicts -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tailcallhq/forgecode.git skills-src && mkdir -p .github/skills && cp -r skills-src/.forge/skills/resolve-conflicts .github/skills/resolve-conflicts && 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 "resolve-conflicts" agent skill from https://github.com/tailcallhq/forgecode/tree/main/.forge/skills/resolve-conflicts into .github/skills/resolve-conflicts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-conflicts", 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 tailcallhq/forgecode --skill resolve-conflicts -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tailcallhq/forgecode resolve-conflicts --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tailcallhq/forgecode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.forge/skills/resolve-conflicts .opencode/skills/resolve-conflicts && 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 "resolve-conflicts" agent skill from https://github.com/tailcallhq/forgecode/tree/main/.forge/skills/resolve-conflicts into .opencode/skills/resolve-conflicts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-conflicts", 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.
resolve-conflictsResolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.
The skill works plan first. It assesses conflicts with git status, sorts them into groups (both modified, deleted-modified, generated files, tests, imports and configuration, binary), writes a structured Merge Resolution Plan and waits for your approval before changing anything. Its principles are to prefer keeping both changes, to merge rather than choose for imports, tests and configuration, to regenerate generated files from their sources instead of merging them by hand, to back up deleted-modified files first, to run tests afterwards, to explain each resolution in one line and to ask when the right answer is not clear from the diff.
Deleted-but-modified files (git statuses DU, UD, DD, UA and AU) are handled only after the plan is approved, using the handle-deleted-modified.sh script, and validate-conflicts.sh checks the result. A patterns reference and a complete sample plan are included. The instructions tell the agent to invoke the skill as soon as merge conflicts come up, instead of resolving them directly.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 92a5699. 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.
Ships 2 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitcargonpmyarnbundlepoetrymakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, npm and yarn, 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 Merge Conflict Resolver loads about 4.5k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 96 tokens; SKILL.md has 1,732 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 found no risky patterns in SKILL.md.
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); the scripts in this folder are not scanned.
The full file from tailcallhq/forgecode at commit 92a5699, republished under its Apache-2.0 licence (© tailcallhq). 1,732 words, ~4,492 tokens.
.claude/skills/resolve-conflicts/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Resolve Git merge conflicts by intelligently combining changes from both branches while preserving the intent of both changes. This skill follows a plan-first approach: assess conflicts, create a detailed resolution plan, get approval, then execute.
Run initial checks to understand the conflict scope:
git statusIdentify and categorize all conflicted files:
For each conflicted file, gather information:
Based on the assessment, create a structured plan before resolving any conflicts. Present the plan in the following markdown format:
## Merge Resolution Plan
### Conflict Summary
- **Total conflicted files**: [N]
- **Deleted-modified conflicts**: [N]
- **Generated files**: [N]
- **Regular conflicts**: [N]
### Resolution Strategy by File
#### 1. [File Path]
**Conflict Type**: [deleted-modified / generated / imports / tests / code logic / config / struct / binary]
**Strategy**: [Brief description of resolution approach]
**Rationale**: [Why this strategy is appropriate]
**Risk**: [Low/Medium/High] - [Brief risk description]
**Action Items**:
- [ ] [Specific action 1]
- [ ] [Specific action 2]
#### 2. [File Path]
...
### Execution Order
1. **Phase 1: Deleted-Modified Files** - Handle deletions and backups first
2. **Phase 2: Generated Files** - Regenerate from source
3. **Phase 3: Low-Risk Merges** - Imports, tests, documentation
4. **Phase 4: High-Risk Merges** - Code logic, configuration, structs
5. **Phase 5: Validation** - Compile, test, verify
### Questions/Decisions Needed
- [ ] **[File/Decision]**: [Question for user] (Options: 1, 2, 3)
### Validation Steps
- [ ] Run conflict validation script
- [ ] Compile project
- [ ] Run test suite
- [ ] Manual verification of high-risk changesPresent this plan to the user and wait for their approval before proceeding with resolution. If there are any unclear conflicts where you need user input, list them in the "Questions/Decisions Needed" section.
For a complete example plan, see references/sample-plan.md.
Execute this phase only after the plan is approved.
If there are deleted-but-modified files (status: DU, UD, DD, UA, AU):
.forge/skills/resolve-conflicts/scripts/handle-deleted-modified.shThis script will:
Review the backup directory and analysis files to understand where changes should be applied.
Follow the execution order defined in your plan. For each conflicted file, apply the appropriate resolution pattern according to your plan. For every conflict you resolve, provide a one-line explanation of how you're resolving it.
As you complete each action item in your plan, mark it as done and report progress to the user.
When you cannot determine the correct resolution from the diff alone (these should already be listed in your plan's "Questions/Decisions Needed" section):
Example interaction:
I found a conflict in src/main.rs where both branches modify the `calculate_price` function:
<<<<<<< HEAD (Current Branch)
fn calculate_price(item: &Item) -> f64 {
item.base_price * (1.0 + item.tax_rate)
}
=======
fn calculate_price(item: &Item) -> f64 {
item.base_price + item.tax_amount
}
>>>>>>> feature-branch (Incoming Branch)
I'm not sure which calculation is correct. Please select an option:
**Option 1**: Keep current branch (multiplies base_price by tax_rate)
**Option 2**: Keep incoming branch (adds tax_amount to base_price)
**Option 3**: Keep both approaches with a new parameter
**Option 4**: Provide more context to help me decide
Please respond with "Option 1", "Option 2", "Option 3", or "Option 4", or provide additional information.Once the user responds, apply their decision and similar logic to related conflicts.
For each conflicted file, apply the appropriate resolution pattern:
Goal: Merge all unique imports from both branches.
One-line explanation: "Merging imports by combining unique imports from both branches, removing duplicates, and grouping by module."
Read references/patterns.md section "Import Conflicts" for detailed examples.
Quick approach:
Goal: Include all test cases and test data from both branches.
One-line explanation: "Merging tests by including all test cases from both branches, combining fixtures, and renaming if necessary to avoid conflicts."
Read references/patterns.md section "Test Conflicts" for detailed examples.
Quick approach:
Goal: Regenerate any generated files to include changes from both branches.
One-line explanation: "Resolving generated file by regenerating it from source files to incorporate changes from both branches."
Recognition: A file is generated if it:
.gitattributes as generatedApproach:
Identify the generation source: Determine what command or tool generates the file
Choose either version temporarily (doesn't matter which):
git checkout --ours <generated-file> # or --theirsRegenerate from source: Run the appropriate generation command:
# Package manager lock files
cargo update # for Cargo.lock
npm install # for package-lock.json
yarn install # for yarn.lock
bundle install # for Gemfile.lock
poetry lock --no-update # for poetry.lock
# Code generation
protoc ... # for protobuf files
graphql-codegen # for GraphQL generated code
make generate # for Makefile-based generation
npm run generate # for npm script-based generation
# Build artifacts
npm run build # for compiled/bundled assets
cargo build # for Rust build artifactsStage the regenerated file:
git add <generated-file>When unsure if a file is generated: Check for auto-generation markers in the file header, or ask the user if you should regenerate or manually merge the file.
Goal: Merge configuration values from both branches.
One-line explanation: "Merging configuration by including all keys from both branches and choosing appropriate values for conflicts."
Read references/patterns.md section "Configuration File Conflicts" for detailed examples.
Quick approach:
When unclear: Ask the user which configuration value to prefer (current vs incoming)
Goal: Understand intent of both changes and combine if possible.
One-line explanation: "Resolving code logic by analyzing intent: merging if changes are orthogonal, or choosing one approach if they conflict."
Read references/patterns.md section "Code Logic Conflicts" for detailed examples.
Quick approach:
When unclear: Present both approaches as options to the user with context about what each does
Goal: Include all fields from both branches.
One-line explanation: "Merging struct by including all fields from both branches and choosing appropriate types for any conflicting field definitions."
Quick approach:
When unclear: Ask the user which type definition is correct if field types conflict
After completing all resolution phases in your plan, validate that all conflicts are resolved:
.forge/skills/resolve-conflicts/scripts/validate-conflicts.shThis script checks for:
Build and test to ensure the resolution is correct (as defined in your plan's validation steps):
# For Rust projects
cargo test
# For other projects, use appropriate test command
# npm test
# pytest
# etc.If tests fail:
Once all conflicts are resolved and tests pass, review your completed plan and commit:
# Review the changes
git diff --cached
# Commit with descriptive message that references the plan
git commit -m "Resolve merge conflicts: [describe key decisions]
Executed merge resolution plan:
- [Phase 1 summary]
- [Phase 2 summary]
- [Phase 3+ summaries]
Key decisions:
- Merged imports from both branches
- Combined test cases
- Regenerated lock files
- [other significant decisions from plan]
Co-Authored-By: ForgeCode <noreply@forgecode.dev>"When you ask the user to choose between options, track their decision and apply similar reasoning to subsequent conflicts:
Example scenario:
Key principles:
For detailed resolution patterns, read:
references/patterns.md - Comprehensive examples for all conflict typesQuick pattern lookup:
Binary files cannot be merged. Choose one version:
git checkout --ours path/to/binary # keep our version
# or
git checkout --theirs path/to/binary # keep their versionIf one branch renamed/refactored many files while another modified them:
handle-deleted-modified.sh to guide the application# Check submodule status
git submodule status
# Update to the correct commit
cd path/to/submodule
git checkout <desired-commit>
cd ../..
git add path/to/submoduleBoth branches added a new file with the same name but different content:
If conflicts are only whitespace differences:
git merge -Xignore-space-change <branch>If validation shows conflict markers but you think you resolved them:
git grep -n "<<<<<<< HEAD"| Conflict Type | Strategy | One-line Explanation Template |
|---|---|---|
| Imports | Merge all, deduplicate, group by module | "Merging imports by combining unique imports from both branches and grouping by module" |
| Tests | Keep all, merge fixtures | "Including all test cases from both branches and combining test fixtures" |
| Generated files | Regenerate from source | "Regenerating [file] from source to include changes from both branches" |
| Config | Merge keys, choose newer values | "Merging all config keys and choosing [current/incoming] value for [key]" |
| Code logic | Analyze intent, merge if orthogonal | "Merging both changes as they address different concerns" OR "Choosing [current/incoming] approach for [reason]" |
| Structs | Include all fields | "Including all fields from both branches in struct definition" |
| Docs | Combine all sections | "Combining documentation from both branches" |
| Deleted-modified | Backup, analyze, apply to new location | "Applying modifications to new location after file was moved/renamed" |
| Binary files | Choose one version | "Keeping [current/incoming] version of binary file" |
Remember:
© tailcallhq, 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
SKILL.md and 4 other files (scripts, references) in .forge/skills/resolve-conflicts of tailcallhq/forgecode.
Open the folder on GitHubat commit 92a5699
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in tailcallhq/forgecode, which our catalogue first saw on October 7, 2026.
Git Merge Conflict Resolver 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 Merge Conflict Resolver this skilltailcallhq/forgecode | 7.6k | 1 repos | ~4.5k | Automated safety check: Pass | 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.
makeplane/plane
Names a new Git branch with a type prefix, the lowercased work item ID and a short kebab-case description, so the ID can be extracted later from the branch name.
tailcallhq/forgecode
Gives a systematic process for debugging the forge CLI: build in debug mode, check the latest help output, test with the non-interactive -p flag, and clone conversations before reproducing bugs.
tailcallhq/forgecode
Finds every FIXME comment in a codebase, groups related ones across files into one task, implements the work they describe and removes the comments once it is done.
tailcallhq/forgecode
Checks that ReasoningConfig fields are serialized into the right provider-specific JSON for OpenRouter, Anthropic, GitHub Copilot and Codex requests.
tailcallhq/forgecode
Writes a structured Markdown implementation plan with checkbox tasks, verification criteria and risks, then checks it with a validation script; no code changes.
tailcallhq/forgecode
Pulls a GitHub release and every linked pull request, then writes polished, factual release notes from the combined set of changes.
tailcallhq/forgecode
Guidance for creating and updating agent skills: what skills provide, keeping context lean, choosing how specific to be, and how SKILL.md and bundled resources are laid out.
Works with
Categories
Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files. The skill works plan first. It assesses conflicts with git status, sorts them into groups (both modified, deleted-modified, generated files, tests, imports and configuration, binary), writes a structured Merge Resolution Plan and waits for your approval before changing anything.
Git Merge Conflict Resolver fits situations like: merging a branch that produced conflicts in several files; resolving lock file conflicts by regenerating them; handling files deleted on one branch and modified on the other.
Run `npx skills add tailcallhq/forgecode --skill resolve-conflicts -a claude-code`. Or copy the skill folder (.forge/skills/resolve-conflicts in tailcallhq/forgecode) into .claude/skills/resolve-conflicts in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tailcallhq/forgecode --skill resolve-conflicts -a codex`. Or copy the skill folder (.forge/skills/resolve-conflicts in tailcallhq/forgecode) into .agents/skills/resolve-conflicts 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 tailcallhq/forgecode --skill resolve-conflicts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resolve-conflicts, .gemini/skills/resolve-conflicts, .github/skills/resolve-conflicts and .opencode/skills/resolve-conflicts in your project.
Going by SKILL.md and its folder, Git Merge Conflict Resolver needs a shell for the scripts in its folder and the command-line tools its instructions call (git, cargo, npm, yarn, bundle and poetry). Our summary lists: Git; Bash, for the helper scripts.
SKILL.md contains no URLs. Its commands use git and npm, 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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Git Merge Conflict Resolver 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 4.5k tokens (SKILL.md is roughly 18k 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 3.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Git Merge Conflict Resolver: 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.
tailcallhq (a GitHub organization) maintains it in tailcallhq/forgecode, which has 7,642 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.
Source: tailcallhq/forgecode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.