Skip to content
EN

Back to the catalog

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.

More