Back to list
aiskillstore

ship-cli

by aiskillstore

Security-audited skills for Claude, Codex & Claude Code. One-click install, quality verified.

102🍴 3📅 Jan 23, 2026

SKILL.md


name: ship-cli description: Work management system replacing built-in todos with tracked tasks and stacked changes

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

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon