scaffold-action

scaffold-action is a skill for Claude Code from alexmond/jhelm. It costs 18 tokens per session (945 once invoked), scanned A, original, Apache-2.0.

A code scaffold for creating a jhelm action class and its matching Java test. It uses the project's package and source-folder conventions and adds only the dependencies the action needs.

In plain words
What is it for?
Use it when starting an action such as a template-rendering or Kubernetes-related operation in jhelm. Give it an action name in PascalCase without the Action suffix.
Why use it?
It removes repetitive file setup and helps new actions start with the expected class and test structure. It also accounts for actions that render templates or access Kubernetes.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it when starting an action such as a template-rendering or Kubernetes-related operation in jhelm. Give it an action name in PascalCase without the Action suffix.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/alexmond/jhelm/scaffold-action
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add alexmond/jhelm --skill scaffold-action
Clone the repo
git clone --depth 1 https://github.com/alexmond/jhelm

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for scaffold-action

README.md
[![agentmods](https://agentmods.dev/badge/skills/alexmond/jhelm/scaffold-action.svg)](https://agentmods.dev/skills/alexmond/jhelm/scaffold-action)
Your own site
<a href="https://agentmods.dev/skills/alexmond/jhelm/scaffold-action"><img src="https://agentmods.dev/badge/skills/alexmond/jhelm/scaffold-action.svg" alt="Measured on agentmods" height="20"></a>
Per session 18 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 945 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00018 $0.00945
Opus 5 $0.00009 $0.00473
Sonnet 5 $0.00004 $0.00189
Haiku 4.5 $0.00002 $0.00094

Measured 7d ago against content hash a4a8cb03e0ff, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

scaffold-action scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/scaffold-action/SKILL.md · 135 lines

How it starts

The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Scaffold a new jhelm Action class

$ARGUMENTS is the action name in PascalCase without the Action suffix. Example: /scaffold-action Lint → creates LintAction.java + LintActionTest.java.

Package: org.alexmond.jhelm.core Source root: jhelm-core/src/main/java/org/alexmond/jhelm/core/ Test root: jhelm-core/src/test/java/org/alexmond/jhelm/core/


Step 1: Determine dependencies

Ask (or infer from context) whether the action needs:

  • Engine engine — only if it renders templates (install, upgrade, template)
  • KubeService kubeService — only if it talks to Kubernetes (install, upgrade, uninstall, rollback, status, list, history)

Use only the fields actually required.


Step 2: Create the action class

File: jhelm-core/src/main/java/org/alexmond/jhelm/core/$ARGUMENTS${"Action"}.java

package org.alexmond.jhelm.core;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

@Slf4j
@RequiredArgsConstructor
public class ${ARGUMENTS}Action {

	// Include only the dependencies determined in Step 1:
	private final Engine engine;           // if template rendering needed
	private final KubeService kubeService; // if Kubernetes access needed

	public <ReturnType> <methodName>(<params>) throws Exception {
		// TODO: implement
	}

}

Rules:

  • @RequiredArgsConstructor — never write a constructor by hand
  • @Slf4j — use log.debug/info/warn/error, never System.out.println
  • Throw descriptive RuntimeException (with cause) for error cases
  • For dry-run actions, skip kubeService calls when dryRun == true

Step 3: Create the test class

File: jhelm-core/src/test/java/org/alexmond/jhelm/core/${ARGUMENTS}ActionTest.java

package org.alexmond.jhelm.core;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

class ${ARGUMENTS}ActionTest {

	@Mock
	private Engine engine; // include only if used

	@Mock
	private KubeService kubeService; // include only if used

	private ${ARGUMENTS}Action ${argumentsCamel}Action;

	@BeforeEach
	void setUp() {
		MockitoAnnotations.openMocks(this);
		${argumentsCamel}Action = new ${ARGUMENTS}Action(/* inject mocks */);
	}

	@Test
	void testSuccess() throws Exception {
		// Arrange
		// Act
		// Assert
	}

	@Test
	void testThrowsWhenNotFound() throws Exception {
		// cover error/not-found path
	}

	// Add dryRun test if applicable:
	@Test
	void testDryRunSkipsKube() throws Exception {
		// verify(kubeService, never()).apply(anyString(), anyString());
	}

}

Read the full file on GitHub · 135 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 135 lines · 18 tokens per session scan A a4a8cb03e0ff

Subscribe to this mod's changes

scaffold-action is a skill published in the GitHub repository alexmond/jhelm (4 stars, last pushed 5d ago), licensed Apache-2.0. It adds 18 tokens to every session and 945 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

java

Use when writing, reviewing or refactoring modern Java (21+, 25 LTS) — records and sealed interfaces as algebraic data types, exhaustive pattern-matching switch over instanceof ladders, virtual-thread concurrency, structured concurrency and ScopedValue replacing ThreadLocal, Stream and Optional pipelines…

ericrisco/rsc-harness · 89 tokens

java-expert

Expert-level Java development with Java 21+ features, Spring Boot, Maven/Gradle, and enterprise best practices. Use when the user mentions JVM, Spring, Maven, Gradle, or enterprise, or when the task involves Modern Java, Spring Boot, Build Tools, or Dependency Injection.

personamanagmentlayer/pcl · 63 tokens

effective-java

Generate and review Java code using patterns and best practices from Joshua Bloch's "Effective Java" (3rd Edition). Use this skill whenever the user asks about Java best practices, API design, object creation patterns, generics, enums, lambdas, streams, concurrency, serialization, method design, exception handling, or…

booklib-ai/booklib · 165 tokens

java-expert

Expert knowledge for Modern Java (21+) development, including Virtual Threads, performance tuning, and idiomatic clean code. Use for deep Java language/logic questions.

kinhluan/rules-quarkus-skills · 36 tokens

graalvm-expert

Expert knowledge for GraalVM, Native Image (AOT), Polyglot runtime, and reflection/resource configuration. Use for native compilation and multi-language JVM questions.

kinhluan/rules-quarkus-skills · 39 tokens

java-kotlin

Java and Kotlin programming patterns.

miles990/claude-software-skills · 9 tokens