add-team-source
Register a git URL as a team-profile source so nyann can periodically sync and expose its profiles under a namespace. TRIGGER when the user says "add a team…
Create a strategy-compliant git branch. TRIGGER when the user says "create a branch for X", "start a feature branch", "new fix branch", "cut a release branch", "start a hotfix", "branch for bug in Y", "make a branch named X", "/nyann:branch". DISAMBIGUATION: if the user mentions
$ npx -y skills add thettwe/nyann --skill new-branch --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/new-branchContext preview
The summary Claude sees to decide when to auto-load this skill.
Create a strategy-compliant git branch. TRIGGER when the user says "create a branch for X", "start a feature branch", "new fix branch", "cut a release branch", "start a hotfix", "branch for bug in Y", "make a branch named X", "/nyann:branch". DISAMBIGUATION: if the user mentions
name: new-branch
description: >
Create a strategy-compliant git branch. TRIGGER when the user says
"create a branch for X", "start a feature branch", "new fix branch",
"cut a release branch", "start a hotfix", "branch for bug in Y",
"make a branch named X", "/nyann:branch".
DISAMBIGUATION: if the user mentions BOTH branch creation AND committing
in the same message (e.g. "branch and commit", "start a branch and
commit this"), this skill wins — create the branch first, then suggest
`/nyann:commit` (or the commit skill) as the follow-up.
Do NOT trigger on informational questions about branches ("what branch
am I on?") or on general git-history questions.You are creating a git branch that matches the repo's active profile. Never run `git branch` or `git checkout -b` directly — route through `bin/new-branch.sh` so the branching strategy, base branch, and name pattern stay consistent.
Read the user's phrasing. Purpose inference:
| User says something like... | Purpose | |---|---| | "new feature for X", "landing page", "add X" | `feature` | | "bug in checkout", "fix Y", "bugfix" | `bugfix` | | "release v1.2", "cut a release" | `release` | | "hotfix production", "emergency fix" | `hotfix` |
If the phrasing is ambiguous ("I want a branch for the auth work"), **you MUST call the `AskUserQuestion` tool** (not plain text):
{
"questions": [
{
"question": "What kind of branch do you need?",
"header": "Purpose",
"multiSelect": false,
"options": [
{ "label": "Feature", "description": "New functionality or enhancement" },
{ "label": "Bugfix", "description": "Fix for an existing issue" },
{ "label": "Release", "description": "Cut a release branch" },
{ "label": "Hotfix", "description": "Emergency fix against a tagged version" }
]
}
]
}Don't guess when stakes are non-trivial (release vs hotfix especially).
Short, lowercase-kebab, no spaces. Map the user's words:
Enforce the regex `^[a-z0-9][a-z0-9._-]*$`. If the user's phrasing doesn't reduce to a clean slug, propose one and ask for confirmation.
`release` and `hotfix` patterns in GitFlow use `{version}` not `{slug}`. For those purposes, ask the user which version (unless they already said), then pass `--version <x.y.z>` to the orchestrator.
bin/new-branch.sh \ --target <cwd> \ --profile <active-profile-name> \ --purpose <feature|bugfix|release|hotfix> \ --slug <slug> \ [--version <x.y.z>] \ --checkout
Exit codes you should expect:
| Code | Meaning | What to do | |---|---|---| | 0 | created (and checked out if --checkout) | Report the new branch name | | 2 | profile not found | Ask user to run bootstrap, or pick a different profile | | 3 | purpose not supported by strategy / placeholder left | Tell user (e.g. GitHub Flow has no `release`) | | 4 | slug invalid | Tell user + proposed fix | | 5 | branch already exists, no `--checkout` | Offer to switch or suggest a different slug |
On success, print:
run `/nyann:commit`").
tell the user; suggest creating a release tag instead if that's their intent.
`/nyann:bootstrap` first to seed.
rather than silently appending.
(PR + merge).
ငြမ်း is Burmese for scaffolding. Nyann is the Claude Code plugin that picks expert git defaults for your stack — branching, working hooks (Husky / pre-commit.com / lefthook), commits, releases, CI, docs — then keeps the repo on those rails through every PR
Repo: thettwe/nyann
Register a git URL as a team-profile source so nyann can periodically sync and expose its profiles under a namespace. TRIGGER when the user says "add a team…
Bootstrap a fresh or existing repo with nyann. TRIGGER when the user says "set up this project", "initialize git workflow", "bootstrap this repo", "scaffold…
Survey the machine and report which nyann features are usable right now. TRIGGER when the user says "is my machine ready for nyann", "what do I need to…
Prune local branches whose work is already merged into the base. TRIGGER when the user says "clean up branches", "delete merged branches", "prune local…
Generate a Conventional Commits message from the staged diff and create the commit after user confirmation. TRIGGER when the user says "commit these changes",…
Bundle a redacted, support-grade snapshot of the current nyann state for inclusion in a bug report or support request. Combines explain-state + doctor + git…