Skip to content
Back to skills

Adopt Coast Standards

BSecurity

Install or upgrade Coast Standards (engineering rules for AI-built software, plus the checks that enforce them) in the current project. Use when asked to adopt, install, set up or upgrade Coast Standards, or to add coding-standard checks and git hooks to a repository. Fetches a published release; the installer copies the rules and checks into the project.

  • 11 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
developmentpythongobashreactgitapi

Works with

  • terminal
  • api

Security analysis

B76/100
  • mediumUses curl or wget to download content
  • highPerforms destructive filesystem operations
  • criticalDownloads and executes remote scripts — classic supply chain attack

Pro shows the line behind each finding and how to fix it

Scanned September 19, 2026

npx -y skills add Up-Coast/coast-standards --skill adopt-coast-standards --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Adopt Coast Standards?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Adopt Coast Standards
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/up-coast-adopt-coast-standards/badge)](https://www.skillsdirectory.com/skills/up-coast-adopt-coast-standards)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: adopt-coast-standards
description: Install or upgrade Coast Standards (engineering rules for AI-built software, plus the checks that enforce them) in the current project. Use when asked to adopt, install, set up or upgrade Coast Standards, or to add coding-standard checks and git hooks to a repository. Fetches a published release; the installer copies the rules and checks into the project.
---

# Adopt Coast Standards

This skill says where the releases are and how to run the installer. The installer copies the rules, checks and hooks into the project. From then on they belong to the project, like any other dependency.

- Releases: https://github.com/Up-Coast/coast-standards/releases
- Installer: `enforcement/adopt.py` inside any release.

## Steps

1. **Download the newest release.** This command finds the newest tag, downloads it, and unpacks it to `~/.cache/coast-standards/<version>/`:

   ```bash
   v=$(curl -fsSL https://api.github.com/repos/Up-Coast/coast-standards/releases/latest | python3 -c 'import json,sys; print(json.load(sys.stdin)["tag_name"].lstrip("v"))') && mkdir -p ~/.cache/coast-standards && curl -fsSL "https://github.com/Up-Coast/coast-standards/archive/refs/tags/v$v.tar.gz" | tar xz -C ~/.cache/coast-standards && rm -rf ~/.cache/coast-standards/"$v" && mv ~/.cache/coast-standards/coast-standards-"$v" ~/.cache/coast-standards/"$v" && echo "Coast Standards $v is at ~/.cache/coast-standards/$v"
   ```

   Use the printed version in the paths below. To get a different release, use a copy already in the cache: `adopt.py <project> --release <version>`.

2. **Do a dry run and show the user the list of files.** Nothing is written.

   ```bash
   python3 ~/.cache/coast-standards/$v/enforcement/adopt.py <project> --dry-run
   ```

3. **Ask the user only what the dry run did not answer.** Phrase each question as a recommended default they can turn down.

   | Question | When to ask | Where the answer goes |
   |---|---|---|
   | Which platform? | The installer could not tell | `--platform ios\|macos\|android\|react-native\|web\|python` |
   | Where is the theme file (colours, fonts, spacing)? | The dry run did not find one | The `theme` entry in `.coast/paths.json` (the user's file to edit) |
   | Whose name goes on the baselines? | The git user name is wrong | `--by <name>` |
   | The owner's name and the product's name | Always | `--owner <name>`, `--product <name>` (used in every refusal message and the `CLAUDE.md` block) |
   | Should any rule, pre-push check or session hook be off? | Always | See below |
   | Is there a check this machine cannot run yet (for example, a build that needs secrets)? | Always | A dated skip in `.coast/rules-exceptions.json`, never a permanent switch-off |

   The installer asks the on/off questions itself when run in a terminal. From an agent session, either:
   - pass `--yes` (everything on), then have the user put their answers in `.coast/config.json`, or
   - have the user run `adopt.py <project> --init` in a terminal themselves.

4. **Install.** Then commit the files it wrote and push. The first push runs every check.

   ```bash
   python3 ~/.cache/coast-standards/$v/enforcement/adopt.py <project>
   ```

5. **Tell the user what changed:**
   - the files added,
   - the "rules enforced by a check" number the installer printed,
   - the baselines (counts of existing problems that may only go down) and their deadline, 90 days out,
   - the version now recorded in `.coast/standards-version`.

## Upgrading

Run the installer again with a newer release:

```bash
python3 ~/.cache/coast-standards/<any version>/enforcement/adopt.py <project> --release <new version>
```

It replaces its own files, keeps anything the project edited, and lowers any baseline count that has gone down.

## Rules for the agent

- **Never edit these by hand:** `.coast/` (the checks, the session hook, the config, the baselines), `.githooks/`, `.claude/settings.json`, or the rules document. They define the project's checks. Change the checks by upgrading.
- **The config and the exceptions file belong to the user.** Tell them what to write; do not write it yourself.
- **Never pass `--no-verify`.** When a check stops you, read the refusal line: it names the rule and what to do. For more, read `docs/when-a-check-stops-you.md` in the release.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…