My Skills

Public, shareable agent skills for Codex, Claude Code, and other tools that follow the Agent Skills format.

This repository keeps the skill source in one neutral format and ships install wrappers for the agent-specific ecosystems:

  • skills/ is the canonical source of each skill.
  • plugins/codex/my-skills/ is the Codex plugin bundle generated from skills/.
  • plugins/claude/my-skills/ is the Claude Code plugin bundle generated from skills/.
  • .agents/plugins/marketplace.json lets Codex add this repo as a plugin marketplace.
  • .claude-plugin/marketplace.json lets Claude Code add this repo as a plugin marketplace.
  • bin/my-skills.mjs is a convenience installer for people who prefer npx.

Quick Install

Install the first published skill, cloudflare-domain-registration, as a direct user skill:

npx github:nachoal/my-skills install cloudflare-domain-registration --target both
npx github:nachoal/my-skills install keyword-research --target both

Install only for one agent:

npx github:nachoal/my-skills install cloudflare-domain-registration --target codex
npx github:nachoal/my-skills install cloudflare-domain-registration --target claude
npx github:nachoal/my-skills install keyword-research --target codex
npx github:nachoal/my-skills install keyword-research --target claude

Direct installs copy skills to:

  • Codex: ~/.agents/skills/<skill-name>
  • Claude Code: ~/.claude/skills/<skill-name>

Plugin Install

Codex:

codex plugin marketplace add nachoal/my-skills --ref main
codex plugin add my-skills@my-skills

Claude Code:

claude plugin marketplace add nachoal/my-skills
claude plugin install my-skills@my-skills
/reload-plugins

Plugin skills are namespaced by the plugin:

  • Claude Code: /my-skills:cloudflare-domain-registration
  • Codex: use the plugin or skill picker after installing my-skills.

Use The Cloudflare Skill

Set your Cloudflare credentials first:

export CLOUDFLARE_REGISTRAR_TOKEN="..."
export CLOUDFLARE_ACCOUNT_ID="..."

Then ask your agent for the registrar task you want:

Check whether example.com is available on Cloudflare Registrar and show the current price.
Register example.com on Cloudflare Registrar for 1 year with auto-renew and WHOIS privacy on.
Verify that example.com appears in my Cloudflare Registrar domain list.

Claude Code users can invoke the plugin skill explicitly:

/my-skills:cloudflare-domain-registration check whether example.com is available

If you cloned the repo and want to run the bundled helper directly:

python3 skills/cloudflare-domain-registration/scripts/cf_domain_registration.py check example.com
python3 skills/cloudflare-domain-registration/scripts/cf_domain_registration.py register example.com --dry-run
python3 skills/cloudflare-domain-registration/scripts/cf_domain_registration.py register example.com --yes
python3 skills/cloudflare-domain-registration/scripts/cf_domain_registration.py list --find example.com

Live purchases require --yes. Premium domains are refused unless the user explicitly approves premium pricing and the helper is rerun with --allow-premium.

Use The Keyword Research Skill

Set your DataForSEO credentials first:

export DATAFORSEO_LOGIN="..."
export DATAFORSEO_PASSWORD="..."

Then ask your agent for search-backed research:

Use keyword-research to validate search demand and competitors for missed-call automation in the US.
Use keyword-research to compare SEO opportunities for local business automation in Mexico Spanish.

Claude Code users can invoke the plugin skill explicitly:

/my-skills:keyword-research validate search demand for local SEO services

If you cloned the repo and want to run the bundled helper directly:

python3 skills/keyword-research/scripts/dataforseo_keyword_research.py keyword-overview \
  --keywords "local seo services,seo automation" \
  --location 2840 --language en --dry-run

python3 skills/keyword-research/scripts/dataforseo_keyword_research.py keyword-overview \
  --keywords "local seo services,seo automation" \
  --location 2840 --language en --yes

python3 skills/keyword-research/scripts/dataforseo_keyword_research.py serp-check \
  --keywords "local seo services,seo automation" \
  --depth 10 --yes

python3 skills/keyword-research/scripts/dataforseo_keyword_research.py competitors \
  --target example.com --limit 20 --yes

python3 skills/keyword-research/scripts/dataforseo_keyword_research.py ranked-keywords \
  --target example.com --limit 200 --yes

Live DataForSEO calls require --yes; --dry-run prints the request plan without credentials or spend. The skill intentionally does not auto-load machine-specific private env files; export credentials or pass --env-file.

Skills

Skill Category Description
cloudflare-domain-registration cloudflare Check availability and register domains through Cloudflare Registrar.
keyword-research marketing Run DataForSEO-backed keyword, SERP, competitor, backlink, gap, and brief workflows.

Secrets Policy

This repo must stay public-safe:

  • Never commit .env, .env-keys, access tokens, account IDs, contact IDs, real purchase transcripts, or private domains.
  • Keep examples generic, such as example.com.
  • Use .env.example for variable names only.
  • Run npm run scan:secrets before publishing.

For the Cloudflare Registrar skill, users provide their own:

export CLOUDFLARE_REGISTRAR_TOKEN="..."
export CLOUDFLARE_ACCOUNT_ID="..."

The helper never prints token values.

For the Keyword Research skill, users provide their own:

export DATAFORSEO_LOGIN="..."
export DATAFORSEO_PASSWORD="..."

The helper requires --yes for live paid API calls and records DataForSEO-reported task cost in local JSON outputs.

Development

npm run list
npm run validate
npm run sync
npm run scan:secrets
npm pack --dry-run

After changing anything in skills/, run npm run sync so both plugin bundles match the canonical source.

Repo Shape

The neutral skill format is intentionally simple:

skills/<skill-name>/
  SKILL.md
  agents/openai.yaml
  references/
  scripts/

The agent-specific plugin wrappers are generated copies:

plugins/codex/my-skills/
  .codex-plugin/plugin.json
  skills/<skill-name>/

plugins/claude/my-skills/
  .claude-plugin/plugin.json
  skills/<skill-name>/

License

MIT