sk
How to use the repo-scoped sk CLI to manage Claude Skills in this codebase.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
How to use the repo-scoped sk CLI to manage Claude Skills in this codebase.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
One lifecycle for Lambda repos: choose a bd task, start work, land the PR, and watch GitHub via Dumbwaiter MCP until it merges.
How to use bd (beads) for issue tracking, ready work, status updates, and comments in this repo.
Provider-agnostic wait-for-change skill that uses the Dumbwaiter MCP server to wait on PR events (GitHub first) via wait.start/status/cancel/await, with progress notifications and durable state.
Testing patterns and standards for this codebase, including async effects, fakes vs mocks, and property-based testing.
| name | sk |
| description | How to use the repo-scoped sk CLI to manage Claude Skills in this codebase. |
sk CLIsk is the repo-scoped Skills manager that installs, audits, and syncs Claude Skills listed in skills.lock.json. Treat it like Cargo for skills: installs live under ./.agents/skills, while the cache stays in ~/.cache/sk/repos.
https://github.com/lambdamechanic/skills).sk doctor --status, sk doctor --summary).sk sync-back <install>).Refresh the cache (optional but fast):
target/debug/sk cache refresh
Install or upgrade a skill (alias keeps folder names stable):
target/debug/sk install https://github.com/lambdamechanic/skills testing-patterns --alias testing
target/debug/sk upgrade testing
Audit local installs before landing work:
target/debug/sk doctor --status --json # detect dirty trees vs lockfile
target/debug/sk doctor --summary --json # shows pending upgrades or cache drift
Sync edits upstream after modifying a skill under ./.agents/skills/<name>:
target/debug/sk sync-back <name> --message "Describe the change"
Once sk config set default_repo <repo> is configured, sk sync-back <name> automatically targets that repo, uses <name> for the skill-path, and generates sk/sync/<name>/<timestamp> branches so the quickstart -m flag is the only required argument. Supply --repo / --skill-path only when you need to override the defaults.
This creates a temp branch in the cached repo, copies your edited skill directory, commits, and pushes. On success sk runs gh for you: it auto-opens a PR, enables auto-merge when GitHub reports the branch is clean, and prints the PR URL (or a conflict warning) so you can follow up if automation gets blocked. If the GitHub CLI is missing or the repo isn’t reachable via GitHub, you’ll see a warning plus manual PR instructions and can run gh pr create yourself once available.
PR automation tips
gh auth status once per machine to ensure the GitHub CLI is logged in; sk will reuse your credentials.rsync prints a warning and falls back to a recursive copy before committing; install rsync to keep large skills fast.Opened PR … (or Reusing PR …) links to the branch that was just published.Auto-merge armed… means GitHub will land it once checks pass; otherwise you’ll see Auto-merge blocked… with a link to fix conflicts manually.Auto-merge skipped… appears when checks can’t be armed (e.g., required approvals disabled); click through and finish by hand.gh is missing or unauthenticated you’ll see “Skipping PR automation …”; install/auth and rerun sk sync-back to finish the upload.--merge strategy; if your repo enforces --squash/--rebase, turn off auto-merge in the UI and land it manually after review.enablePullRequestAutoMerge, run gh repo edit <owner>/<repo> --enable-auto-merge (or visit the repo’s Settings → General page) once to flip the toggle.Publish a brand-new skill that doesn’t exist upstream yet:
target/debug/sk sync-back <name> \
--repo https://github.com/lambdamechanic/skills \
--skill-path <subdir> \
--message "Add <name> skill"
Provide --repo / --skill-path only if you need something other than the configured defaults. sk clones that repo, branches from the default tip (or your custom --branch), copies your local folder, pushes, and rewrites skills.lock.json with the exact commit SHA/digest so status checks stay clean. You will always see the temporary branch name in the CLI output, e.g. Pushed branch 'sk/sync/<name>/<timestamp>' …, even though that branch is meant to be merged and deleted once the upstream PR lands.
skcd /path/to/sk-decisions
target/debug/sk sync-back sk \
--repo https://github.com/lambdamechanic/skills \
--skill-path sk \
--branch sk/add-sk-skill-doc \
--message "Add sk skill doc"
What happens:
sk prints both the temporary branch name and the upstream repo it pushed to, so you can follow up on GitHub immediately.skills.lock.json gains a new entry for sk with the push timestamp, digest, and commit ID; subsequent sk doctor --status runs stay green because the on-disk tree matches that digest.br update / br close so .beads/issues.jsonl matches any skill changes.skills.lock.json by hand. Let sk install, sk upgrade, or sk remove update it; commit the lockfile alongside the skill changes.sk doctor --status reports dirty, fix the local tree before running sk upgrade or sk sync-back to avoid partial syncs.sk upgrade --all skips skills with local edits and prints reminders to sk sync-back <name>; treat that as a temporary state and clean them up promptly so future upgrades stay automatic.sk can register it and refresh the lockfile automatically.sk precommit (once implemented) to block local-only sources such as file:// entries.target/debug/sk doctor --apply rebuilds missing installs or cache entries.target/debug/sk where <name> prints the absolute path of an installed skill and its cached repo clone.SK_TRACE=1 to surface extra logging when diagnosing cache fetches or rsync failures.