agentsclimarketplace

Adept contributing

Skill itaywol/adeptability/.adeptability/skills/adept-contributing

Cross-harness AI skill portability CLI. Author an agent skill once, sync it into Claude Code, Cursor, Copilot, Codex, OpenCode & 45+ AI coding agents. Safety scanner, content-hash drift detection. A package manager / dotfiles for AI coding agent skills.

Install
npx -y skills add itaywol/adeptability --skill adept-contributing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

How to contribute to the adeptability (adept) Go CLI — build, the required pre-PR gates, conventional commits, and where things live. Apply when changing adept's own source, opening a PR, or adding a harness.

SKILL.md

2.4 KB, as published. Nobody here has run it

Contributing to adept

You are working on the adept CLI itself (Go 1.25, module github.com/itaywol/adeptability). Read AGENTS.md for architecture and invariants; this skill is the operational checklist.

Build & run

go build ./...
go build -o /tmp/adept ./cmd/adept && /tmp/adept --help

Gates you MUST pass before opening a PR (same as CI)

gofmt -l .            # must print nothing → fix with: gofmt -w .
go vet ./...
golangci-lint run     # config: .golangci.yml
go test -race ./...
go test -run E2E ./cmd/adept   # end-to-end against a freshly built binary

If any gate fails, fix it before pushing — CI runs the identical set on ubuntu/macos/windows.

Where things live

You're changing…Go there
public types / interfaces / sentinel errorspkg/adept/ (types only — no behavior)
canonical field shapepkg/adept/ struct tags and pkg/adeptschema/*.schema.json together
a commandinternal/cli/commands_*.go; wire deps in internal/cli/deps.go
a harness rendererinternal/render/<id>/ + golden fixtures in its testdata/
sync / drift logicinternal/harness/orchestrator.go
3-way mergeinternal/merge/
safety scannerinternal/scan/

Conventional commits (release-please reads these)

feat: → minor · fix:/perf: → patch · feat!:/BREAKING CHANGE: → major · refactor:/docs:/chore:/test:/ci: → no release. The squash-merge title becomes the changelog entry, so write it well.

Conventions

  • Wrap errors with context: fmt.Errorf("doing X: %w", err). Match with errors.Is against the sentinels in pkg/adept/errors.go — never on error strings. Add new sentinels there.
  • No package-level state, no init() side effects: dependencies flow through *Deps.
  • New behavior ships with tests; bug fixes ship with a regression test. Update golden fixtures in the same PR when output changes, and say why in the message.
  • Don't hand-edit CHANGELOG.md, .release-please-manifest.json, or version strings — release-please owns them.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.