Actions
JetBrains/intellij-community
Implement or change IntelliJ AnAction actions and registrations.
Write Templ templates for a Datapages app: the generated href and action helpers, their options, attribute syntax and Templ pitfalls.
$ npx skills add romshark/datapages --skill datapages-templates -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install romshark/datapages datapages-templates --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/romshark/datapages.git skills-src && mkdir -p .claude/skills && cp -r skills-src/internal/generator/agentdocs/data/skills/datapages-templates .claude/skills/datapages-templates && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "datapages-templates" agent skill from https://github.com/romshark/datapages/tree/main/internal/generator/agentdocs/data/skills/datapages-templates into .claude/skills/datapages-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "datapages-templates", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/romshark/datapages/tree/main/internal/generator/agentdocs/data/skills/datapages-templatesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add romshark/datapages --skill datapages-templates -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install romshark/datapages datapages-templates --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romshark/datapages.git skills-src && mkdir -p .agents/skills && cp -r skills-src/internal/generator/agentdocs/data/skills/datapages-templates .agents/skills/datapages-templates && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "datapages-templates" agent skill from https://github.com/romshark/datapages/tree/main/internal/generator/agentdocs/data/skills/datapages-templates into .agents/skills/datapages-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "datapages-templates", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add romshark/datapages --skill datapages-templates -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install romshark/datapages datapages-templates --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romshark/datapages.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/internal/generator/agentdocs/data/skills/datapages-templates .cursor/skills/datapages-templates && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "datapages-templates" agent skill from https://github.com/romshark/datapages/tree/main/internal/generator/agentdocs/data/skills/datapages-templates into .cursor/skills/datapages-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "datapages-templates", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/romshark/datapages.git --path internal/generator/agentdocs/data/skills/datapages-templates--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add romshark/datapages --skill datapages-templates -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install romshark/datapages datapages-templates --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romshark/datapages.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/internal/generator/agentdocs/data/skills/datapages-templates .gemini/skills/datapages-templates && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "datapages-templates" agent skill from https://github.com/romshark/datapages/tree/main/internal/generator/agentdocs/data/skills/datapages-templates into .gemini/skills/datapages-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "datapages-templates", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install romshark/datapages datapages-templatesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add romshark/datapages --skill datapages-templates -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/romshark/datapages.git skills-src && mkdir -p .github/skills && cp -r skills-src/internal/generator/agentdocs/data/skills/datapages-templates .github/skills/datapages-templates && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "datapages-templates" agent skill from https://github.com/romshark/datapages/tree/main/internal/generator/agentdocs/data/skills/datapages-templates into .github/skills/datapages-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "datapages-templates", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add romshark/datapages --skill datapages-templates -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install romshark/datapages datapages-templates --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romshark/datapages.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/internal/generator/agentdocs/data/skills/datapages-templates .opencode/skills/datapages-templates && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "datapages-templates" agent skill from https://github.com/romshark/datapages/tree/main/internal/generator/agentdocs/data/skills/datapages-templates into .opencode/skills/datapages-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "datapages-templates", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
datapages-templatesWrite Templ templates for a Datapages app: the generated href and action helpers, their options, attribute syntax and Templ pitfalls.
Datapages Templates is an agent skill from romshark/datapages. Write Templ templates for a Datapages app: the generated href and action helpers, their options, attribute syntax and Templ pitfalls. Read with the datastar skill.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: A Datastar Go web frontend framework. The licence is MIT.
Read from SKILL.md and the folder at commit 87d5a44. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are templ).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
templ.guideFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Datapages Templates loads about 1.5k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 584 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from romshark/datapages at commit 87d5a44, republished under its MIT licence (© romshark). 584 words, ~1,472 tokens.
.claude/skills/datapages-templates/SKILL.md (or your agent's skills folder).Read datapages first for the build loop, hard rules and naming conventions.
A Templ component implements datapages.Component, so handlers can return it. Run templ generate to compile .templ files to _templ.go. Datapages does not run this command. Templ docs: https://templ.guide/llms.md
The generated href package has one function for each page, named after its page type. Query structs are named href.Query<PageType>. Zero-value fields are omitted from the URL.
<a href={ href.PageIndex() }>Home</a>
<a href={ href.PagePost(post.Slug) }>{ post.Title }</a>
<a href={ href.PageMessages(href.QueryPageMessages{Chat: chatID}) }>Messages</a>
<a href={ href.Asset("logo.svg") }>Logo</a>The linter rejects a hardcoded root-relative, relative, query-only or empty href. It also rejects javascript:. Literal https://, mailto:, tel:, #frag and //cdn.example.com values are valid. Use href.External(url) for an external URL computed by the app.
Inside href={ ... }, use an href package call, string literal or constant. The linter rejects variables and other calls, including fmt.Sprintf and templ.SafeURL, because it cannot resolve them.
An action helper is action.<Owner>.<Name>.<METHOD>(...). Owner is the page type or App. PageLogin.POSTSubmit becomes action.PageLogin.Submit.POST(). (*App).POSTSignOut becomes action.App.SignOut.POST(). The helper returns the complete @post('/...') expression. After datapages gen, read the generated datapagesgen/action package for exact signatures.
<button data-on:click={ action.PageLogin.Submit.POST() }>Submit</button>
<button data-on:click={ action.PagePost.SendMessage.POST(slug) }>Send</button>
<button data-on:click={ action.App.SignOut.POST() }>Sign out</button>A page action can be used only in that page's template. The linter rejects action.PageA.X.POST() in page B. App actions can be used on any page. Put an action expression in a Datastar action attribute, not in an href.
Every function takes variadic modifiers. Never hand-write the options object.
| modifier | argument |
|---|---|
action.WithContentType | action.ContentTypeJSON, action.ContentTypeForm |
action.WithSelector | CSS selector of the form to send |
action.WithFilterSignals | include and exclude regexes, exclude may be empty |
action.WithHeaders | map[string]string |
action.WithOpenWhenHidden | bool |
action.WithPayload | raw JavaScript expression |
action.WithRetry | action.RetryAuto, RetryError, RetryAlways, RetryNever |
action.WithRetryInterval, WithRetryScaler, WithRetryMaxWaitMs, WithRetryMaxCount | numbers |
action.WithRequestCancellation | action.RequestCancellationAuto, ...Cleanup, ...Disabled |
action.WithRequestCancellationController | expression holding an AbortController |
action.WithBefore, action.WithAfter | JavaScript prepended or appended, joined with "; " |
action.WithOption | raw key and value for anything the helpers miss |
Each modifier returns action.Option. Collect conditional modifiers in an []action.Option and pass opts.... Use this alias instead of importing runtime/actionexpr.
Pass arguments in this order: path variables in route order, the query value from <METHOD>Query(...), then modifiers. The query type is unexported. Create it with the generated constructor.
<button data-on:click={ action.PageMessages.Read.POST(
action.PageMessages.Read.POSTQuery(msg.ID),
) }>Mark read</button>Use a Datastar submit action to keep Enter-to-submit and browser validation:
<form
data-signals:email="''"
data-signals:password="''"
data-on:submit__prevent={ action.PageLogin.Submit.POST() }
>
<input type="email" data-bind="email" required/>
<input type="password" data-bind="password" required/>
<button type="submit">Sign in</button>
</form>data-bind="email" puts the signal name in the attribute value. HTML lowercases attribute names, so use this form for camelCase signals. For live validation, add data-on:input__debounce.300ms to an input and call a validation action on the same page.
An action sends signals by default. To send form controls or file data, use action.WithContentType(action.ContentTypeForm). It selects the closest form. Add action.WithSelector("#login") only when the action must select another form. Form content type does not send signals.
data-on:click={ action.X() }. Do not write data-on:click="@post('/x/')".data-on:click and data-on:submit. Plugin attributes use the hyphen form, such as data-on-intersect, data-on-interval and data-on-signal-patch.//datapages:nolint on the line above an element to suppress its attribute lint errors. You may add a reason after //. It does not suppress a cross-page action ownership error.switch, if, for, else or case as Go control flow, even inside HTML. Wrap the text in an element or reword it.'. The browser decodes it before the JavaScript parser reads the expression, which can make the expression invalid. Reword it, use " for inner strings or escape it with a backslash.data-signals with json.Marshal instead of quoting it yourself. An apostrophe in the value ends the string, and what follows it runs as script.© romshark, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in internal/generator/agentdocs/data/skills/datapages-templates of romshark/datapages.
Open the folder on GitHubat commit 87d5a44
Datapages Templates next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Datapages Templates this skillromshark/datapages | 113 | — | ~1.5k | Automated safety check: Pass | MIT | |
| ActionsJetBrains/intellij-community | 21k | — | ~341 | Automated safety check: Pass | Custom licence | |
| Laravel Actionscoollabsio/coolify | 63k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| ActionsBuilderIO/agent-native | 7.1k | — | ~4.4k | Automated safety check: Pass | None | |
| GitHub Actionssickn33/agentic-awesome-skills | 47k | 1 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Cmdk Actionsgetsentry/sentry | 46k | — | ~6.3k | Automated safety check: Pass | Custom licence |
JetBrains/intellij-community
Implement or change IntelliJ AnAction actions and registrations.
coollabsio/coolify
Build, refactor, and troubleshoot Laravel Actions using lorisleiva/laravel-actions.
BuilderIO/agent-native
How to create and run agent actions. An agent skill from BuilderIO/agent-native.
sickn33/agentic-awesome-skills
Build, test, and deploy applications using GitHub Actions workflows.
getsentry/sentry
Guide for adding new actions to Sentry's Command+K palette. An agent skill from getsentry/sentry.
sickn33/agentic-awesome-skills
CRITICAL: Use for Makepad event and action handling. An agent skill from sickn33/agentic-awesome-skills.
romshark/datapages
Apply the Datapages framework rules, build loop and naming conventions, and select the relevant task skill.
romshark/datapages
Datapages real-time events: event types and subjects, dispatchers, On handlers, per-user and signal-bound subject fields, and the StreamOpen and StreamClose hooks.
romshark/datapages
Add Datapages authentication: define and read the Session type, open and close sessions, configure CSRF protection and choose a session manager.
romshark/datapages
Add per-tab Datapages State[T], initialize and use it in handlers, dispatch state-scoped events, and configure the live instance limit.
romshark/datapages
Classify Datapages findings by reach and severity and write review-.md reports.
romshark/datapages
Write Datapages commit messages, including the breaking-change marker and the BREAKING block.
Write Templ templates for a Datapages app: the generated href and action helpers, their options, attribute syntax and Templ pitfalls. Datapages Templates is an agent skill from romshark/datapages. Write Templ templates for a Datapages app: the generated href and action helpers, their options, attribute syntax and Templ pitfalls.
Run `npx skills add romshark/datapages --skill datapages-templates -a claude-code`. Or copy the skill folder (internal/generator/agentdocs/data/skills/datapages-templates in romshark/datapages) into .claude/skills/datapages-templates in your project. Claude Code loads it when a task matches its description.
Run `npx skills add romshark/datapages --skill datapages-templates -a codex`. Or copy the skill folder (internal/generator/agentdocs/data/skills/datapages-templates in romshark/datapages) into .agents/skills/datapages-templates in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add romshark/datapages --skill datapages-templates -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/datapages-templates, .gemini/skills/datapages-templates, .github/skills/datapages-templates and .opencode/skills/datapages-templates in your project.
SKILL.md names no scripts, command-line tools or credentials: Datapages Templates is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: templ.guide. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Datapages Templates is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Datapages Templates: Actions (JetBrains/intellij-community, 21k stars), Laravel Actions (coollabsio/coolify, 63k stars), Actions (BuilderIO/agent-native, 7.1k stars) and GitHub Actions (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
romshark (a GitHub user) maintains it in romshark/datapages, which has 113 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.
Source: romshark/datapages on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.