danconwaydev/ngit-cli/ngit
Claude Code and agent skill by danconwaydev/ngit-cli
- community
Checking that the SKILL.md file is still in the repository.
Commands and workflows for NIP-34 git collaboration over Nostr with the ngit CLI and git-remote-nostr. Use in any repository with a nostr:// remote for generic collaboration requests (open an Issue, create or review a Pull Request (PR), comment, merge, clone) and whenever a task involves nostr:// URLs, ngit commands, Grasp servers, gitworkshop.dev, Nostr CI status and workflows, software releases and Zapstore publication, OCI container images, or nsite static sites published through Blossom.
Install
npx vskill@latest install danconwaydev/ngit-cli/ngitSKILL.md
ngit — Nostr Plugin for Git
ngit makes git clone, fetch, and push work with nostr:// URLs and adds a CLI for pull requests, issues, membership, CI results, releases, OCI containers, and nsites. Repository state (which commit each ref points to) is published as signed Nostr events and is the source of truth; git objects live on ordinary git servers, so servers are interchangeable. A grasp server bundles a relay and a git server and creates the repository automatically when an announcement lists it. Explanation: https://ngit.dev/how-it-works
Where to look
- This skill documents ngit v3. Run
ngit --versionfirst; the commands
here need 3.0.0 or later. If ngit is missing or older, report that and offer an install or update: curl -fsSL https://ngit.dev/install.sh | bash installs or replaces ngit and git-remote-nostr, and ngit update works on v3 or later. Other methods: https://ngit.dev/install
- `ngit <command> --help` is the authority for the installed version's flags
and defaults.
- https://ngit.dev holds the guides. Any page is available as raw Markdown
at https://ngit.dev/markdown/<route>.md; the index is https://ngit.dev/llms.txt. Web UI: https://gitworkshop.dev
Rules
- Preserve user and repository choices. Examples here show syntax, not
policy. Carry through the selected signer, target, hosting, CI, and replication settings; do not add gates, waits, workflow edits, or configuration changes that the task or repository did not choose.
- PR branches MUST start with `pr/` (e.g.
pr/my-feature). Any other branch
name is a plain push and never creates a PR.
- Read ngit output with `--json`. It is a global option and works at any
position. Stdout is exactly one JSON document; progress and diagnostics go to stderr. git commands have no --json. Top-level command_status is ok for exit 0 and error otherwise; it never describes a nested domain result (ngit ci status --json reports ok with ci.conclusion: "failure" unless a gate was requested).
- ngit repository commands normally refresh data from Nostr relays—including
PRs, issues, comments, statuses, and CI—unless given --offline, and git commands contacting a nostr:// remote refresh that data too, so use --offline where supported for subsequent ngit commands when the required data is already cached and newer state is unnecessary.
- Identifiers.
<ID|nevent>acceptsnevent1…, a 64-char hex ID, or a
unique hex prefix with an optional # (quote it: '#deadbeef'). JSON id and reply_to fields are already nevent1…; container publication instead returns a raw-hex event_id plus the repository naddr. Reference events inside --body text as nostr:nevent1… or nostr:naddr1…, never as raw hex. Never construct a NIP-05 address (user@domain); use npub1… unless a NIP-05 address was given to you.
- Multiline text.
ngitoptions such as--bodyand--descriptionaccept
real newlines: --body "$(cat note.md)". Git push options cannot carry newlines: write literal \n in a short inline -o description=…, and never convert a file into a push option (open the PR with ngit send instead).
- Signers.
--signer <alias|npub|profile-name>selects a stored identity
for one ngit command; git -c nostr.signer=<alias|npub|profile-name> push … does the same for one git command. Neither changes the configured login. Never export or pass an nsec merely to switch between configured accounts.
- CI. A successful push says nothing about CI. Nostr CI runs workflows from
.ngit/act/workflows/; another provider's directory is not evidence. When CI matters, query the exact commit or PR with ngit ci status <target> --json and read ci.state and ci.conclusion, not command_status.
- Target repository. With several
nostr://remotes, pass global
--repo <REMOTE|NADDR|NOSTR-URL>; a configured remote name, an naddr, and a nostr:// URL are all accepted. Without it ngit infers the target from config and branch tracking and fails rather than guesses. Before a signing command, check the target repository: <naddr> (source: …) line on stderr.
Detecting a nostr repo
ngit repo always exits 0, and is_nostr_repo: false can be a cold-cache false negative: if a remote shows nostr://, run git fetch origin and retry. The output includes the roster (members, lead_source, lead_path, pending_actions, health); read reference/repositories.md before changing membership or hosting.
nostr:// URLs
Standard git commands accept these URLs directly.
Task index
Read the bundled reference before performing that slice of work; the guide adds tutorials and background.
| Task | Bundled reference | ngit.dev guide | |
|---|---|---|---|
| Publish, clone, host repositories; maintainers, moderators | reference/repositories.md | /repositories, /maintainers | |
| Open, update, stack, review, merge PRs | reference/prs.md | /pull-requests | |
| Issues | reference/issues.md | /issues | |
| CI results, trust, workflows, ngit in CI jobs | reference/ci.md | /ci, /ci/workflows/ | |
| Accounts, login, signers, secrets | reference/accounts.md | /accounts | |
| Sync, global flags, git config | reference/sync-config.md | /configuration, /troubleshooting | |
| Publish nsites (static sites) | reference/nsites.md | /releases/nsites | |
| Publish OCI containers | reference/containers.md | /releases | |
| Software releases | ngit release --help | /releases | |
| Automation contract, machine-readable docs | this file | /agents/ |
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/ngit/SKILL.md
Popularity
- Repository stars
- 50
- Repository forks
- 6
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/danconwaydev/ngit-cli/ngit)