Agent skill

Datapages Templates

by romshark in romshark/datapages

Write Templ templates for a Datapages app: the generated href and action helpers, their options, attribute syntax and Templ pitfalls.

MITAuto-check passed

Install Datapages Templates

skills CLI
$ npx skills add romshark/datapages --skill datapages-templates -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install romshark/datapages datapages-templates --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
datapages-templates
GitHub stars
113
Token cost
~1.5k tokens
SKILL.md length
584 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Write Templ templates for a Datapages app: the generated href and action helpers, their options, attribute syntax and Templ pitfalls.

  • SKILL.md covers href: links, action: Datastar actions, Forms and Syntax, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

Example prompts

  • “/datapages-templates”

What it can do on your machine

Read from SKILL.md and the folder at commit 87d5a44. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    Links to these hosts (documentation or services it may open):

    • templ.guide

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from romshark/datapages at commit 87d5a44, republished under its MIT licence (© romshark). 584 words, ~1,472 tokens.

Download SKILL.mdSave it as .claude/skills/datapages-templates/SKILL.md (or your agent's skills folder).
name
datapages-templates
description
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.

Templates

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.

templ
<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.

action: Datastar actions

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.

templ
<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.

modifierargument
action.WithContentTypeaction.ContentTypeJSON, action.ContentTypeForm
action.WithSelectorCSS selector of the form to send
action.WithFilterSignalsinclude and exclude regexes, exclude may be empty
action.WithHeadersmap[string]string
action.WithOpenWhenHiddenbool
action.WithPayloadraw JavaScript expression
action.WithRetryaction.RetryAuto, RetryError, RetryAlways, RetryNever
action.WithRetryInterval, WithRetryScaler, WithRetryMaxWaitMs, WithRetryMaxCountnumbers
action.WithRequestCancellationaction.RequestCancellationAuto, ...Cleanup, ...Disabled
action.WithRequestCancellationControllerexpression holding an AbortController
action.WithBefore, action.WithAfterJavaScript prepended or appended, joined with "; "
action.WithOptionraw 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.

templ
<button data-on:click={ action.PageMessages.Read.POST(
	action.PageMessages.Read.POSTQuery(msg.ID),
) }>Mark read</button>
Show full SKILL.md (249 more words)Show less

Forms

Use a Datastar submit action to keep Enter-to-submit and browser validation:

templ
<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.

Syntax

  • Call generated helpers through the Templ expression form: data-on:click={ action.X() }. Do not write data-on:click="@post('/x/')".
  • Event attributes use the colon form, such as 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.

Pitfalls

  • Put //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.
  • Templ parses a text line that starts with switch, if, for, else or case as Go control flow, even inside HTML. Wrap the text in an element or reword it.
  • An apostrophe in an attribute becomes &#39;. The browser decodes it before the JavaScript parser reads the expression, which can make the expression invalid. Reword it, use &quot; for inner strings or escape it with a backslash.
  • Encode a value interpolated into 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

Files

Just SKILL.md in internal/generator/agentdocs/data/skills/datapages-templates of romshark/datapages.

Open the folder on GitHubat commit 87d5a44

Compare with similar skills

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.

Datapages Templates compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Datapages Templates this skillromshark/datapages113—~1.5kAutomated safety check: PassMIT
ActionsJetBrains/intellij-community21k—~341Automated safety check: PassCustom licence
Laravel Actionscoollabsio/coolify63k—~2.4kAutomated safety check: PassApache-2.0
ActionsBuilderIO/agent-native7.1k—~4.4kAutomated safety check: PassNone
GitHub Actionssickn33/agentic-awesome-skills47k1 repos~1.9kAutomated safety check: PassMIT
Cmdk Actionsgetsentry/sentry46k—~6.3kAutomated safety check: PassCustom licence

Similar skills

  • Actions

    JetBrains/intellij-community

    Official

    Implement or change IntelliJ AnAction actions and registrations.

    21k GitHub stars~341 tokensUpdated today
    MobileAuto-check passed
  • Laravel Actions

    coollabsio/coolify

    Build, refactor, and troubleshoot Laravel Actions using lorisleiva/laravel-actions.

    63k GitHub stars~2.4k tokensUpdated today
    Backend & APIsAuto-check passed
  • Actions

    BuilderIO/agent-native

    How to create and run agent actions. An agent skill from BuilderIO/agent-native.

    7.1k GitHub stars~4.4k tokensUpdated today
    Backend & APIsAuto-check passed
  • GitHub Actions

    sickn33/agentic-awesome-skills

    Build, test, and deploy applications using GitHub Actions workflows.

    47k GitHub starsUsed in 1 repo~1.9k tokens
    DevOps & CloudAuto-check passed
  • Cmdk Actions

    getsentry/sentry

    Official

    Guide for adding new actions to Sentry's Command+K palette. An agent skill from getsentry/sentry.

    46k GitHub stars~6.3k tokensUpdated today
    Auto-check passed
  • Makepad Event Action

    sickn33/agentic-awesome-skills

    CRITICAL: Use for Makepad event and action handling. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~1.7k tokens
    Auto-check passed

More from romshark/datapages

All 15 skills in this repo
  • Datapages

    romshark/datapages

    Apply the Datapages framework rules, build loop and naming conventions, and select the relevant task skill.

    113 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Datapages Events

    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.

    113 GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed
  • Datapages Sessions

    romshark/datapages

    Add Datapages authentication: define and read the Session type, open and close sessions, configure CSRF protection and choose a session manager.

    113 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check passed
  • Datapages State

    romshark/datapages

    Add per-tab Datapages State[T], initialize and use it in handlers, dispatch state-scoped events, and configure the live instance limit.

    113 GitHub stars~806 tokensUpdated 2 days ago
    Auto-check passed
  • Review Criteria

    romshark/datapages

    Classify Datapages findings by reach and severity and write review-.md reports.

    113 GitHub stars~1.2k tokensUpdated 2 days ago
    Auto-check passed
  • Git Commits

    romshark/datapages

    Write Datapages commit messages, including the breaking-change marker and the BREAKING block.

    113 GitHub stars~960 tokensUpdated 2 days ago
    Auto-check passed

Questions about Datapages Templates

What does Datapages Templates do?

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.

How do I install Datapages Templates in Claude Code?

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.

How do I install Datapages Templates in Codex?

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.

Can I use Datapages Templates in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Datapages Templates need to run?

SKILL.md names no scripts, command-line tools or credentials: Datapages Templates is instructions for the agent only.

Does Datapages Templates access the network?

SKILL.md names 1 domain. As links in the text: templ.guide. This is read from the text; nothing was executed.

Is Datapages Templates safe to install?

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.

What licence does Datapages Templates use?

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.

How many tokens does Datapages Templates use?

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.

What are the alternatives to Datapages Templates?

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.

Who maintains Datapages Templates?

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.