Social
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
ALWAYS invoke this skill when you need the user to act - run a command, paste a secret, click, approve - and whenever they ask how to do something or say they do not know what to do: "step by step"…
$ npx skills add kharmanskyi/open-steps --skill os-step-by-step -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kharmanskyi/open-steps os-step-by-step --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/kharmanskyi/open-steps.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/os-step-by-step .claude/skills/os-step-by-step && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "os-step-by-step" agent skill from https://github.com/kharmanskyi/open-steps/tree/main/skills/os-step-by-step into .claude/skills/os-step-by-step/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-step-by-step", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/kharmanskyi/open-steps/tree/main/skills/os-step-by-stepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add kharmanskyi/open-steps --skill os-step-by-step -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kharmanskyi/open-steps os-step-by-step --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kharmanskyi/open-steps.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/os-step-by-step .agents/skills/os-step-by-step && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "os-step-by-step" agent skill from https://github.com/kharmanskyi/open-steps/tree/main/skills/os-step-by-step into .agents/skills/os-step-by-step/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-step-by-step", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kharmanskyi/open-steps --skill os-step-by-step -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kharmanskyi/open-steps os-step-by-step --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kharmanskyi/open-steps.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/os-step-by-step .cursor/skills/os-step-by-step && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "os-step-by-step" agent skill from https://github.com/kharmanskyi/open-steps/tree/main/skills/os-step-by-step into .cursor/skills/os-step-by-step/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-step-by-step", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/kharmanskyi/open-steps.git --path skills/os-step-by-step--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add kharmanskyi/open-steps --skill os-step-by-step -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kharmanskyi/open-steps os-step-by-step --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kharmanskyi/open-steps.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/os-step-by-step .gemini/skills/os-step-by-step && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "os-step-by-step" agent skill from https://github.com/kharmanskyi/open-steps/tree/main/skills/os-step-by-step into .gemini/skills/os-step-by-step/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-step-by-step", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install kharmanskyi/open-steps os-step-by-stepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add kharmanskyi/open-steps --skill os-step-by-step -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kharmanskyi/open-steps.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/os-step-by-step .github/skills/os-step-by-step && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "os-step-by-step" agent skill from https://github.com/kharmanskyi/open-steps/tree/main/skills/os-step-by-step into .github/skills/os-step-by-step/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-step-by-step", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kharmanskyi/open-steps --skill os-step-by-step -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kharmanskyi/open-steps os-step-by-step --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kharmanskyi/open-steps.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/os-step-by-step .opencode/skills/os-step-by-step && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "os-step-by-step" agent skill from https://github.com/kharmanskyi/open-steps/tree/main/skills/os-step-by-step into .opencode/skills/os-step-by-step/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "os-step-by-step", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
os-step-by-stepALWAYS invoke this skill when you need the user to act - run a command, paste a secret, click, approve - and whenever they ask how to do something or say they do not know what to do: "step by step"…
Os Step By Step is an agent skill from kharmanskyi/open-steps. ALWAYS invoke this skill when you need the user to act - run a command, paste a secret, click, approve - and whenever they ask how to do something or say they do not know what to do: "step by step", "walk me through it", "what do I do", "what should I do", "I don't understand what to do", "explain what I need to do", in any language. Picking which task comes next is os-whats-next; this skill is for doing the thing in front of you. First earn the ask: try it yourself, find another route, shrink it to the part only…
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/01-paste-a-secret.md`).
It sits in Writing & Content. The repository describes itself as: Plain-language agent skills for Claude Code, Codex, Cursor and Gemini CLI: honest session reports, straight verdicts, steps you can follow. MIT. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4fa744b. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Read(~/.claude/open-steps/**)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
sshFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use ssh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Os Step By Step loads about 1.9k tokens when it runs, and up to ~2.9k if it reads all its reference files. Until then it costs about 191 tokens; SKILL.md has 949 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from kharmanskyi/open-steps at commit 4fa744b, republished under its MIT licence (© kharmanskyi). 949 words, ~1,885 tokens.
.claude/skills/os-step-by-step/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.The user is not stuck because the task is hard - they cannot tell what they
are being asked to do. This skill turns "I need something from you" into an
instruction a person who does not read code can follow without a follow-up
question. os-done-or-not reports that something is needed; this one says
exactly how.
Write in the language the user speaks in this session, detected from the conversation. Commands, file names and identifiers stay English.
Triggers live in the description above - any moment you need the user's hands, or they ask what to do.
Every ask costs the user a context switch. Prove it is necessary; stop at the first item that clears the block:
Three walls where asking IS the correct move, never to be worked around: pulling a secret into your own context, loosening a guard that is there on purpose, doing what the user said only they do.
Always this order - the ask first, never after the diagnosis.
**What I need from you: <one sentence, plain words>.**
Why you and not me: <one or two sentences. A real reason, in human terms.>
**Step 1. <action in three to six words>**
<What to do. One action only.>
**Step 2. <action>**
<...>
**How you'll know it worked.**
<What the user will see. What to do if they see something else.>
**What happens next, on my side.**
<One line: what you do once they are done, and what you will say.>"Done" is a claim. Run the one quickest check that would fail if the step had
not worked - the file exists with the right owner, the service answers, the
value works once. Never print a secret to confirm it: confirm its effect. If
the check fails, give only the corrected step - never the whole list again.
Verified versus assumed is exactly what os-done-or-not needs for "yes"
versus "not checked".
A secret never goes through the chat - it would stay in the history and the logs. The command below puts it where it belongs directly; say who deletes it and when. A hard-to-undo step - live users, money, deletion - gets its own warning line before the command.
Writing a secret to a remote host - one line: it prompts, hides the typing, refuses a truncated paste, confirms by size:
printf 'Paste the connection string, then press Enter: '; IFS= read -rs V; echo; if [ ${#V} -lt 20 ]; then echo "Only ${#V} characters - that looks truncated, nothing was saved."; else printf '%s' "$V" | ssh root@HOST 'umask 077 && cat > /path/to/secret' && ssh root@HOST 'echo "Saved, $(wc -c < /path/to/secret) bytes"'; fi; unset VTyped by hand rather than pasted - ask twice; a typo in a hidden field is otherwise undetectable:
printf 'Enter the token: '; IFS= read -rs A; echo; printf 'Enter it again: '; IFS= read -rs B; echo; if [ "$A" != "$B" ]; then echo "The two entries differ - nothing saved, run it again."; else printf '%s' "$A" | (umask 077; cat > /path/to/secret) && echo "Saved, $(wc -c < /path/to/secret) bytes"; fi; unset A BThese templates are for bash and zsh and have not been run on Windows. There, ask the user to open a separate Git Bash window just for this command, and to leave the agent running where it is. Never write an unchecked PowerShell one.
Two properties the templates cannot keep for you, both measured:
printf …; IFS= read -rs VAR - never read -rsp. In zsh -p means
"read from a coprocess": the variable comes back empty with no error and the
secret file is written blank. macOS defaults to zsh.The rest the templates already embody - one single line, umask 077 before
writing, refuse short input, confirm by byte count never by content, unset
at the end. Adapt the prompt, the threshold and the path; keep every property.
The same pattern serves any value the user must supply by hand - a public
key, a domain, an address, an id. Prompt for it the same way; keep the typing
visible when the value is not secret (drop -s), skip the length gate when
short is valid - and always end with a plain-words confirmation of what just
happened, so pressing Enter never feels like dropping a coin into a well.
A decision gets no steps. Use your tool's question picker where it has one (in Claude Code, AskUserQuestion), with the pack's contract: plain question, why it matters, what changes later, easy to undo, two to four options, the recommended one first and marked. Where there is no picker, write the same question and options as plain text, the recommended one first and marked.
© kharmanskyi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/os-step-by-step of kharmanskyi/open-steps.
Open the folder on GitHubat commit 4fa744b
Os Step By Step next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Os Step By Step this skillkharmanskyi/open-steps | 1.3k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Socialcoreyhaines31/marketingskills | 54k | 4 repos | ~4.5k | Automated safety check: Pass | MIT | |
| HumanizerAzure-Samples/interview-coach-agent-framework | 172 | 37 repos | ~5.8k | Automated safety check: Pass | MIT | |
| Avoid AI Writingconorbronsdon/avoid-ai-writing | 4.9k | 3 repos | ~8.1k | Automated safety check: Pass | MIT | |
| JavaScript Concept Fact Checkerleonardomso/33-js-concepts | 67k | 1 repos | ~5k | Automated safety check: Pass | MIT | |
| User-Facing Text Cleanupguillaumemeyer/watermarks-remover | 24k | — | ~3.5k | Automated safety check: Pass | MIT |
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
Azure-Samples/interview-coach-agent-framework
Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.
conorbronsdon/avoid-ai-writing
Audit and rewrite content to remove AI writing patterns ("AI-isms").
leonardomso/33-js-concepts
Verifies the technical accuracy of JavaScript concept pages by checking code examples, MDN and ECMAScript claims and external links through a five-phase method.
guillaumemeyer/watermarks-remover
Audits prose for invisible Unicode characters and rewrites it while keeping facts, citations, code and required disclosures unchanged and the writer's voice intact.
trycompai/crm
Install and configure the anti-slop Oxlint plugin in a local TypeScript or JavaScript repository.
kharmanskyi/open-steps
ALWAYS invoke this skill when the user asks where the project as a whole stands - "where are we", "what's the big picture", "what have we built", "what is in this project", "map the project", "what…
kharmanskyi/open-steps
ALWAYS invoke this skill before asking the user any technical question or offering options, and whenever they ask to be asked in plain words - "ask simple", "ask me simply", "ask me in plain words"…
kharmanskyi/open-steps
ALWAYS invoke this skill when the user asks about work done outside this session - "check work", "check the others", "check other sessions" - or to accept one: "the session is done, check it", "can…
kharmanskyi/open-steps
ALWAYS invoke this skill when the user asks what to do next, what is left, or what is blocked - "what's next", "what now", "what should we work on", "anything I can do" - in any language.
kharmanskyi/open-steps
ALWAYS invoke this skill when work wraps up or the user asks how it went - "done or not", "are we done", "what happened", "report", "what's the status of this ticket" - in any language, and when a…
kharmanskyi/open-steps
ALWAYS invoke this skill when the user asks for simpler or shorter about something said or written - "say it simply", "what does this mean", "I don't understand your answer", "too long", "wait…
Categories
ALWAYS invoke this skill when you need the user to act - run a command, paste a secret, click, approve - and whenever they ask how to do something or say they do not know what to do: "step by step"…. Os Step By Step is an agent skill from kharmanskyi/open-steps. ALWAYS invoke this skill when you need the user to act - run a command, paste a secret, click, approve - and whenever they ask how to do something or say they do not know what to do: "step by step", "walk me through it", "what do I do", "what should I do", "I don't understand what to do", "explain what I need to do", in any language.
Os Step By Step fits situations like: writing & Content work in your project.
Run `npx skills add kharmanskyi/open-steps --skill os-step-by-step -a claude-code`. Or copy the skill folder (skills/os-step-by-step in kharmanskyi/open-steps) into .claude/skills/os-step-by-step in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kharmanskyi/open-steps --skill os-step-by-step -a codex`. Or copy the skill folder (skills/os-step-by-step in kharmanskyi/open-steps) into .agents/skills/os-step-by-step in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kharmanskyi/open-steps --skill os-step-by-step -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/os-step-by-step, .gemini/skills/os-step-by-step, .github/skills/os-step-by-step and .opencode/skills/os-step-by-step in your project.
Going by SKILL.md and its folder, Os Step By Step needs the command-line tools its instructions call (ssh). Its frontmatter pre-approves these tools: Read(~/.claude/open-steps/**).
SKILL.md contains no URLs. Its commands use ssh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Os Step By Step is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Os Step By Step: Social (coreyhaines31/marketingskills, 54k stars), Humanizer (Azure-Samples/interview-coach-agent-framework, 172 stars), Avoid AI Writing (conorbronsdon/avoid-ai-writing, 4.9k stars) and JavaScript Concept Fact Checker (leonardomso/33-js-concepts, 67k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kharmanskyi (a GitHub user) maintains it in kharmanskyi/open-steps, which has 1,272 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 5, 2026.
Source: kharmanskyi/open-steps on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.