Skip to content
Back to skills

Offsider Skill Creator

ASecurity

Creates or updates project skills for the Offsider repo and the bundled Offsider skill that `offsider init` installs. Use when asked to "add an Offsider skill", "create a project skill", "update a skill", "sync skills for Codex and Claude Code", "fix the .claude/skills symlink", "edit the bundled SKILL.md", or extend Offsider's agent infrastructure. Project-scoped distillation of ps-skill-md.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 21, 2026
developmentswiftbashgit

Works with

  • claude code

Security analysis

A100/100

Scanned October 21, 2026

npx -y skills add michael-palmes/offsider --skill offsider-skill-creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Offsider Skill Creator?

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

Security grade badge for Offsider Skill Creator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/michael-palmes-offsider-skill-creator/badge)](https://www.skillsdirectory.com/skills/michael-palmes-offsider-skill-creator)

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: offsider-skill-creator
description: Creates or updates project skills for the Offsider repo and the bundled Offsider skill that `offsider init` installs. Use when asked to "add an Offsider skill", "create a project skill", "update a skill", "sync skills for Codex and Claude Code", "fix the .claude/skills symlink", "edit the bundled SKILL.md", or extend Offsider's agent infrastructure. Project-scoped distillation of ps-skill-md.
---

# offsider-skill-creator

Builds in-repo skills for Offsider that actually work. `.agents/skills` is the only source of truth for project skills; `.claude/skills` exposes it to Claude Code through one relative symlink. For personal, cross-project skills use the global `ps-skill-md` instead.

## When to use

- Adding or improving a project skill under `.agents/skills/<name>/`
- Repairing the shared Codex and Claude Code skill layout
- Editing the product skill at `Sources/Offsider/Resources/skills/offsider/SKILL.md`

## Instructions

1. **Interview first.** Ask focused multiple-choice questions (`AskUserQuestion` in Claude Code, `request_user_input` in Codex) covering purpose, trigger phrases, the exact workflow, edge cases, failures already seen and validation commands. Never write skill content from assumptions; generic skills get skipped by agents.
2. **Name it for the repo.** Project skills are `offsider-<capability>` in kebab-case (`offsider-commit`, `offsider-release`), and the directory name equals the `name:` field. Never use `ps-`, which is reserved for global personal skills. The product skill keeps the bare name `offsider`.
3. **Ensure the shared layout.**
   - Missing: `mkdir -p .agents/skills .claude && ln -s ../.agents/skills .claude/skills`.
   - `.claude/skills` is a real directory: move each non-conflicting skill into `.agents/skills` with `git mv`. If a name exists in both, compare them and ask which to keep; never overwrite either. Then `rmdir .claude/skills` and create the symlink.
   - Wrong symlink: inspect its target, migrate safe in-repo content, ask before touching anything external, then `unlink .claude/skills` and recreate it.
   - Never keep duplicate skill files under `.claude`. Link the canonical directory instead.
4. **Place it.** Project skill: `.agents/skills/<name>/SKILL.md`, plus `REFERENCE.md` if it would pass 250 lines (one level deep only). Product skill: edit only the bundled file; never recreate a second copy elsewhere in the repo.
5. **Write to the quality bar** below.
6. **Product skill extras.** It ships to users, so it describes `offsider` commands and flags only. Check every flag against `Sources/Offsider/Commands/*.swift` or `offsider <command> --help`; never document a flag from memory. Keep repo-internal rules out of it. When commands change, update it in the same change as the command.
7. **Verify immediately.** Run the checks below; fix and rerun until clean before responding.
   ```bash
   test -L .claude/skills
   test "$(readlink .claude/skills)" = "../.agents/skills"
   test .agents/skills -ef .claude/skills
   for d in .agents/skills/*/; do n=$(basename "$d"); grep -qx "name: $n" "$d/SKILL.md" || echo "name mismatch: $n"; done
   wc -l .agents/skills/*/SKILL.md Sources/Offsider/Resources/skills/offsider/SKILL.md   # each under 250
   grep -n "$(printf '\342\200\224')" .agents/skills/*/SKILL.md Sources/Offsider/Resources/skills/offsider/SKILL.md   # must be empty
   ```
   For the product skill also run `swift build && swift test`, then `swift run offsider init --print | diff - Sources/Offsider/Resources/skills/offsider/SKILL.md` (must be empty).

## Quality bar

- **Description is king.** The YAML `description` is all an agent sees before loading. Third person, packed with concrete trigger phrases.
- **Only add what the agent does not know.** Cut general Swift or git knowledge.
- **One skill, one capability.** Never merge unrelated workflows; it breaks trigger matching.
- **Every rule traces to a real failure.** "Resolve Xcode via `xcode-select -p`, because hard-coded `/Applications/Xcode.app` paths break when a beta is installed beside it" beats "find Xcode correctly".
- **Every prohibition has an alternative.** "Never widen the leak-gate exclusions. Rename the leak instead."
- **One concrete example beats paragraphs.**
- **Validation loop.** Exact commands, fix and rerun until passing.
- **Australian English, no em dashes, no references to private notes or roadmap stages.**

## Pre-finalisation checklist

- [ ] Description has concrete triggers, third person
- [ ] Instructions are numbered, actionable steps
- [ ] Every prohibition has an alternative
- [ ] No vague rules
- [ ] Validation loop included
- [ ] Under 250 lines, or split into `REFERENCE.md`
- [ ] One capability only
- [ ] Authored under `.agents/skills` (or the bundled product path), symlink checks pass
- [ ] `offsider-commit` used to commit the change

## Example: SKILL.md skeleton

```markdown
---
name: offsider-<capability>
description: <What it does and when, third person, with trigger phrases.>
---

# offsider-<capability>

<One-sentence purpose.>

## When to use
- <trigger>

## Instructions
1. **Step:** actionable, with the exact command
2. **Verify:** run `swift build && swift test`; fix and rerun until clean
```

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.