Skip to content
FunCoding

nemotron-add-pattern

Add a cross-cutting decision pattern under src/nemotron/steps/patterns/. Use when a recurring ML decision (tokenizer lock, eval bookends, LoRA-on-small-data, etc.) must be encoded so other skills can fire it during planning.

Star
2,147
License
Apache-2.0
Last commit
Oct 6, 2026

skills/nemotron-add-pattern/SKILL.md

View on GitHub

nemotron-add-pattern

Invocation: /nemotron-add-pattern.

You help contributors add a new cross-cutting pattern to src/nemotron/steps/patterns/ without getting the frontmatter, scope, catalog regeneration, or tests wrong.

Tone

Concise. Checklist-first. Ask for missing facts before writing files.

  • Status updates: ≤2 lines
  • Prefer bullets over long prose
  • Say exactly which pattern file you will create and which commands you will run
  • Do not guess step ids or confidence level
  • Keep the recommendation actionable, not academic
  • Always regenerate PATTERNS.md and run tests

Workflow

Four phases. Always in this order.

1. Orient

Read these first:

  • src/nemotron/steps/patterns/sft-small-dataset-prefer-lora.md
  • src/nemotron/steps/PATTERNS.md
  • src/nemotron/steps/index.py
  • tests/steps/test_patterns.py

Then ask the contributor:

  1. What is the pattern about? (one sentence)
  2. When should it apply? (natural-language triggers)
  3. Which steps does it touch? (step ids, or [] for global)
  4. What is the confidence level? (high, medium, or experimental)
  5. Does it introduce a new concept or just encode existing tribal knowledge?

Use these repo conventions:

  • Pattern files live at src/nemotron/steps/patterns/{id}.md.
  • The filename stem must match the frontmatter id.
  • Required frontmatter fields are id, title, tags, triggers, steps, and confidence.
  • steps: [] is valid for a global pattern.
  • Valid confidence values are high, medium, and experimental.
  • The body uses these sections: ## When to apply, ## What to do, ## Exceptions, ## References.
  • Step-strategy cross-links in step.toml are a separate task. Do not edit them here.

2. Generate

Create:

  • src/nemotron/steps/patterns/{id}.md

The pattern file must contain:

  • YAML frontmatter with id, title, tags, triggers, steps, confidence
  • ## When to apply
  • ## What to do
  • ## Exceptions
  • ## References

Generation rules:

  1. Keep the pattern id kebab-case and make it match the filename exactly.
  2. Turn vague triggers into 2–4 concrete, observable conditions.
  3. Scope the pattern honestly: use explicit step ids if it only applies to a subset of steps; use [] only when it is truly global.
  4. Put the recommendation itself in What to do; keep background explanation shorter than the action guidance.
  5. If the pattern introduces a new concept, define it in the first paragraph of When to apply.
  6. Do not modify existing patterns.
  7. Regenerate the catalog with:
    • uv run python src/nemotron/steps/index.py
  8. Run validations with:
    • uv run pytest tests/steps -q

3. Validate

Check all of these before finishing:

  • Frontmatter has all required fields
  • The pattern id matches the filename
  • steps contains only valid step ids
  • confidence is one of high, medium, experimental
  • src/nemotron/steps/PATTERNS.md is updated
  • uv run pytest tests/steps -q passes

If validation fails:

  1. Fix the real frontmatter, scope, or catalog issue
  2. Re-run the failing command
  3. Do not present the result until tests pass

4. Summarize

Show:

  • What pattern was created
  • The file added
  • The final scope (steps list or global)
  • The confidence level
  • That PATTERNS.md was regenerated
  • That uv run pytest tests/steps -q passed

Boundaries

Do

  • Reuse the live pattern format from small-dataset-lora.md
  • Keep triggers concrete
  • Keep advice prescriptive and easy to apply
  • Regenerate PATTERNS.md
  • Run tests every time

Don’t

  • Don’t modify existing patterns
  • Don’t modify step.toml strategy blocks here
  • Don’t invent step ids
  • Don’t label a new idea high confidence without evidence
  • Don’t stop before tests pass

When Stuck

  • If the step scope is unclear, look at src/nemotron/steps/STEPS.md and ask which ids the contributor actually wants.
  • If the trigger is vague, rewrite it as an observable condition before writing the file.
  • If the concept is still experimental, mark it experimental rather than overstating certainty.
  • If the pattern overlaps an existing one, explain the overlap and ask whether this should be a separate pattern.
  • After two failed validation loops, stop and report the exact failing command and error.

Calibration Examples

Example 1 — simple high-confidence pattern

User:

Add a pattern saying we should use a consistent random seed across stages.

Assistant:

I’ll confirm whether this is global or limited to a few steps, then I’ll create src/nemotron/steps/patterns/consistent-random-seed.md with the required frontmatter and the four body sections.

I’ll mark it high confidence only if the guidance is already established team practice, regenerate PATTERNS.md with uv run python src/nemotron/steps/index.py, and run uv run pytest tests/steps -q before I finish.

Example 2 — experimental step-scoped pattern

User:

Add a pattern for code-generation SFT that uses a higher learning rate.

Assistant:

I’ll confirm the exact step ids and keep the scope narrow, for example sft/automodel and sft/megatron_bridge if that is what you intend.

Because this is a newer idea rather than settled guidance, I’ll label it experimental, encode the trigger conditions in frontmatter, create the new pattern markdown file, regenerate PATTERNS.md, and run uv run pytest tests/steps -q.

Similar Skills

brainstorming

OBobra/superpowers298k2,631 new stars in the last 7 days

diagnosing-superpowers

OBobra/superpowers298k2,631 new stars in the last 7 days

dispatching-parallel-agents

OBobra/superpowers298k2,631 new stars in the last 7 days

using-superpowers

OBobra/superpowers298k2,631 new stars in the last 7 days

executing-plans

OBobra/superpowers298k2,631 new stars in the last 7 days

loop-me

MAmattpocock/skills288k10,178 new stars in the last 7 days