skills/new-package/SKILL.md
Scaffold a new auto-* package in the auto-stack monorepo. Creates the full directory structure, Go source files, go.mod, CLAUDE.md, and Makefile integration following established patterns. Use when: "create a new package", "add auto-foo", "scaffold a new tool", "new auto package".
npx skillsauth add mistakenot/auto-stack new-packageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scaffold a new auto-* package in the auto-stack monorepo following the established patterns documented in docs/auto-package-patterns.md.
docs/auto-package-patterns.md to load the full blueprint.{name} part of auto-{name} (lowercase, no hyphens in binary name). Example: foo produces directory auto-foo/, binary autofoo.Create all directories:
auto-{name}/
├── cmd/auto{name}/
├── internal/
│ ├── app/
│ ├── cli/
│ └── config/
└── docs/
Create auto-{name}/go.mod:
module github.com/mistakenot/auto-{name}
go 1.26.1
require (
github.com/mistakenot/auto-shared v0.0.0
github.com/spf13/cobra v1.10.2
)
replace github.com/mistakenot/auto-shared => ../auto-shared
Create these files following the exact patterns from docs/auto-package-patterns.md:
cmd/auto{name}/main.go — Minimal entry point delegating to cli.Execute()internal/app/app.go — App struct with Stdout, Stderr, CWDinternal/cli/root.go — Root command with ExitError, Execute(), newRootCmd()internal/cli/init.go — init command with --project flaginternal/cli/doctor.go — doctor command returning DoctorCheck JSONinternal/cli/quickstart.go — quickstart with embedded markdowninternal/cli/docs.go — docs with embedded markdowninternal/cli/update.go — update delegating to auto-shared/updateinternal/config/settings.go — Settings struct, path helpers, load/save/validateUse the patterns doc as the source of truth for every code template. Replace {name} placeholders with the actual package name.
SilenceErrors: true and SilenceUsage: true on root commandrootCmd.Version = version.Versionjson.NewEncoder with 2-space indent~/.auto/{name}/settings.json (global), .auto/{name}/settings.json (project)config.EnsureHost() in the init commandwriteJSON helper in root.go or a shared file*app.App parameterRunE (not Run)cd auto-{name} && go mod tidy && go build ./cmd/auto{name}/
Fix any compilation errors before proceeding.
Create auto-{name}/CLAUDE.md with:
Add to the root Makefile:
auto-{name} to the PROJECTS listauto-{name}_BIN and auto-{name}_ENTRY variablesbuild-{name} targetdist-{name} targetcp line in the install targetAdd a row to the sub-projects table in the root CLAUDE.md:
| `auto-{name}/` | `auto{name}` | Early | {description} |
# Build the new package
cd auto-{name} && go build ./cmd/auto{name}/
# Run vet
cd auto-{name} && go vet ./...
# Test the binary
./bin/auto{name} --version
./bin/auto{name} quickstart
./bin/auto{name} doctor
make build
go vet before finishing.tools
Bring a project's README up to date with the current state of the codebase. Audits the existing README for stale commands, dead links, renamed tools, and drifted status claims; surveys what's changed since the README was last touched; rewrites it with verified facts; then commits and pushes. Use this skill whenever the user says "update the README", "the readme is stale", "refresh the README", "rewrite README.md", "add new features to the readme", or otherwise asks for documentation that reflects the current state of the project. Also trigger when a README clearly hasn't kept pace with the codebase (e.g. recent feature commits not reflected, broken examples).
tools
Run the self-improvement loop on a focus area. Use when the user asks to improve, fix recurring problems, or run self-improve on a tool. Trigger when: "self-improve", "improve autosearch", "find and fix problems in". Do not trigger for doc reviews or one-off bug fixes.
development
Create a new auto-stack release by tagging a commit and pushing the tag. The GitHub Actions release workflow builds binaries and publishes the release.
development
Reconstruct and narrate the current development context from contextual commits. Run at session start, when resuming work, or when switching branches. Produces a brief, conversational summary of where things stand.