skill-writer
Skill17 starsChanged 2 months agoMITView on GitHub
Creates new Hermes Agent skills from a description. Given a topic and concept, generates SKILL.md, README.md, .gitignore, and supporting files (references/, templates/, scripts/) — sanitised, peer-reviewed, and ready for the Hermes-Skills repo. Can also publish existing local skills with full linked-file support.
- Reads credentials
32 other projects use a version of this.
Adopted by
Most recently taken up by
- 0xsarwagya/agent-skills-alycdtheir own version, first seen Nov 8, 2026
- jav-ed/skill_Managtheir own version, first seen Nov 1, 2026
- shimo4228/akc-cycletheir own version, first seen Nov 1, 2026
- shimo4228/claude-harnesstheir own version, first seen Nov 1, 2026
- ericwood8/skillstheir own version, first seen Nov 1, 2026
- ihyonoo/skillstheir own version, first seen Oct 20, 2026
Used with
Projects with it also use frontend-design and skill-creator.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
BlockSkillfrontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Also in 3 projects that use this
SentrySkillskill-creator
Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.
Also in 3 projects that use this
Other versions32 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 32
- pytorch/pytorch★ 105ksame name
- BidingCC/BuildingAI★ 1.9ksame name
- getsentry/skills★ 1.1ksame name
- getsentry/warden★ 423same name
- intel/torch-xpu-ops★ 121same name
- ricky-theseus/DaisyWriter★ 69same name
- nilecui/SkillsBase★ 27same name
- metalagman/agent-skills★ 24same name
- aayushostwal/nexus★ 19same name
- skyciv/skyciv-ai-skills★ 11same name
22 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- 3dprinterSkill
- ai-projectsSkill
- ciberjohn-no-slopSkill
- excalidrawSkill
- gymcoachSkill
- jevSkill
- joplin-brainSkill
- medium-storySkill
- openrouter-image-genSkill
- openscad-cadSkill
- paperclip-creatorSkill
- proxmox-estateSkill
- short-videosSkill
- social-posterSkill
- t3mp3st-autonomous-securitySkill
- technical-trainerSkill
- transcribeSkill
- uk-business-consultantSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 11 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 28 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Create references/, templates/, scripts/, assets/ as needed
- Distinctive: line 24
Write reference docs the skill depends on (API docs, regulatory guides, etc.)
- Distinctive: line 25
Write templates the skill uses (report templates, config files, etc.)
- Distinctive: line 26
Write scripts the skill executes
- Very specific: line 62
IMPORTANT: After applying fixes, do ONE final grep for stale references before committing: grep -rn …
- Distinctive: line 66
Table row: Add a row to the "Current Skills" table in the root README (name, description, pipeline summary, slash command)
- Distinctive: line 67
Directory tree: Add the new skill to the repo structure tree diagram
- Very specific: line 68
GitHub About description: Run gh repo edit --description "<updated skill list>" so the repo's About box reflects the current collection.
- Distinctive: line 69
Do NOT: add an "### Install <public-name>" section to the root README — the install prompt lives in the skill's own README.md (step 4).
- Very specific: line 73
Use this when you already have a skill installed in ~/.hermes/skills/ and need to publish it to the Hermes-Skills public repo with full …
- Very specific: line 83
If the skill doesn't list linked files in its output, use find on its directory:
- Distinctive: line 94
Create ALL subdirectories upfront — references/, templates/, scripts/ — even if you're not sure they'll be used.
- Distinctive: line 103
Read the original file
- Very specific: line 105
Write the sanitised version to the corresponding subdirectory in the new Hermes-Skills folder
- Distinctive: line 138
Add more entries if the skill generates temp files or contains credential directories.
- Distinctive: line 147
Table row: Add a row to the "Current Skills" table in the root README with name, description, pipeline summary, and slash command
- Very specific: line 149
GitHub About description: Keep the repo's About box in sync by running gh repo edit --description "<updated skill list>".
- Distinctive: line 150
Do NOT: add an "### Install <public-name>" section to the root README — the install prompt lives in the skill's own README.md (step 7).
- Very specific: line 163
Pitfall: partial install prompts: If the user's Hermes agent doesn't copy references/ and templates/, the skill loads SKILL.md but the …
“Common” is measured: kept by at least 6 in 10 of the 28 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill-Writer
Creates new Hermes Agent skills from a description.
Pipeline
- Intake — 8 config questions
- Research — optional sub-agent
- Generate SKILL.md — agentskills.io compliant
- Generate README.md
- Generate supporting files — create subdirectories and populate:
- Create
references/,templates/,scripts/,assets/as needed - Write reference docs the skill depends on (API docs, regulatory guides, etc.)
- Write templates the skill uses (report templates, config files, etc.)
- Write scripts the skill executes
- Every subdirectory must be accounted for — the install prompt in step 4 (README.md) must reference each one
- Create
- Sanitise — self-check (grep for leaked secrets, stale hostnames,
youruserpattern) Peer review — dispatch ALL THREE mandatory reviewers in parallel. The peer review is not optional — it catches factual errors, hardcoded secrets, and stale content that the author cannot see.
⚠️ Common pitfall: skipping the Technical Writer. The Technical Writer verifies live sources in a browser. If the skill references external URLs (gov.uk, API docs, developer portals), the Technical Writer must be dispatched. Only skip if the skill contains zero external references — otherwise you risk publishing stale or incorrect data.
Two sequencing modes depending on whether files need modification:
Mode A: Parallel (default) — dispatch all 3 simultaneously. Use this when review findings only need to be reported, not applied during the review itself (the author applies all fixes in Step 8).
Mode B: Sequential (when tech writer updates files) — dispatch the Technical Writer FIRST to investigate, write corrections, and modify skill files. Wait for it to finish. THEN dispatch QA + DevSecOps in parallel to review the UPDATED files. Use this when platform setup guides need browser verification, or when the tech writer is rewriting sections from scratch — the later reviewers must see the corrected files, not the originals.
Mandatory reviewers (dispatch ALL three):
1. DevSecOps (security focused):
Check for hardcoded secrets (API keys, tokens, passwords), hardcoded paths (/home/, /Users/), hardcoded hostnames, stale env var names, credential files in .gitignore, chmod 600 on all state files, OAuth security (CSRF state validation on token exchange), deprecated endpoints. Return findings with severity CRITICAL/HIGH/MEDIUM/LOW.
2. QA/Consistency (code + docs focused):
Check cross-file consistency: do redirect URIs in docs match redirect URIs in code? Do platform counts match? Does the config.json template in README match what the scripts expect? Are all referenced commands and file paths correct? Are there unimplemented features referenced as available? Return findings with severity BUG/INCONSISTENCY/EDGE_CASE.
3. Technical Writer (user experience + live source verification — MANDATORY):
VERIFY every claim that references an external source by visiting the live URL in a browser (use browser_navigate + browser_snapshot + browser_scroll). Check that product names, scopes, redirect URI formats, pricing, and app types match CURRENT reality — portals change frequently. Watch for deprecated APIs, renamed products, and changed UI flows. Also check readability, completeness, placeholder correctness, and markdown formatting. Return findings with severity DOCS/CONSISTENCY/COMPLETENESS/STALE.
Critical rule: when the Technical Writer finds factual errors on live sites, it must write the CORRECTED version of the reviewed files, not just a report. This changes file paths between before and after the Technical Writer runs — subsequent reviewers (QA, DevSecOps) MUST wait for and review the UPDATED files, not the originals (use Mode B).
Optional 4th reviewer (add when architecture matters):
AI Engineer — architecture/design review. Check that the skill design is modular, follows agentskills.io conventions, and fits naturally into the user's skill library.
Apply fixes from ALL reviews in one batch — wait for ALL sub-agents to complete before starting any fix. Fix every finding (CRITICAL/HIGH/MEDIUM first, then LOW/COSMETIC), re-run syntax checks on all scripts, then update the root README and GitHub About description (Step 9) and commit and push once. Do NOT commit between reviews — this would create unnecessary git history noise if a later review finds additional issues in files you already touched.
IMPORTANT: After applying fixes, do ONE final grep for stale references before committing:
grep -rn "TAILSCALE\|YOUR_HOSTNAME\|old-hostname\|your_user\|youruser\|your_domain" <skill-dir>/ --include="*.md" --include="*.py"- Update root README and GitHub About description — before committing, bring the public repo metadata in sync:
- Table row: Add a row to the "Current Skills" table in the root README (name, description, pipeline summary, slash command)
- Directory tree: Add the new skill to the repo structure tree diagram
- GitHub About description: Run
gh repo edit --description "<updated skill list>"so the repo's About box reflects the current collection. It is the text shown on the repo's landing page and goes stale easily — update it every time a skill is added. - Do NOT add an "### Install
<public-name>" section to the root README — the install prompt lives in the skill's own README.md (step 4). The root README is a human-facing index; keeping prompts out of it prevents duplication.
Existing Skill Pattern (publishing a local skill to the Hermes-Skills repo)
Use this when you already have a skill installed in ~/.hermes/skills/ and need to publish it to the Hermes-Skills public repo with full documentation.
- Set working directory —
cd "$HERMES_SKILLS_REPO_PATH"and ensure it's clean (git status) - Load the original skill —
skill_view(name="<original-skill>")to get its content. Also inspect all linked files:
If the skill doesn't list linked files in its output, useskill_view(name="<original-skill>", file_path="references/<filename>") skill_view(name="<original-skill>", file_path="templates/<filename>") skill_view(name="<original-skill>", file_path="scripts/<filename>")findon its directory:find ~/.hermes/skills/<category>/<original-skill>/ -type f | sort - Identify hardcoded content — inspect SKILL.md and all linked files for paths, names, hostnames, secrets, personal emails. List every file that needs sanitising.
- Create a new directory — under Hermes-Skills with a public-facing name:
Create ALL subdirectories upfront — references/, templates/, scripts/ — even if you're not sure they'll be used. An empty directory costs nothing; forgetting to create one means a later cp fails.mkdir -p "$HERMES_SKILLS_REPO_PATH/<public-name>/{references,templates,scripts}" - Write SKILL.md — sanitised copy of the original with
{{VARIABLE}}placeholders for:- User paths (
~/.hermes/profiles/<name>,/home/<user>) - Personal names and emails
- Hostnames and domains (Tailscale, internal IPs)
- Config values specific to the original user
- User paths (
- Sanitise and copy linked files — for EVERY file found in step 2 that belongs in the public repo:
- Read the original file
- Replace personal data (emails, names, paths, hostnames) with
{{VARIABLE}}placeholders or generic text - Write the sanitised version to the corresponding subdirectory in the new Hermes-Skills folder
- Do NOT copy files that contain secrets only (e.g. credential templates with actual API keys) — those belong in .gitignore
- Write README.md — following the established pattern (see social-poster/README.md or excalidraw/README.md for reference):
- Title and tagline (~1 sentence)
- Install section with:
- A copy-paste NL prompt for the user's Hermes agent (must reference ALL files to copy — SKILL.md, references/, templates/, scripts/)
- A manual install alternative (git clone + cp commands)
- How it works (overview)
- What's included (file listing table)
- Usage examples
- Security section
- License
- Write .gitignore — standard template:
Add more entries if the skill generates temp files or contains credential directories.# Environment and secrets .env .env.* secrets/ !env.example # OS files .DS_Store Thumbs.db # Python __pycache__/ *.pyc *.pyo .venv/ venv/ - Sanity-check — grep the entire new directory for leaked secrets (including
youruserpattern):
Fix any matches.grep -rn "TAILSCALE\|YOUR_HOSTNAME\|old-hostname\|your_user\|youruser\|your_domain" "$HERMES_SKILLS_REPO_PATH/<public-name>/" --include="*.md" --include="*.py" --include="*.sh" - Update root README and GitHub About description — required before the final commit:
- Table row: Add a row to the "Current Skills" table in the root README with name, description, pipeline summary, and slash command
- Directory tree: Add the new skill to the repo structure tree diagram
- GitHub About description: Keep the repo's About box in sync by running
gh repo edit --description "<updated skill list>". List the current skill set (or a summary of it) so the About description never goes stale — it is the text shown on the repo's landing page. - Do NOT add an "### Install
<public-name>" section to the root README — the install prompt lives in the skill's own README.md (step 7). The root README is a human-facing index; keeping prompts out of it prevents the duplication that previously accumulated there.
- Peer review (mandatory) — dispatch ALL THREE mandatory sub-agents: DevSecOps, QA/Consistency, and Technical Writer. Each gets context tailored to their role (see Pipeline Step 7 above for exact prompts). Do NOT skip the Technical Writer — their live source verification catches factual errors that no other reviewer will find. Each reviewer must verify:
- The sanitised linked files, not just SKILL.md
- Cross-file consistency between SKILL.md, README.md, and all references
- That the install prompt covers all files in the directory
- Apply fixes from ALL reviews — wait for all sub-agents to complete, then apply every finding in one batch. Do NOT commit between reviews. Fix all findings (CRITICAL/HIGH/MEDIUM first, then LOW/COSMETIC), re-run syntax checks, then commit and push
Pitfall: missing the Technical Writer on linked files. If your references/ contain URLs to external sites (gov.uk, council pages, API docs), the Technical Writer must visit each URL in a browser and verify the content is current. The SKILL.md may be factual but the supporting docs stale. This is the most common failure mode of the existing skill pattern.
Pitfall: forgetting subdirectories. cp will fail silently if the target directory doesn't exist. Always mkdir -p references/ templates/ and scripts/ before copying.
Pitfall: partial install prompts. If the user's Hermes agent doesn't copy references/ and templates/, the skill loads SKILL.md but the agent can't link to supporting files. The install prompt MUST list every subdirectory.
This is effectively the skill-publishing pipeline but with skill-writer's generation approach for any content that needs writing fresh (README, .gitignore). The source is an existing .hermes skill; the output is a new directory in Hermes-Skills. Do NOT run skill-writer's full 8-step intake — there is no description to intake, the material is already written.
Configuration Variables
| Variable | Required | Default | Description |
HERMES_SKILLS_REPO_PATH | Yes | — | Absolute path to the Hermes-Skills repository |
HERMES_SKILLS_REPO_URL | Yes | — | Git remote URL |
SKILL_AUTHOR_NAME | No | Your Name | Attribution name |
SKILL_AUTHOR_URL | No | https://github.com/your-username | Attribution URL |
PEER_REVIEW_ENABLED | No | true | Run peer review |
References
references/agentskills-io-spec.md— Key compliance points for the agentskills.io open standard. Load when generating any new skill's frontmatter.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

