skill-create
Convert a proven instinct cluster into a GSD-compatible skill definition
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Convert a proven instinct cluster into a GSD-compatible skill definition
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
A pre-publish checkpoint for a client blog/content draft — grammar and mechanics, brand voice against a per-client profile, and factual claims checked against the client's own site — that ends in one verdict a VA or owner can act on without reading the whole report: SHIP / SHIP WITH FIXES / HOLD. Use when a user asks to "QA this draft," "check this post before it goes live," "run content QA for [client]," "does this sound like [client]," or wants a pre-publish gate so nothing ships with an embarrassing factual miss, an off-voice line, or a typo in the headline.
A local tabbed dashboard showing all six AMM Founding Circle tools' reports in one place (Connection Sentinel, Bug Hunter, Content QA, Lead Grader, Penny Dashboard, Outbound Engine), each with a Refresh button that re-runs that tool's own command and pulls its latest report back in. Use when a member wants one place to check every tool at a glance instead of hunting down six separate report files, when presenting results live to a client or teammate, or when a specific tool's tab needs re-running after config changes.
Find the ghost tokens. Audit Claude Code or Codex setup, see where context goes, fix it. Use when context feels tight.
Compute per-client cost/billing profitability (Penny Dashboard) and generate an internal owner view plus a locked-down, client-safe HTML page per client. Use when an agency owner asks to run their Penny Dashboard, check which clients are unprofitable, see margin by client, or generate a client-safe cost/spend page to send a client.
Sweep every client site and Google Ads account for real, client-visible errors — broken links, disapproved ads, dead tracking tags, broken redirect chains. Use when the user says "run my bug hunt", "sweep my clients", "check my client sites for errors", "audit my Google Ads accounts for problems", or wants to know what's broken before a client finds it. Read-only — never edits, pauses, or posts anything.
An always-on checker that pings every API/MCP connection your automations depend on and alerts you the moment one silently dies -- email + macOS notification, plus a tiny local status board. Use when you want to know instantly if a connection (Search Atlas MCP, Google Ads, GA4, Meta, CallRail, Smartlead, ClickUp, Slack, or anything else) has gone down, when a scheduled automation "seems quiet" and you need ground truth instead of guessing, or when you're setting up your first always-on agent and want a watch on it from day one.
| name | skill-create |
| description | Convert a proven instinct cluster into a GSD-compatible skill definition |
| argument-hint | <cluster-id> | <instinct-id> |
| allowed-tools | ["Read","Write","Bash","Grep","Glob"] |
You are converting behavioral instincts into an executable GSD skill. The resulting SKILL.md must be a real, useful skill — not a placeholder. It must follow the same format as /learn, /learn-eval, and /evolve.
Parse the argument passed to this skill:
CLU-, it is a cluster ID.INS-, it is a single instinct ID.From a CLU- cluster ID:*
Locate the cluster file:
find "$HOME/.claude/instincts/global/clusters/" -name "<cluster-id>.md" 2>/dev/null
Read the file. Parse the frontmatter to extract:
id, name, member_ids, avg_confidence, trigger_family, skill_hypothesisstatusRead each member instinct file listed in member_ids:
find "$HOME/.claude/instincts/" -name "<ins-id>.md" 2>/dev/null
Parse each member instinct's frontmatter and ## Operational Rule body. Collect:
id, name, status, confidence, descriptionsignals.trigger_patternsFrom a single INS- instinct ID:*
Locate the instinct file:
find "$HOME/.claude/instincts/" -name "<instinct-id>.md" 2>/dev/null
Read the file. Set source_cluster: null. Use the instinct itself as the sole member.
All member instincts must have status == "proven" or status == "active".
Skip any member with status == "candidate" or status == "deprecated" — warn in the report but do not abort.
If zero members pass validation (all were candidates or deprecated), output:
Cannot create skill: no proven or active member instincts found.
Members found: N (all candidates or deprecated)
Run /learn-eval first to mature these instincts, then retry.
Then stop.
From cluster: Convert the cluster's name field to kebab-case. Drop any CLU/INS prefix. Use only lowercase letters, numbers, and hyphens.
From single instinct: Convert the instinct's name field to kebab-case the same way.
Examples:
"Slack Unread Detection" → slack-unread-detection"validate-roster-before-outbound-comms" → already kebab, use as-is"Weekly Digest -- Concise Format" → weekly-digest-concise-formatCollision check:
[ -d "$HOME/.claude/skills/<skill-name>" ] && echo "EXISTS" || echo "FREE"
If the directory already exists, append a numeric suffix: <skill-name>-2, <skill-name>-3, etc. Check until a free name is found.
Create the directory and write the skill:
mkdir -p "$HOME/.claude/skills/<skill-name>"
Frontmatter — use this exact format:
---
name: <skill-name>
description: "<one-line from skill_hypothesis (cluster) or instinct description (single)>"
argument-hint: ""
allowed-tools:
- Read
- Write
- Bash
- Grep
- Glob
---
Body — generate a real, runnable skill following the /learn style:
Open with an <objective> section:
skill_hypothesisdescriptionWrite a ## Instructions section that synthesizes all member operational rules into a coherent, non-redundant process:
## Operational Rule bodiesClose with a ## Important Constraints section that enumerates all the "never" / "always" / boundary conditions from the member rules.
The generated skill must be actionable — an agent reading it must know exactly what to do. It must not say "follow best practices" or "be careful". Every statement must be a concrete instruction.
Minimum body length: 300 words. If the source instincts produce fewer than 300 words of synthesized instruction, expand with:
Ensure the skills directory exists:
mkdir -p "$HOME/.claude/instincts/global/skills"
Generate a unique SKL ID:
SUFFIX=$(python3 -c "import secrets; print(secrets.token_hex(2))")
SKL_ID="SKL-$(date +%Y%m%d)-${SUFFIX}"
Write ~/.claude/instincts/global/skills/${SKL_ID}.md:
---
id: <SKL_ID>
skill_name: "<skill-name>"
source_cluster: <CLU-ID | null>
source_instincts: [INS-..., ...]
created_at: "<ISO-8601 UTC now>"
---
## Skill Reference
**Generated from**: <CLU-XXXXXXXX-XXXX "<cluster name>" | INS-XXXXXXXX-XXXX "<instinct name>">
**Skill path**: ~/.claude/skills/<skill-name>/SKILL.md
**Members**: <N> instinct(s)
### Source Summary
<One paragraph summarizing what behavioral patterns were synthesized into this skill.>
Cluster file (if source was a cluster):
Add skill_id: <skill-name> to the cluster's YAML frontmatter. Use the confidence library's update helper if available:
python3 -c "
import sys
sys.path.insert(0, '$HOME/.claude/instincts/lib')
from confidence import update_instinct_file
update_instinct_file('<CLU_FILE_PATH>', {
'skill_id': '<skill-name>',
'updated_at': '<ISO_NOW>',
})
"
If the skill_id field does not exist in the cluster frontmatter yet, append it before the closing --- using the Edit tool.
Member instinct files:
For each member instinct that passed validation, add skill_created: <skill-name> to their lineage block:
python3 -c "
import sys
sys.path.insert(0, '$HOME/.claude/instincts/lib')
from confidence import update_instinct_file
update_instinct_file('<INSTINCT_PATH>', {
'lineage.skill_created': '<skill-name>',
'updated_at': '<ISO_NOW>',
})
"
If the skill_created sub-key does not exist yet inside lineage:, append it there using the Edit tool.
Read ~/.claude/instincts/global/INSTINCTS.md. Find the ## Skills section. If it does not exist, append it at the end of the file.
Add one entry to the ## Skills section:
- <SKL_ID> | "<skill-name>" | from: <CLU-ID | INS-ID> | created <YYYY-MM-DD>
Replace (none yet) if that placeholder is present.
Output a structured report:
## Skill Creation Report
**Source**: <CLU-XXX "<cluster name>" | INS-XXX "<instinct name>">
**Members**: N instinct(s) (<N> valid, <N> skipped)
### Generated Skill
- Name: <skill-name>
- Path: ~/.claude/skills/<skill-name>/SKILL.md
- Reference: <SKL-ID>
### Lineage Updated
<For each source — list the CLU or INS IDs and what field was added>
- CLU-XXX: skill_id = <skill-name>
- INS-XXX: lineage.skill_created = <skill-name>
- INS-YYY: lineage.skill_created = <skill-name>
### Skipped Members (N)
<Only present if any members were skipped>
- INS-ZZZ | "<name>" | status: candidate — not mature enough
If the skill directory already existed and a suffix was appended, note it:
Note: ~/.claude/skills/<original-name>/ already existed — created as <skill-name> instead.
~/.claude/skills/<skill-name>/ exists, append a numeric suffix (-2, -3, ...). Never delete existing skills.mkdir -p for both the skill dir and ~/.claude/instincts/global/skills/)./learn or /evolve — concrete steps, prescriptive instructions, no vague guidance. A reader should be able to execute it without ambiguity.skill_created field. Do not skip members silently.