# Share

> Save, back up, or share the current project as a hosted (non-public) copy, auto-handling git setup even for users unfamiliar with git. Use when asked to save/back up/publish/share a project online.

- Skill: `kritika810/share` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kritika810/share`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kritika810/share/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kritika810 (https://skillmd.com/u/kritika810)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kritika810/share

---


# share

> **Origin:** converted from a Cursor built-in skill (`~/.cursor/skills-cursor/share/`). Targets Cursor-hosted repos; for VS Code use GitHub. Body kept for reference.


The user may not know what git, a repo, or a remote is. Keep every message in
plain language: the project gets an **online copy that isn't public** which
they can restore, sync, or share later. Say "save"/"back up", not "push to
remote". (A git-fluent user gets the same flow without the framing — this is
the `new-repo` skill's flow in novice vocabulary.)

## 1. Look before you speak

```bash
git rev-parse --is-inside-work-tree 2>/dev/null
git remote -v
```

- **A remote already exists** → the project is already backed up there.
  Offer to save the latest changes to it (commit + push) and stop. Do not
  create a second copy or touch the existing remote.
- No git at all → fine; you will set it up silently in step 3.

## 2. One-line explanation

Tell the user, in one line, what you are about to do:

> "I'll put this project in a repo — a saved, versioned copy you can restore
> or share later. It won't be public."

This skill saves the project in a Cursor-hosted repo. If the user explicitly
asks for a different host, follow that request without using this skill.

Default to a repo named after the project folder (lowercase, dashes).

## 3. Set up and save

Before staging anything, list what would be committed
(`git status --porcelain` or `git ls-files -o --exclude-standard`) and make
sure `.gitignore` covers dependency directories and secrets (`.env*`, key
and credential files). If anything that looks like a secret would be staged,
ask before including it — never stage-and-push blind.

```bash
git init -b main   # only if not already a repo
git add -A && git commit -m "Initial commit"   # only if nothing committed
```

If `origin` is missing, unauthenticated, or outdated, first invoke the
`origin` skill (synced at `~/.cursor/skills-cursor/origin/SKILL.md`) — tell the user
"setting up Cursor's repo tool first; you'll see each step" (the sign-in opens
their browser; that part is theirs). Then:

```bash
origin repo create <name>
git remote add origin <clone URL printed by create>
git push -u origin main
```

If `origin repo create` fails because the account has no namespace or no
access, nothing is lost — follow the `origin` skill's recovery table (in
plain language: "your team's admin has to switch this on").

## 4. Close the loop in their vocabulary

Report where it is saved — `https://cursor.com/codebase/<org>/<name>` (from
the create output) — and that it is not public. If the account is part of a
team, say plainly that teammates can also see repos in the team's space;
access is managed from the repo page. End with: they can ask you to save
again anytime after making changes.

## If the goal was to show someone

A saved copy is never visible to the general public. Who can already see it
depends on the account: on a personal account it is just the user; on a
team, teammates in the team's space can see it too. For anyone beyond that,
point them at the repo page (the URL above) to manage who has access — this
skill cannot change that, so never promise the link alone will work for
others.

## Hard limits

- Never create a repo when the project already has a remote.
- Never delete repos, and never change existing remotes.
- Never promise public visibility or link-sharing; access is managed from
  the repo page.
- No git jargon in user-facing text.

