posthog-cli
timschoch/skilly · skills.sh
Open source Repository Open in the app JSON README (API)
About
Skill publicada por timschoch/skilly no skills.sh. Instale com: npx skills add timschoch/skilly@posthog-cli
Details
- Kind
- Agent skills
- Topic
- Developer tools
- Publisher
- timschoch
- Origin
- skillssh
- Category
- ferramentas
- Last push
- 2026-10-05T13:56:05Z
- Repository state
- ativo
- Language
- JavaScript
- Added
- 2026-10-07 06:17:05
- Updated
- 2026-10-07 06:17:05
- Origin id
timschoch/skilly/posthog-cli
README
# skilly Personal skill hub: Bundles + CLI + nightly Update behind a PR gate. Flows: [docs/flows user.mmd](https://github.com/timschoch/skilly/blob/HEAD/docs/flows%20user.mmd) and [docs/flows sync.mmd](https://github.com/timschoch/skilly/blob/HEAD/docs/flows%20sync.mmd) — the per-script diagrams in `docs/*.mmd` are the spec. Bundle catalog: [docs/bundles.md](https://github.com/timschoch/skilly/blob/HEAD/docs/bundles.md). ## Commands (run in the Consumer repo) ```sh npx github:timschoch/skilly setup # one-time: secrets, .skilly/config.json, caller workflow, setup-project skill npx github:timschoch/skilly add <bundle-or-skill...> # install, rules, commit, ensure PR npx github:timschoch/skilly remove <bundle-or-skill...> # uninstall (keeps skills other bundles claim), rules, commit npx github:timschoch/skilly update # pull hub changes, update all skills, rules, commit ``` Every command guards its branch (`skilly-*`, main → `chore/skilly-setup`, anything else asks once and remembers in `.git/config`) and ends with its own commit + PR. ## New-repo setup, in order 1. Create the repo and give `main` its first commit — skilly refuses a bare repo: ```sh gh repo create <owner>/<repo> --private --clone && cd <repo> echo "# <repo>" > README.md git add . && git commit -m "chore: initial commit" && git push -u origin main ``` 2. `npx -y github:timschoch/skilly setup` — switches to `chore/skilly-setup`, sets the App secrets, writes `.skilly/config.json` (no bundles), writes `.github/workflows/skilly-sync.yml`, adds formatter ignores, gitignores `.temp/` (agent scratch space), installs the `setup-project` skill, commits, opens the PR — then launches Claude Code (Opus) with `/setup-project`. The App secrets come from the owner account's own [GitHub App](https://github.com/timschoch/skilly/blob/HEAD/lib/github-app.js), one per account, shared by all its repos. The first setup for an account asks for it: create a private one in the browser, or use an existing one (App ID + key file). It is saved in `~/.config/skilly/apps/<owner>.json`, then setup waits until the App is installed on the repo. Org secrets `SKILLY_APP_ID` and `SKILLY_APP_PRIVATE_KEY` skip all of this: every repo of the org gets them, no key needed. New repo (no README text, no stack file): opens the [setup interview](https://github.com/timschoch/skilly/blob/HEAD/lib/interview/server.js) in the browser instead. Answer every question there, press Run AFK, walk away. Claude runs the whole setup and opens one setup PR. Steps 3–4 are then done. 3. `/setup-project` — asks: setup workflow? tech stack? Drives the setup skills in order and adds Bundles via `skilly add`. (Or by hand: `npx -y github:timschoch/skilly add workflow` plus your `tech-*`/`project-*` bundles.) 4. `npx -y github:timschoch/skilly update` — asks to drop bundle-less setup skills (e.g. `setup-project` once you're done with it); say yes. 5. Merge the PR, then prove the workflow: `gh workflow run skilly-sync.yml && gh run watch`. No changes → no Sync PR. From then on: `add` / `remove` / `update` any time. The nightly workflow runs `update` headless and keeps one standing Sync PR (`chore/skilly-update`); the gate merges it when green and removal-free, after the repo's required checks pass — removals always wait for you.