Skip to content
Back to skills

Creator

ASecurity

Use when a user wants to bootstrap an experiment-orchestration skill for their own simulation framework. Captures their framework profile via 17 questions, then emits a tailored paper-to-experiment skill (templates, schema, registry, validator) into their .claude/skills/.

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
ai-agentspythongotesting

Security analysis

A100/100

Pro scans all 9 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add thematteroftime/agentic-md-for-dummies --skill creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Creator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Creator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thematteroftime-creator/badge)](https://www.skillsdirectory.com/skills/thematteroftime-creator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: creator
description: Use when a user wants to bootstrap an experiment-orchestration skill for their own simulation framework. Captures their framework profile via 17 questions, then emits a tailored paper-to-experiment skill (templates, schema, registry, validator) into their .claude/skills/.
---

# Creator — meta-skill that builds experiment-orchestration skills

You are generating a skill that lives inside another project. The output is a working clone of `paper-to-experiment` adapted to that project's simulation framework.

## Hard rules

1. **Inspect first, ask second.** Read the user's project root before any question. Files >> their description.
2. **Don't invent fields.** If a question's answer can't be inferred from the codebase, surface it; don't guess.
3. **Skill output is text-only.** No GPU, no simulations, no `--apply` to user files outside `.claude/skills/<generated>/`.
4. **Generated skill must validate.** Before handing off, dry-run the schema against one of the user's existing configs.
5. **Single source of class registry.** Generated skill must point at one runtime registry (e.g. `tools/registry.py`), never at scattered references.
6. **AI only produces config; never executes.** This contract is non-negotiable in every generated skill.

## Process

```
1. Inspect repo  →  2. Interview (17 Q) →  3. Fill profile
                                              ↓
       6. Hand off  ←  5. Self-test  ←  4. Generate skill
```

### Step 1 — Inspect repo

Read in order:
- `pyproject.toml` / `package.json` / `Cargo.toml` (language + deps)
- The user's main entry script (whatever runs a simulation)
- One existing config file (the kind of artifact the new skill will produce)
- `docs/` for any README / architecture notes

Catalog: language, config format (JSON/YAML/TOML/Python), entry-script signature, output dir convention, existing analyzer/plotter classes.

### Step 2 — Interview

Open `templates/interview.md`, ask the 17 questions in order. **One question per turn.** Multiple-choice when possible. Skip questions whose answers you already inferred — and say so ("from inspecting `<file>`, I'll assume X; correct?").

### Step 3 — Fill profile

Save user answers + inspections to `docs/specs/<TS>-<framework-name>-profile.md` using `templates/framework_profile.md` as scaffold. This file is the input contract for skill generation.

### Step 4 — Generate skill

For each `{{X}}` placeholder in `templates/skill_scaffold/`, substitute from the framework profile filled in Step 3.

**Identity / structure** (from §A):

| Token | Profile field |
|---|---|
| `{{FRAMEWORK_NAME}}` | A.1 framework_name |
| `{{LANGUAGE_STACK}}` / `{{LANGUAGE_HINT}}` | A.2 language_stack |
| `{{CONFIG_FORMAT}}` | A.3 config_format |
| `{{ENTRY_SCRIPT}}` | A.4 entry_script |
| `{{CONFIG_PATH_PATTERN}}` | derived from A.3 + project layout |
| `{{CONFIG_PATH_EXAMPLE}}` | derived: e.g. `configs/examples/<sample>.json` |
| `{{OUTPUT_DIR_CONVENTION}}` | A.5 |
| `{{TYPE_CONCEPT}}` | A.6 (e.g. `force_type`, `model_type`) |
| `{{REGISTERED_TYPES}}` (CSV) / `{{REGISTERED_TYPES_JSON_ARRAY}}` | A.7 |
| `{{PRIMARY_FIELD}}` | F.1 (one-word domain label) |

**Schema / validation** (from §C):

| Token | Profile field |
|---|---|
| `{{REGISTRY_PATH}}` | C.1 registry_path |
| `{{VALIDATOR_PATH}}` | C.4 (or new: `scripts/validate_config.py`) |
| `{{TYPE_REGISTRY_FILE}}` | derived: `references/<type_concept>s.md` |
| `{{MAX_STEPS}}`, `{{MAX_STRIDE}}` | derived from B.4 + project max-N |
| `{{DEFAULT_N}}` | from typical config in E.1 |
| `{{DEFAULT_THRESHOLD_VALUE}}` / `{{DEFAULT_<THRESHOLD_NAME>}}` | C.2 cross-field rules |
| `{{TYPE1_LIMIT}}` (and similar per-type limits) | C.2 per-type ranges |

**Resource budgets** (from §D):

| Token | Profile field |
|---|---|
| `{{HARDWARE_TARGET}}` | D.1 |
| `{{HARD_BUDGETS}}` (summary string) | D.2 |
| `{{WALL_BUDGET_HR}}` | D.2 wall |
| `{{RAM_BUDGET_GB}}` | D.2 RAM |
| `{{DISK_BUDGET_GB}}` | D.2 disk |
| `{{ACCEL_BUDGET_GB}}` | D.2 accel |
| `{{ACCEL_PER_N_BYTES}}`, `{{ACCEL_OVERHEAD_GB}}` | D.2 + B.4 calibration |
| `{{FAST_RATE_SMALL}}`, `{{FAST_RATE_MID}}`, `{{FAST_RATE_LARGE}}` | B.4 step rate (fast mode, by N tier) |
| `{{SLOW_RATE_SMALL}}`, `{{SLOW_RATE_LARGE}}` | B.4 step rate (slow mode, by N tier) |

**Defaults** (from §A.7 + C):

| Token | Profile field |
|---|---|
| `{{DEFAULT_ANALYZER}}` | one of A.7 with "Analyzer" suffix |
| `{{DEFAULT_AGGREGATOR}}` | one of A.7 with "Aggregator" suffix |
| `{{ANALYZER_NAMING}}` | F.3 |

Write the generated files to `<user_project>/.claude/skills/paper-to-experiment-<framework>/`. Never overwrite an existing skill of the same name without explicit confirmation.

**Self-check before handoff**: grep the generated files for any remaining `{{...}}` tokens. If any survive, you missed a substitution — go back to Step 3 and add the missing profile field.

### Step 5 — Self-test

Run `validate_config.py --strict` (the generated one) against one of the user's existing approved configs. Must exit 0. If it fails, fix the schema generation rule, regenerate, retry. Log failures into the profile §F (lessons captured for future iterations).

### Step 6 — Hand off

Tell the user: where the skill is, what registry entries to add, the smoke-test command, and the contract file (`SKILL.md`) they'll iterate on.

## Anti-patterns

| Thought | Reality |
|---|---|
| "Just clone paper-to-experiment as-is" | Their framework isn't ours. Profile-substitution is the whole point. |
| "Skip the interview, infer everything" | One wrong inference rots downstream. Ask when unsure. |
| "Don't bother self-testing" | Untested generation = handing the user a broken skill. |
| "AI runs simulations to verify" | Out of scope — `creator` produces files, never burns compute. |

## Files

```
.claude/skills/creator/
├── SKILL.md                   # this file
├── templates/
│   ├── interview.md           # 17 questions (framework profile)
│   ├── framework_profile.md   # filled by creator + user
│   └── skill_scaffold/        # placeholder skill, copied + substituted
│       ├── SKILL.md.tmpl
│       ├── design.md.tmpl
│       ├── schema.json.tmpl
│       ├── registry.md.tmpl
│       └── validator.py.tmpl
└── references/
    ├── distillation.md        # what's framework-agnostic vs specific
    └── md_test1/              # this project as exemplar
```

End of skill.

Files in this skill

  • SKILL.md6.4 KB
  • references/distillation.md2.3 KB
  • templates/framework_profile.md1.7 KB
  • templates/interview.md1.7 KB
  • templates/skill_scaffold/SKILL.md.tmpl3.2 KB
  • templates/skill_scaffold/design.md.tmpl6.3 KB
  • templates/skill_scaffold/registry.md.tmpl3.6 KB
  • templates/skill_scaffold/schema.json.tmpl4.6 KB
  • templates/skill_scaffold/validator.py.tmpl8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.