Install
$ agentstack add skill-jskherman-engg-skills-engineering-skill-creator ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Engineering Skill Creator
Overview
This meta-skill is the canonical template for any new engineering skill in this repository. The convention mirrors Google DeepMind's science-skills format (YAML frontmatter, scripts that always write to --output, JSON envelope, first-use license notification) and adds engineering-specific elements: explicit safety scope where relevant, sources listed in SKILL_LICENSES.md, fallback strategies for missing optional dependencies, and an anti-patterns section.
Use this skill as the reference whenever you create a new skill or rewrite an existing one. The template files in references/ are the source of truth for the format.
When to Use
- You are adding a brand-new skill folder.
- You are refactoring an existing skill to the current format.
- You are documenting an internal review of the format itself.
Don't use for
- Adding a new script to an existing skill without rewriting the SKILL.md.
- Editing the shared
engg-skills-commonlibrary (that is developer code,
not a user-facing skill).
- Authoring the
uvinfrastructure skill (it has its own minimal shape).
Core Rules
- The YAML
descriptionMUST follow the pattern:. Use when . Don't use for. - Every script writes JSON via
result_envelope()(or DOT/text for the
rare diagrammatic case) and requires --output as the only output channel.
- Stdout is reserved for a single success message; warnings/diagnostics go
inside the JSON envelope.
- If the script references any third-party library, standard, or external
API, it MUST call write_license_notification() on first invocation.
- The skill MUST list at least 8 specific common mistakes for the domain.
- Procedure sections MUST be numbered checklists, not prose paragraphs.
- Fallback strategies MUST cover at least one realistic failure mode
(missing dep, edge case input, etc.).
Utility Scripts
This meta-skill does not have scripts; the templates in references/ are copy-paste starting points.
Procedure
- Pick a lowercase hyphenated folder name (e.g.
vle-flash-calculations) and use the same value in frontmattername. - Create
skills//SKILL.mdfromreferences/skill_template.md. - Create
skills//scripts/.pyusing the PEP-723
header pattern and the result_envelope + write_license_notification helpers.
- Create
skills//references/.mddocuments for any
methodology or background the user (or a code reviewer) will need.
- If the script needs a new pure-Python or thin-wrapper helper, add it to
skills/engg-skills-common/engg_skills_common/.py and import from the script via the established sys.path.insert pattern.
- Add tests in
tests/test_.pycovering at least one happy path,
one edge case, and one error case for any new shared-library function.
- Append a row to
SKILL_LICENSES.mdsummarising the upstream sources
and the engineering standards referenced (numbers only, not text).
- Add a row to the README skill table.
- Run
uv run pytest -qand at least one end-to-end script invocation
before committing.
Pitfalls
- Writing a generic description like "Use when a user asks for engineering
work matching this scope" — that defeats skill routing.
- Reproducing standard text (API, ASME, ISA, GPSA, TEMA): cite the number
only and require the user to procure the standard.
- Embedding kij values, NIST table data, or vendor correlations without
attribution; cite the source for every number.
- Forgetting the
LICENSE_NOTIFICATION.txtfirst-use call when the script
imports a third-party library.
- Putting heavy dependencies (
pymc,arviz) in the project-level
pyproject.toml; declare them in the script's PEP-723 header instead so users pay the cost only for the skills that need them.
- Returning Python objects from
result_enveloperesultsfield that
cannot be JSON-serialised (numpy types, pandas Index). Convert to native Python first.
- Forgetting to round / sanity-check final numbers in the script before
emitting them. The JSON should look correct without further processing.
- Skipping the "fallback strategies" section because the happy path works.
- Writing scripts that print results to stdout; the contract is JSON-only.
- Putting safety-critical wording in a single paragraph without a
dedicated "Safety and Scope" section.
Fallback Strategies
- If the skill borders on a regulated calculation (relief, pressure
vessel, electrical area classification), make the "Safety and Scope" section explicit and decline to produce final-design numbers.
- If a third-party library is not installable in some environments, the
script should give a clear error message naming the missing library and the install command.
Verification
- Run
python3 tools/validate_hermes_skills.py skills --strict-directory-matchafter adding or rewriting a skill. - Confirm the skill folder name matches
name, the description includes routing guidance, and referenced scripts or files exist.
References
references/skill_template.md— copy-paste SKILL.md template.references/calculation_result_schema.md— JSON envelope schema.references/script_template.md— copy-paste Python CLI template.
Anti-Patterns
- Authoring a skill whose description is duplicated verbatim from another
skill.
- Producing skill content that quotes standards extensively rather than
citing them.
- Authoring a script that does work outside its declared scope.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jskherman
- Source: jskherman/engg-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.