Skip to content
alyn
ReScienceLab

Add New Opc Skill skill

Checklist and automation guide for adding a new skill to the OPC Skills project. Ensures all required files, metadata, logos, and listings are created before release. Use when adding a new skill, publishing a skill, or preparing a skill for release.

$npx skills add ReScienceLab/opc-skills --skill add-new-opc-skill
GitHub stars
1,901
Pack installs
79k
Alyn Score
66/99
Updated
10 h ago
License
Apache-2.0

ReScienceLab

Add New Opc Skill

Install Add New Opc Skill

Pick your agent. Every command is ready to paste.

$npx skills add ReScienceLab/opc-skills --skill add-new-opc-skill

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads add-new-opc-skill when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the add-new-opc-skill skill”. In Codex, type $add-new-opc-skill.

The skill itself

SKILL.md

GitHub

Add New OPC Skill

Use this skill when adding a new skill to the OPC Skills project. Follow every step below to ensure the skill meets all publishing requirements.

Pre-flight

Before starting, confirm:

  • You are on a feature branch: feature/skill/<skill-name> (branched from develop)
  • The skill name is kebab-case (e.g., my-new-skill)

Checklist

1. Skill Directory Structure

Create the skill directory with required files:

skills/<skill-name>/
├── SKILL.md              (required) Main skill documentation
├── scripts/              (if skill has scripts)
│   └── *.py / *.sh
├── examples/             (recommended) Usage examples
│   └── *.md
└── references/           (optional) API docs, templates
    └── *.md

SKILL.md must include YAML frontmatter:

---
name: <skill-name>
description: Clear description. Include trigger keywords and "Use when..." contexts.
---

Use template/SKILL.md as a starting point:

cp -r template skills/<skill-name>

Generate a pixel-art style SVG logo matching existing skill logos:

# Use the logo-creator skill
python3 skills/nanobanana/scripts/batch_generate.py \
  "Pixel art <subject> logo, 8-bit retro style, black pixels on white background, minimalist icon, clean crisp edges, no text, centered" \
  -n 20 --ratio 1:1 \
  -d .skill-archive/logo-creator/<date>-<skill-name> \
  -p logo

# Open preview to pick a logo
cp skills/logo-creator/templates/preview.html .skill-archive/logo-creator/<date>-<skill-name>/
open .skill-archive/logo-creator/<date>-<skill-name>/preview.html

# After picking (e.g., #5):
python3 skills/logo-creator/scripts/crop_logo.py <input>.png <output>-cropped.png
python3 skills/logo-creator/scripts/vectorize.py <output>-cropped.png skill-logos/<skill-name>.svg

Verify: skill-logos/<skill-name>.svg exists and matches the pixel-art style of other logos.

3. skills.json Entry

Add a complete entry to the skills array in skills.json. All fields are required unless noted:

{
  "name": "<skill-name>",
  "version": "1.0.0",
  "description": "Full description of the skill.",
  "logo": "https://raw.githubusercontent.com/ReScienceLab/opc-skills/main/skill-logos/<skill-name>.svg",
  "icon": "<simpleicons-name>",
  "color": "<hex-without-hash>",
  "triggers": ["trigger1", "trigger2"],
  "dependencies": {},
  "auth": {
    "required": false,
    "type": null,
    "keys": []
  },
  "install": {
    "user": {
      "claude": "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a claude",
      "droid": "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a droid",
      "opencode": "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a opencode",
      "codex": "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a codex"
    },
    "project": {
      "claude": "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      "droid": "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      "cursor": "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      "opencode": "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      "codex": "npx skills add ReScienceLab/opc-skills --skill <skill-name>"
    }
  },
  "commands": [
    "python3 scripts/example.py \"{input}\""
  ],
  "links": {
    "github": "https://github.com/ReScienceLab/opc-skills/tree/main/skills/<skill-name>"
  }
}

Field notes:

  • icon: Use a Simple Icons name, or generic like "globe", "archive", "image"
  • color: 6-char hex without # (e.g., "6B7280")
  • dependencies: Object with skill names as keys and version ranges as values (e.g., {"twitter": ">=1.0.0"})
  • auth.keys: Array of {"env": "VAR_NAME", "url": "https://...", "optional": true/false}
  • commands: List of CLI commands the skill exposes (empty array [] if instructions-only)

Validate after editing:

python3 -c "import json; json.load(open('skills.json')); print('valid')"

4. README.md

Add the skill to the "Included Skills" table in README.md:

| <img src="./skill-logos/<skill-name>.svg" width="24"> | [<skill-name>](./skills/<skill-name>) | Short description |

Insert in the appropriate position within the existing table.

5. Website (worker.js)

Add the skill to the hardcoded skills array in website/worker.js inside the fetchCompareData() function. Find the ],\n };\n} closing of the skills array and add before it:

{
  name: "<skill-name>",
  version: "1.0.0",
  description: "<description>",
  icon: "<icon>",
  color: "<color>",
  triggers: ["trigger1", "trigger2"],
  dependencies: [],
  auth: { required: false, note: "..." },
  install: {
    user: {
      claude: "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a claude",
      droid: "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a droid",
      opencode: "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a opencode",
      codex: "npx skills add ReScienceLab/opc-skills --skill <skill-name> -a codex",
    },
    project: {
      claude: "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      droid: "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      cursor: "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      opencode: "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
      codex: "npx skills add ReScienceLab/opc-skills --skill <skill-name>",
    },
  },
  commands: [],
  links: {
    github: "https://github.com/ReScienceLab/opc-skills/tree/main/skills/<skill-name>",
  },
},

6. CHANGELOG.md

Add the skill to the Skill Compatibility & Dependency Matrix table:

| **<skill-name>** | 1.0.0 | - | - |

Add an entry under ## [Unreleased] (or the release version section):

### <skill-name>
#### [1.0.0] - YYYY-MM-DD
- **Added**: Initial release - <description>

Verification

Before committing, verify all items:

# 1. SKILL.md exists with valid frontmatter
head -5 skills/<skill-name>/SKILL.md

# 2. Logo SVG exists
ls -la skill-logos/<skill-name>.svg

# 3. skills.json is valid JSON with all fields
python3 -c "
import json
config = json.load(open('skills.json'))
skill = [s for s in config['skills'] if s['name'] == '<skill-name>'][0]
required = ['name','version','description','logo','icon','color','triggers','dependencies','auth','install','links']
missing = [f for f in required if f not in skill]
print('PASS' if not missing else f'MISSING: {missing}')
"

# 4. README.md lists the skill
grep '<skill-name>' README.md

# 5. worker.js has the skill
grep '<skill-name>' website/worker.js

# 6. CHANGELOG.md has the skill in matrix
grep '<skill-name>' CHANGELOG.md

Git Workflow

# Branch
git checkout develop && git pull
git checkout -b feature/skill/<skill-name>

# Commit
git add skills/<skill-name>/ skill-logos/<skill-name>.svg skills.json README.md website/worker.js CHANGELOG.md
git commit -m "feat(skill): add <skill-name> skill"

# PR to develop
git push -u origin feature/skill/<skill-name>
gh pr create --base develop

Tips for Add New Opc Skill

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It is part of a pack with 12 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Add New Opc Skill

What does the Add New Opc Skill skill do?

Checklist and automation guide for adding a new skill to the OPC Skills project. Ensures all required files, metadata, logos, and listings are created before release. Use when adding a new skill, publishing a skill, or preparing a skill for release.

How do I install Add New Opc Skill?

Run "npx skills add ReScienceLab/opc-skills --skill add-new-opc-skill" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Add New Opc Skill work in Cursor and Codex?

Yes. Add New Opc Skill uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Add New Opc Skill free?

Add New Opc Skill is open source on GitHub under the Apache-2.0 license. It is free to install; check the license before commercial use.

Who made Add New Opc Skill?

Add New Opc Skill is published by ReScienceLab in the ReScienceLab/opc-skills repository, together with 11 other skills.

Similar skills. From other creators.