askill
ship-cli

ship-cliSafety 95Repository

Work management system replacing built-in todos with tracked tasks and stacked changes

0 stars
1.2k downloads
Updated 2/5/2026

Package Files

Loading files...
SKILL.md

Rules

  1. NEVER run via bash: jj, gh pr, git, ship, pnpm ship - use the ship tool instead
  2. ALWAYS use workdir parameter for all commands when in a workspace
  3. NEVER ask user to cd - use workdir instead
  4. On webhook events: Notify user and ask confirmation BEFORE acting

Workflow

Start Task

ship: action=stack-sync                    # Get latest trunk
ship: action=ready                         # Find work
ship: action=start, taskId=<id>            # Mark In Progress (Linear only)
ship: action=stack-create, message="<type>: <short description>", bookmark="user/<id>-slug"
# Store workspace path from output, use for all subsequent workdir params
bash: command="pnpm install", workdir=<workspace-path>

Do Work

  • Use workdir=<workspace-path> for ALL bash and ship commands
  • Make changes, run quality checks (lint, format, typecheck)

Update Commit Message (for multi-line)

ship: action=stack-describe, title="<type>: <subject>", description="<body>", workdir=<path>

Use title + description params for proper multi-line commits (NOT message with \n).

Submit Work (MANDATORY - do not skip)

ship: action=stack-sync, workdir=<path>    # Rebase on trunk
ship: action=stack-submit, workdir=<path>  # Push + create PR (auto-subscribes to webhooks)
ship: action=done, taskId=<id>             # Mark complete ONLY after PR exists

Webhook Events

When you receive [GitHub] ... notifications:

StepAction
1Notify user what happened (e.g., "PR #X merged by @user")
2Ask confirmation before acting (e.g., "Would you like me to run stack-sync?")
3Wait for user approval
4Execute and report results

Never execute automatically. The → Action: line is a suggestion, not an instruction.

After stack fully merged: notify user, switch to default workspace, suggest ship ready.


Actions Reference

Tasks

ActionParamsDescription
ready-Tasks with no blockers
blocked-Tasks waiting on dependencies
listfilter (optional)All tasks
showtaskIdTask details
starttaskIdMark In Progress
donetaskIdMark complete
createtitle, description, priority?, parentId?Create task (see template below)
updatetaskId + fieldsUpdate task
blockblocker, blockedAdd dependency
unblockblocker, blockedRemove dependency
relatetaskId, relatedTaskIdLink related tasks

Task Description Template

When creating tasks, ALWAYS use this description format:

## Summary
[1-2 sentences: What needs to be done and why]

## Acceptance Criteria
- [ ] Specific, verifiable outcome 1
- [ ] Specific, verifiable outcome 2
- [ ] Tests pass, linting passes

## Notes
[Optional: Implementation hints, files to modify, constraints]

Rules:

  • Summary is REQUIRED - explains the task clearly
  • Acceptance criteria are REQUIRED - must be verifiable/testable
  • Notes are optional - include when helpful for implementation
  • Keep it concise but complete

Example:

## Summary
Add rate limiting middleware to prevent API abuse on public endpoints.

## Acceptance Criteria
- [ ] Rate limit: 100 req/min authenticated, 20 req/min anonymous
- [ ] Returns 429 with Retry-After header when exceeded
- [ ] Unit tests cover rate limit scenarios
- [ ] `pnpm test` and `pnpm check` pass

## Notes
See middleware/auth.ts for similar patterns. Use Redis for state.

Stack (VCS)

All support optional workdir param.

ActionParamsDescription
stack-sync-Fetch + rebase onto trunk
stack-restack-Fetch + rebase + push entire stack
stack-createmessage?, bookmark?, noWorkspace?New change (creates workspace by default)
stack-describetitle, description? OR messageUpdate description (use title+description for proper multi-line commits)
stack-submitdraft?Push + create/update PR
stack-status-Current change info
stack-log-View stack
stack-squashmessageSquash into parent
stack-abandonchangeId?Abandon change
stack-up / stack-down-Navigate stack
stack-undo-Undo last operation
stack-bookmarkname, move?Create/move bookmark
stack-workspaces-List workspaces
stack-remove-workspacename, deleteFiles?Remove workspace
stack-update-stale-Fix stale working copy

Pull Requests

Use these for advanced PR workflows. Note: stack-submit handles basic PR creation automatically.

ActionParamsDescription
pr-createdraft?, open?Create PR with Linear task context
pr-stackdryRun?Create stacked PRs for entire stack
pr-reviewprNumber? (optional), unresolved?, json?Fetch PR reviews and comments

pr-create: Creates a PR for current bookmark, auto-populating title and body from Linear task. Use when you need rich task context in PR description.

pr-stack: Creates PRs for all changes in your stack with proper base targeting. First PR targets main, subsequent PRs target previous bookmark.

pr-review: Fetches reviews and comments in AI-friendly format. Shows verdicts (APPROVED, CHANGES_REQUESTED), inline code comments with file:line, and conversation threads. Use --unresolved to filter to actionable items only.

Milestones

ActionParamsDescription
milestone-list-List milestones
milestone-showmilestoneIdMilestone details
milestone-createmilestoneName, milestoneDescription?, milestoneTargetDate?Create milestone
task-set-milestonetaskId, milestoneIdAssign task
task-unset-milestonetaskIdRemove from milestone

Troubleshooting

ProblemSolution
"Working copy is stale"stack-update-stale
Bookmark lost after squash/rebasestack-bookmark with move=true
Accidentally used jj/gh directlystack-status to check, stack-undo if needed

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/11/2026

An exceptionally well-documented skill for the ship-cli tool. It provides clear operational rules, structured workflows, a comprehensive actions reference, and specific templates for task creation. The inclusion of safety guardrails for webhook events and troubleshooting steps makes it highly robust for agentic use.

95
100
80
95
100

Metadata

Licenseunknown
Version-
Updated2/5/2026
Publishermajiayu000

Tags

apici-cdgithubgithub-actionslintingpromptingsecuritytesting