Skip to content

feat: Add skill for OpenJD job generation.#228

Merged
karthikbekalp merged 3 commits into
aws-deadline:mainlinefrom
karthikbekalp:jobGen
May 29, 2026
Merged

feat: Add skill for OpenJD job generation.#228
karthikbekalp merged 3 commits into
aws-deadline:mainlinefrom
karthikbekalp:jobGen

Conversation

@karthikbekalp
Copy link
Copy Markdown
Contributor

@karthikbekalp karthikbekalp commented May 29, 2026

What was the problem/requirement? (What/Why)

This repo had no LLM-agnostic guidance for creating new OpenJD job bundle templates, so every new sample relied on the contributor reading the OpenJD spec, scanning existing bundles, and rediscovering the local-test-then-submit workflow on their own.
We also had no top-level pointer file for AI coding assistants — agents using Codex CLI, Aider, Cursor, Copilot, Gemini, ChatGPT, etc. had nothing to anchor on, while Claude Code and Kiro auto-discover skills/ via their respective config folders.

Kudos to @prestomation for sharing the open JD skill.

What was the solution? (How)

  1. Added skills/deadline-cloud-job/SKILL.md — a self-contained guide for creating OpenJD job bundles, modeled on the existing conda-builder and 3dsmax-host-config skills.
  2. Symlinked .claude/skills../skills to mirror the existing .kiro/skills → ../skills symlink, so Claude Code auto-discovers all four skills.
  3. Added AGENTS.md at the repo root — the emerging cross-tool standard (read by Codex CLI, Aider, Cline, Continue, etc.). It describes what the repo is, where things live, which skills exist, repo conventions (inclusive language, pip install, local-iteration-before-submit), and the conventional-commit format.

What is the impact of this change?

  • New contributors (human or AI-assisted) get a consistent starting point for OpenJD templates and learn to iterate locally with openjd run --tasks <one> before submitting full parameter ranges to a farm — saving farm minutes and speeding up sample development.
  • AI coding assistants other than Claude Code and Kiro now have a discoverable entry point via AGENTS.md.
  • Zero impact on existing samples — additive only, no changes to job_bundles/, conda_recipes/, or any other sample directory.

How was this change tested?

  • I was playing around with generating job templates and I found having this skill led to much better job templates.

Was this change documented?

  • New skills/openjd-template/SKILL.md is itself the documentation for the workflow it describes.
  • New AGENTS.md at the repo root documents the directory layout, skill index, and conventions for AI assistants.
  • No update needed to top-level README.md — it already lists the directories that the new skill references.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Signed-off-by: Karthik BekalPattathana <133984042+karthikbekalp@users.noreply.github.com>
@karthikbekalp karthikbekalp requested a review from a team as a code owner May 29, 2026 16:50
@karthikbekalp karthikbekalp enabled auto-merge (squash) May 29, 2026 16:54
@karthikbekalp karthikbekalp added the waiting-on-maintainers Waiting on the maintainers to review. label May 29, 2026
Comment thread skills/deadline-cloud-job/SKILL.md
Comment thread skills/openjd-template/SKILL.md Outdated

| Source | When to Read |
|--------|--------------|
| [Conda blog post](https://aws.amazon.com/blogs/media/create-a-conda-package-and-channel-for-aws-deadline-cloud/) | Overview of conda channels for Deadline Cloud |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be better to link to link to https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/configure-jobs-s3-channel.html that is more recently updated.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. Updated.

Comment thread skills/deadline-cloud-job/SKILL.md
Signed-off-by: Karthik BekalPattathana <133984042+karthikbekalp@users.noreply.github.com>
crowecawcaw
crowecawcaw previously approved these changes May 29, 2026
Copy link
Copy Markdown
Contributor

@crowecawcaw crowecawcaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some suggestions but no blockers

Comment thread AGENTS.md
Comment on lines +34 to +53
## Skills — task-specific instructions

The [`skills/`](./skills/) directory contains self-contained, LLM-agnostic
guides for common tasks. Each skill is a Markdown file with YAML frontmatter
(`name`, `description`, `tags`) followed by step-by-step instructions,
references, and examples.

**Before starting work, check `skills/` for a matching guide and read it.**
The `description` field tells you when to use each skill.

| Skill | Use when |
|-------|----------|
| [`skills/openjd-template/`](./skills/openjd-template/SKILL.md) | Creating or updating an OpenJD job bundle template under `job_bundles/` |
| [`skills/conda-builder/`](./skills/conda-builder/SKILL.md) | Creating or updating a DCC conda recipe under `conda_recipes/` |
| [`skills/3dsmax-host-config/`](./skills/3dsmax-host-config/SKILL.md) | Creating or updating a 3ds Max host configuration script |
| [`skills/host-config-from-installer/`](./skills/host-config-from-installer/SKILL.md) | Creating a host configuration script from a vendor installer |

Skills are auto-discovered via `.claude/skills` and `.kiro/skills` symlinks.
For other tools, point your assistant at the relevant `SKILL.md` directly
(paste, `@`-mention, or include in context).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to say this? I thought agents picked up skills and their descriptions automatically.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I thought that too. But turns out only Claude and Kiro do that. Other agents like OpenAI's Chatgpt and Gemini don't and rely on AGENTS.md to help them steer.

Although, with the skills becoming more prevalent this might not be needed in the future, but I think its better to be explicit for now to ensure the agents use the skills.

Comment thread skills/openjd-template/SKILL.md Outdated
Comment on lines +2 to +8
name: openjd-template
description: >
Create Open Job Description (OpenJD) job bundle templates for AWS Deadline
Cloud, with optional conda packaging. Use when asked to "create a job bundle",
"write an OpenJD template", "add a new sample job", "create a render job for
<DCC>", or when a new workflow needs an OpenJD template with parameters,
steps, and environments.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should relabel this as a skill for creating Deadline Cloud jobs. These are OJD templates, but I think agents will be trying to write a job for Deadline not writing an OJD template. Also many concepts are Deadline specific. I think OJD could be a tag or mentioned in the description without being the title.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I added deadline-cloud and job-bundles as tags, but probably what you are suggesting is better. Updating.

Comment thread skills/openjd-template/SKILL.md Outdated

1. **Design the job** — Define parameters, steps, environments, and dependencies
2. **Write the template** — Create the OpenJD YAML template
3. **Test locally** — Iterate with `openjd run --tasks <one>` until end-to-end success (see Testing section)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally don't do this and always run things on Deadline directly. Maybe mark this as optional?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, I wanted to do this so that the agents can run in a loop and verify if the job bundle works before they submit to the farm as that can cost them.
But I don't have any strong preference, I'll mark them as optional.

Comment thread skills/openjd-template/SKILL.md Outdated
Comment on lines +106 to +110
### Core OpenJD Specification (READ FIRST for any template work)

| Source | When to Read |
|--------|--------------|
| [Template Schemas](https://raw.githubusercontent.com/OpenJobDescription/openjd-specifications/mainline/wiki/2023-09-Template-Schemas.md) | **Always** — complete schema reference for job templates |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: might take out ALWAYS and READ FIRST. I've had success just giving agents the samples repo for most things.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, updated.

Signed-off-by: Karthik BekalPattathana <133984042+karthikbekalp@users.noreply.github.com>
@karthikbekalp karthikbekalp merged commit 1af18d1 into aws-deadline:mainline May 29, 2026
4 checks passed
@karthikbekalp karthikbekalp deleted the jobGen branch May 29, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting-on-maintainers Waiting on the maintainers to review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants