Landing
alirezarezvani/claude-skills
Generates a premium single-page HTML landing page with 3D CSS animations, GSAP scroll effects, and mouse-parallax depth.
Load when a ship reports a PR or ready branch, when deciding or monitoring landing, and before task cleanup.
$ npx skills add kunchenguid/firstmate --skill ship-landing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kunchenguid/firstmate ship-landing --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/kunchenguid/firstmate.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ship-landing .claude/skills/ship-landing && 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 "ship-landing" agent skill from https://github.com/kunchenguid/firstmate/tree/main/.agents/skills/ship-landing into .claude/skills/ship-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-landing", 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/kunchenguid/firstmate/tree/main/.agents/skills/ship-landingType 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 kunchenguid/firstmate --skill ship-landing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kunchenguid/firstmate ship-landing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/firstmate.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ship-landing .agents/skills/ship-landing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ship-landing" agent skill from https://github.com/kunchenguid/firstmate/tree/main/.agents/skills/ship-landing into .agents/skills/ship-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-landing", 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 kunchenguid/firstmate --skill ship-landing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kunchenguid/firstmate ship-landing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/firstmate.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ship-landing .cursor/skills/ship-landing && 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 "ship-landing" agent skill from https://github.com/kunchenguid/firstmate/tree/main/.agents/skills/ship-landing into .cursor/skills/ship-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-landing", 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/kunchenguid/firstmate.git --path .agents/skills/ship-landing--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 kunchenguid/firstmate --skill ship-landing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kunchenguid/firstmate ship-landing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/firstmate.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ship-landing .gemini/skills/ship-landing && 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 "ship-landing" agent skill from https://github.com/kunchenguid/firstmate/tree/main/.agents/skills/ship-landing into .gemini/skills/ship-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-landing", 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 kunchenguid/firstmate ship-landingInstalls 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 kunchenguid/firstmate --skill ship-landing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kunchenguid/firstmate.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ship-landing .github/skills/ship-landing && 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 "ship-landing" agent skill from https://github.com/kunchenguid/firstmate/tree/main/.agents/skills/ship-landing into .github/skills/ship-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-landing", 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 kunchenguid/firstmate --skill ship-landing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kunchenguid/firstmate ship-landing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/firstmate.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ship-landing .opencode/skills/ship-landing && 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 "ship-landing" agent skill from https://github.com/kunchenguid/firstmate/tree/main/.agents/skills/ship-landing into .opencode/skills/ship-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ship-landing", 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.
ship-landingLoad when a ship reports a PR or ready branch, when deciding or monitoring landing, and before task cleanup.
Ship Landing is an agent skill from kunchenguid/firstmate. Load when a ship reports a PR or ready branch, when deciding or monitoring landing, and before task cleanup.
Its SKILL.md is about 780 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Talk to one agent. Ship with a crew. The licence is MIT.
Read from SKILL.md and the folder at commit fb75c1f. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Ship Landing loads about 776 tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 430 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); files beside SKILL.md are not scanned.
The full file from kunchenguid/firstmate at commit fb75c1f, republished under its MIT licence (© kunchenguid). 430 words, ~776 tokens.
.claude/skills/ship-landing/SKILL.md (or your agent's skills folder).For PR-based ship tasks, the ready signal depends on mode: no-mistakes reports done [at=<epoch>]: PR <url> checks green after CI is green, while direct-PR reports done [at=<epoch>]: PR <url> after opening the PR, each only for a non-draft PR; a lane that deliberately holds a draft declares a wait instead, and bin/fm-pr-check.sh refuses to arm merge monitoring on a draft.
Run bin/fm-pr-check.sh <id> <PR url> with the URL copied from that ready signal or the resolved checks-green fm-crew-state.sh line - it records pr= and the forge's pr_head= when available in the task's meta and arms the watcher's merge poll.
bin/fm-dod-lib.sh owns the named-head gate on that ready signal: a ship done: whose named head exists only in the worker's disposable copy is not ready (bin/fm-crew-state.sh reports blocked, bin/fm-pr-check.sh refuses to register, and a secondmate does not publish that done upstream).
That blocked reading is the gate working, not a stuck worker, so steer the worker on the commit the refusal names rather than waiting.
A direct-PR worker pushes that commit to its PR branch, and a local-only worker commits it on its ship branch.
A no-mistakes worker re-validates it with /no-mistakes so the pipeline stays the one publisher; it never pushes from its copy.
In no-mistakes mode the earlier done [at=<epoch>]: {summary} is the pipeline handoff and is not gated.
Tell the captain the PR's full https://... URL copied from the worker's ready line, the resolved checks-green crew-state line, or the task's pr= metadata, a concise outcome summary, and the no-mistakes risk level when applicable.
A captain instruction to merge is explicit authority; yolo is the only standing routine merge authority.
For any custom state/<id>.check.sh you write yourself, keep it an ordinary single-link mode-0700 file, print one line only when firstmate should wake, print nothing otherwise, finish before FM_CHECK_TIMEOUT, then bind its current bytes with bin/fm-check-register.sh <id> before the watcher may execute it.
Retire a custom check only through bin/fm-check-unregister.sh <id> (or bin/fm-teardown.sh for a spawned task); never hand-compose an rm with $STATE/$ID.
Tear down a ship task only after landing is confirmed. A teardown refusal for uncommitted or unlanded work is a stop-and-investigate result, never an obstacle to bypass. Never force teardown without explicit discard authority. After successful teardown, record completion, retain only the configured recent Done history, and re-evaluate queued work whose blockers and time gates have cleared.
A secondmate is persistent and an empty queue is healthy.
Retire one only on an explicit captain or main-firstmate decision, after loading secondmate-provisioning; its home must contain no work under way, and forced discard still requires explicit captain authority.
© kunchenguid, MIT. 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/ship-landing of kunchenguid/firstmate.
Open the folder on GitHubat commit fb75c1f
Ship Landing 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 |
|---|---|---|---|---|---|---|
| Ship Landing this skillkunchenguid/firstmate | 7.8k | — | ~776 | Automated safety check: Pass | MIT | |
| Landingalirezarezvani/claude-skills | 28k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Ship Workflowgarrytan/gstack | 136k | — | ~20k | Automated safety check: Notes | MIT | |
| Ship Itvectorize-io/hindsight | 48k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Shipmillionco/react-doctor | 15k | — | ~716 | Automated safety check: Pass | Custom licence | |
| Shipsimstudioai/sim | 30k | — | ~4.2k | Automated safety check: Pass | Apache-2.0 |
alirezarezvani/claude-skills
Generates a premium single-page HTML landing page with 3D CSS animations, GSAP scroll effects, and mouse-parallax depth.
garrytan/gstack
Takes finished code to a pull request: merges the base branch, runs tests, reviews the diff, bumps VERSION, updates the CHANGELOG, commits, pushes and opens the PR.
vectorize-io/hindsight
Take a PR from review to merged — run the repo's code-review skill on it in a loop (review, fix, re-review) until nothing is left to fix, applying ALL fixes on the PR branch, wait for CI green, then…
millionco/react-doctor
Take the current branch from done-coding to merge-ready in one pass — review the diff against AGENTS.md, deslop, commit and push, open a PR using rule-validate's PR copy, then babysit until mergeable.
simstudioai/sim
Commit, push, and open a PR to staging in one shot — runs the cleanup pass and, when migrations changed, the db-migrate safety review first
garrytan/gstack
Read-only dashboard of the ship queue: which VERSION slots open PRs hold, which sibling workspaces have work about to ship, and the next slot to claim.
kunchenguid/firstmate
Agent-only procedure for Firstmate project management. An agent skill from kunchenguid/firstmate.
kunchenguid/firstmate
Sweep the current conversation for durable knowledge - user preferences, project facts, operational gotchas, standing decisions, and unfinished next steps - and file each through explicit…
kunchenguid/firstmate
Self-update a running firstmate and its secondmates to the latest from origin.
kunchenguid/firstmate
Agent-only reference for firstmate harness operations. An agent skill from kunchenguid/firstmate.
kunchenguid/firstmate
Agent-only reference for persistent secondmate setup and retirement.
kunchenguid/firstmate
Sweep the current session for uncaptured durable knowledge, file it to disk, persist the open work records this session knows are unfiled or now wrong, and curate the home's tiered, decaying startup…
Load when a ship reports a PR or ready branch, when deciding or monitoring landing, and before task cleanup. Ship Landing is an agent skill from kunchenguid/firstmate. Load when a ship reports a PR or ready branch, when deciding or monitoring landing, and before task cleanup.
Run `npx skills add kunchenguid/firstmate --skill ship-landing -a claude-code`. Or copy the skill folder (.agents/skills/ship-landing in kunchenguid/firstmate) into .claude/skills/ship-landing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kunchenguid/firstmate --skill ship-landing -a codex`. Or copy the skill folder (.agents/skills/ship-landing in kunchenguid/firstmate) into .agents/skills/ship-landing 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 kunchenguid/firstmate --skill ship-landing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ship-landing, .gemini/skills/ship-landing, .github/skills/ship-landing and .opencode/skills/ship-landing in your project.
SKILL.md names no scripts, command-line tools or credentials: Ship Landing is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. Review the folder before installing.
Ship Landing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 776 tokens (SKILL.md is roughly 3.1k 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 Ship Landing: Landing (alirezarezvani/claude-skills, 28k stars), Ship Workflow (garrytan/gstack, 136k stars), Ship It (vectorize-io/hindsight, 48k stars) and Ship (millionco/react-doctor, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kunchenguid (a GitHub user) maintains it in kunchenguid/firstmate, which has 7,756 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.
Source: kunchenguid/firstmate on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.