本文へ移動
cccskills
無料GitHub で公開

create-skill

Create a skill your org owns — scaffolded in this Egregore, protected from framework updates, shared with teammates via /save.

日本語の概要は準備中です。原文の説明を表示しています。

egregore-labs/egregoreスター 293(GitHub 293 + cccskills 0)

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Create an org-owned skill. Owned skills live in .claude/skills/<name>/ like framework skills, but they belong to the org: /update never overwrites them, and if upstream ever ships a skill with the same name, the org's version wins and the collision is reported.

Arguments: an optional skill name and/or a description of what the skill should do.

When to invoke

User says: "create a skill", "make a skill for X", "I want a /foo command for our team", "turn this workflow into a skill", /create-skill <name> Not this: installing someone else's published skill → find-skills · changing a framework skill's behavior → /contribute (upstream owns it)

Step 1: Name and scope

Derive a kebab-case name from the request. Rules:

  • Lowercase letters, digits, hyphens only. No slashes, no leading dot.
  • Must not collide with a framework skill. Check both the local tree and upstream when available:
NAME="<kebab-name>"
if [ -d ".claude/skills/$NAME" ]; then
  echo "exists locally"
fi
git fetch upstream main --quiet 2>/dev/null || true
git ls-tree -d upstream/main ".claude/skills/$NAME" 2>/dev/null | grep -q . && echo "exists upstream"

If the name exists locally or upstream, propose 2–3 alternatives and ask with a structured question when available and permitted in this session; otherwise ask in plain text instead of silently picking one. An org CAN deliberately own a name upstream also uses (their version then always wins), but that is an explicit choice — never a default.

If the user gave only a name and no behavior, ask what the skill should do before scaffolding — a skill with an empty body helps nobody.

Step 2: Scaffold

Write .claude/skills/$NAME/SKILL.md:

---
name: <name>
description: <one line — what it does and when an agent should reach for it>
---

<What this skill does, in 1–3 sentences.>

## When to invoke

<Describe the user intent that selects this skill, with example requests.>
<Route adjacent intents elsewhere when useful; free-form prose is valid.>

## Steps

1. <concrete step — commands in fenced bash blocks>
2. <...>

Fill it with real content derived from the user's description — trigger intent an agent can recognize, concrete steps, actual commands. Do not leave placeholder-only invocation sections or require fixed routing labels. Follow product-voice for any user-facing copy the skill emits.

Cross-runtime adapter (mandatory). Codex invokes skills as $<name> from .codex/skills/, and Pi consumes the same tree — one adapter serves both. Write .codex/skills/$NAME/SKILL.md:

---
name: <name>
description: '<same one line>'
canonical: .claude/skills/<name>/SKILL.md
---

<!-- org-owned skill adapter — created by /create-skill -->

# <name> (org skill)

This org-owned skill is defined once in `.claude/skills/<name>/SKILL.md`.

1. Read `.claude/skills/<name>/SKILL.md` for the full workflow.
2. Run any referenced `bin/` scripts directly from this shell.
3. Translate interactive choices to this runtime's question tooling when
   available; otherwise render compact numbered choices with an `Other:`
   option and wait for the user.

The runtime installer only removes files it installed itself (hash-tracked), so this adapter survives Codex/Pi runtime upgrades. Without it, the skill exists for Claude Code teammates only — always write both files.

Step 3: Register ownership

Add the name to owned_skills in egregore.json (create the array if absent). Use the chosen skill name as {name}, single-quoted in the command; write any embedded single quote as '\'':

mkdir -p tmp
jq --arg n '{name}' '.owned_skills = ((.owned_skills // []) + [$n] | unique)' \
  egregore.json > tmp/create-skill-config.json

If it succeeds, replace the configuration:

mv tmp/create-skill-config.json egregore.json

This is what makes the skill org-owned: /update runs bin/restore-owned-skills.sh after every framework sync, which keeps every listed skill at the org's committed version.

Step 4: Share it

Tell the user the skill is ready to try now (/<name> in Claude Code, $<name> in Codex, /<name> in Pi), then run /save so it reaches the team — teammates get it on /pull or their next session start. The skill directory, the .codex/skills/ adapter, and the egregore.json change must all land in the same PR, or the ownership guarantee ships half-finished.

Telemetry (fire-and-forget):

bash bin/telemetry.sh emit "command" '{"command":"create-skill"}' 2>/dev/null &

Edge cases

ScenarioHandling
Name collides with a framework skillPropose alternatives; owning a colliding name is explicit opt-in only.
User wants to modify a framework skillRoute to /contribute — or, if they explicitly want an org-local fork, copy it under a NEW name, register ownership, and note the fork won't receive upstream improvements.
Skill already in owned_skillsEditing an existing owned skill needs no re-registration — just edit and /save.
No jqTell the user to add the name to owned_skills in egregore.json manually.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

activity

無料

Explicit Activity card only. Use when the user names /activity or directly asks to show, open, or render the Activity dashboard/card. Never use it to answer or synthesize what the team is focused on, busy with, prioritizing, or doing; analytical organizational questions use Search/Runtime QMD.

日本語の概要は準備中です。原文の説明を表示しています。

egregore-labs/egregore2932026年10月17日 更新

announce

無料

Draft, preview, and explicitly send an Egregore group announcement. Use for /announce, telling the team something, or notifying everyone—not a direct message or structured handoff.

日本語の概要は準備中です。原文の説明を表示しています。

egregore-labs/egregore2932026年10月17日 更新

archive

無料

Capture an effective prompting or steering technique as a reusable canonical pattern. Use when a prompt chain worked especially well; use /reflect for insight about the work and /note for a private thought.

日本語の概要は準備中です。原文の説明を表示しています。

egregore-labs/egregore2932026年10月17日 更新

branch

無料

Create a working branch from what you are about to work on. Use for /branch, or any request to start a new branch before making changes.

日本語の概要は準備中です。原文の説明を表示しています。

egregore-labs/egregore2932026年10月17日 更新

checkup

無料

Run diagnostics on an Egregore environment and render a health report, repairing safe local Runtime problems when possible. Use for /checkup, a health check, or when something is broken and the root cause is unclear.

日本語の概要は準備中です。原文の説明を表示しています。

egregore-labs/egregore2932026年10月17日 更新

commit

無料

Stage changes and create a commit with a properly formatted message. Use for /commit, or saving work locally — not sharing it (/push) or opening a pull request (/pr).

日本語の概要は準備中です。原文の説明を表示しています。

egregore-labs/egregore2932026年10月17日 更新

egregore-labs のスキルをすべて見る

このスキルの問題を報告する