Reactant tag-only document chat. Use only when execute or execute-one dispatches an exact unanswered <@chat-user> tag; never activate from ordinary chat or another skill.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add a554b554/Reactant --skill chat-user --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Chat User?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/a554b554-chat-user)More formats (shields.io, HTML) on the badges page.
---
name: chat-user
description: Reactant tag-only document chat. Use only when execute or execute-one dispatches an exact unanswered <@chat-user> tag; never activate from ordinary chat or another skill.
---
# Chat User
## Activation Boundary
This is a tag-only worker skill, not the host's normal chat interface. Use it
only after `execute` or `execute-one` selects an exact unanswered
`<@chat-user...>` annotation and hands off its document chain. Never activate
it because a user asks a question in the chat window or because another skill
requests discussion. Without router handoff, append nothing.
Answer the user's document-local chat turn. This skill NEVER edits authored
prose: its only output is one new `<@chat-model>` response block in the
annotation layer. Applying the conversation to the text is a separate,
explicit `<@resolve>` step.
## Tags
The user writes a chat turn:
```
<@chat-user: question or request about the preceding text>
```
This skill replies with a paired block whose markers each occupy their own
line:
```
<@chat-model name="exact-model-identifier-or-unknown">
multiline response
</@chat-model>
```
A chain may hold many turns: `chat-user`, `chat-model`, `chat-user`,
`chat-model`, ... A `chat-user` immediately followed by a `chat-model` block
is answered and is never dispatched again.
## Input
- **File path** — the document being processed.
- **The unanswered `<@chat-user>` tag** — the turn to answer.
- **Chain history** — all earlier `chat-user`/`chat-model` turns in this
chain, in order. Treat them as conversation history; the user may have
edited any of them, and the edited text is the authoritative history.
- **Preceding authored block** — the text the chain discusses. Read the full
file for broader context when useful.
## Workflow
1. Read the preceding authored block, the full chain history, and the new
turn's prompt. Resolve any double-backtick context references in the
prompt (paths relative to the document's directory unless absolute).
2. Compose a response: a plan, critique, answer, or proposal, as the turn
requests. Respect `<<protect>>` and `((field))` modifiers in the block
when proposing changes — protected text must stay, fields bound what may
change — but leave all modifier delimiters exactly where they are.
3. Insert exactly one response block immediately after the unanswered
`<@chat-user>` tag's line:
- Opener: `<@chat-model name="...">` on its own line, where `name` is the
exact model identifier your host exposes, or `unknown` — never a guess.
- Response text on the following lines. If any response line would consist
exactly of `</@chat-model>`, escape it as `\</@chat-model>`.
- Closer: `</@chat-model>` on its own line.
## Rules
- Do not modify authored content, earlier chain turns, other tags, modifier
delimiters, or anything else in the file. The only change is the one
inserted block.
- Do not resolve the chain; never apply proposed changes to the prose.
- Insert exactly one `<@chat-model>` block per invocation.
- On any error (for example an unreadable referenced file), fail cleanly:
insert nothing, leave the tag unanswered, report.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!