Anthropic / skills/skill-creator/SKILL.md
Skill Creator
Drafts and improves skills through example tasks, baseline comparisons, human feedback and trigger evaluations.
Runtime probed · reviewed · A helper or bounded runtime behavior was probed. This does not establish model task effectiveness or comprehensive security.
01 / Task fit
Where it may help.
These are intended uses indicated by the upstream material. They are not measured outcomes.
- Turning a repeatable workflow into a skill
- Comparing a skill revision with its baseline
02 / Setup & access
What it asks of your environment.
Requirements
- Drafting needs an agent and writable workspace; automated trigger evaluation additionally uses Python 3 and the claude CLI.
- The description improver uses the session's Claude Code authentication; its source explicitly says no separate ANTHROPIC_API_KEY is needed.
- The live viewer uses Python's standard library, a browser and a local TCP port; its port cleanup invokes lsof when available. Static HTML output is supported.
- The trigger runner uses select() on subprocess pipes; native Windows operation was not verified. Shell examples include Unix commands.
Permissions & data access
- Create skill files, evaluation outputs and temporary .claude/commands entries.
- Run Claude subprocesses that inherit the surrounding environment and can use the configured Claude service.
- Serve evaluation artifacts locally; live-viewer startup can terminate processes on its chosen port.
Instructions alone do not enforce a sandbox. The agent host, connected tools and approvals determine what the skill can actually read, change or send.
03 / Things to check
Security concerns & practical limits.
These concerns follow from the reviewed sources. They describe possible exposure or required review; they are not confirmed vulnerabilities.
Higher attention
Evaluation text can escape the viewer script context
Observed in the bounded evaluation: At revision 34040c9c568585f6929bedeaad110ad08f079624, generate_html embeds json.dumps output directly in an inline script. Synthetic prompt text with a closing script tag executed a harmless in-memory marker in fresh offline Chrome. The benign control did not execute the marker. This is confirmed only for the pinned files and fixture; current upstream HEAD was not tested. Two failed expectations describe this one issue.
Higher attention
Viewer can terminate another process
generate_review.py calls lsof and sends SIGTERM to processes listening on its selected port before starting the viewer (default 3117). IonBin assessment: use static output or inspect the port before live mode.
Review before use
Evaluation data and consumption
The improver sends skill content and evaluation examples to claude -p; repeated runs use the configured Claude account. The viewer embeds outputs. IonBin assessment: use approved sample data and review cost and artifact exposure.
Limits and nuances
- Selected runner, improver and viewer code paths reviewed; packaging, all graders and the full optimization loop were not audited.
- A good score on a small task set does not establish general reliability or resistance to hostile inputs.
04 / Review record
What we checked. What’s still open.
Recorded review scope
- SKILL.md drafting, baseline-evaluation and description-optimization sections
- scripts/run_eval.py subprocess launch, environment and pipe handling
- scripts/improve_description.py Claude subprocess and prompt construction
- eval-viewer/generate_review.py artifact embedding, port cleanup and localhost server paths
- LICENSE.txt
- Bounded evaluation; exact operations, counts, environment and limitations in the linked public report
Not tested or established
- No effectiveness benchmark or security certification
- Transitive dependencies, current advisories and host-agent permission controls not audited
- No generated-skill quality or trigger-rate measurements
- No Claude subprocess, live model, API credential, optimization loop or generated-skill effectiveness evaluation
- Port-cleanup lsof/os.kill effects were mocked; no real process was terminated
- Review date
- Source revision
34040c9c568585f6929bedeaad110ad08f079624- Our relationship
- Explored. Investigated through the recorded review. No use or replication is claimed.
Upstream content can change after review. A repository revision identifies source scope; it does not prove that every script, dependency or runtime behavior was tested. How freshness is handled.
Recorded evaluation / Helper probe
Results with their limits attached.
Viewer generation, mocked port cleanup and offline browser marker: 5 of 7 expectations passed. Two checks confirm one script-context injection issue at the pinned revision.
- Passed
- 5
- Failed
- 2
- Total recorded
- 7
These counts refer to the cases in this report. They are not a benchmark against other skills. A helper probe does not measure model task effectiveness or establish comprehensive security.
Read the evidence reportDownload the authored reproduction harness (JSON bundle) ↗
The report provides the case definitions, observations and baseline scope. Missing baselines or untested behaviors remain limitations.
Recorded environment
- Windows-11-10.0.26200-SP0; Python 3.12.10; Node 24.18.0; Chrome 155.0.8059.82
- Synthetic local fixtures; minimal child environment; no live account or credential; no OS sandbox
- Dependencies: pypdf 6.19.0, reportlab 4.4.9, Pillow 12.3.0, pdf2image 1.17.0, defusedxml 0.7.1
- Git Bash 5.3.15(1)-release (x86_64-pc-cygwin); Poppler 26.07.0
Recorded commands (2)
Commands document this evaluation. They are not setup instructions for your environment.
python run_evals.py --runtime-libs <existing-bundled-site-packages> --poppler-bin <poppler-binaries>node viewer_probe.mjsFindings from this evaluation
Higher attention
Evaluation text can escape the viewer script context
At revision 34040c9c568585f6929bedeaad110ad08f079624, generate_html embeds json.dumps output directly in an inline script. Synthetic prompt text with a closing script tag executed a harmless in-memory marker in fresh offline Chrome. The benign control did not execute the marker. This is confirmed only for the pinned files and fixture; current upstream HEAD was not tested. Two failed expectations describe this one issue.
Evaluation limitations
- No Claude subprocess, live model, API credential, optimization loop or generated-skill effectiveness evaluation
- Port-cleanup lsof/os.kill effects were mocked; no real process was terminated
- The browser payload only set a marker; no sensitive data or exfiltration was involved
- All browser requests were blocked, including attempted Google Fonts and SheetJS requests
- The viewer may need those external resources for fonts or XLSX rendering; their downloaded code was not evaluated
- Supervised local processes, not an OS sandbox
- No container, VM or memory/resource quota
- Application guards do not establish containment of arbitrary hostile code
- No real credential, remote account, or destructive-effect testing
05 / Reuse & discovery
License, attribution & popularity.
Apache-2.0
Per-skill license. Preserve its applicable license and notice obligations when distributing modifications.
Why it is in this collection
Rounded repository-wide GitHub stars observed in the public repository page; not skill installs, a quality score, or a measured trend.
182,000 repository stars (rounded)
- Scope
- Repository-wide; not individual skill usage.
- Observed
- Time window
- Single observation; no trend is established.
Popularity and inclusion do not establish quality, compatibility or security. Counts belong to their named metric and date; they are not a current ranking.
06 / Follow the evidence
Go to the original.
- Authoring and evaluation workflow github.com
- Trigger runner requirements and subprocess permissions github.com
- Authentication and transmitted evaluation content github.com
- Viewer output, localhost binding and process termination github.com
- Skill license github.com
- Repository popularity context github.com
IonBin’s source notes are independent assessments. Upstream authors retain their work and attribution. This page does not install or execute the skill.