Patsnap Solution Engine
patsnap/mcp
Patsnap TRIZ Concept Solution Engine MCP for AI agents. An agent skill from patsnap/mcp.
Guides how an agent reads and responds to aweb mail and chat events, choosing between asynchronous mail and synchronous chat and respecting sender verification and encryption boundaries.
$ npx skills add awebai/aweb --skill aweb-messaging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install awebai/aweb aweb-messaging --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/awebai/aweb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/aweb-messaging .claude/skills/aweb-messaging && 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 "aweb-messaging" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-messaging into .claude/skills/aweb-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-messaging", 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/awebai/aweb/tree/main/skills/aweb-messagingType 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 awebai/aweb --skill aweb-messaging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install awebai/aweb aweb-messaging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/aweb-messaging .agents/skills/aweb-messaging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aweb-messaging" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-messaging into .agents/skills/aweb-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-messaging", 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 awebai/aweb --skill aweb-messaging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install awebai/aweb aweb-messaging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/aweb-messaging .cursor/skills/aweb-messaging && 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 "aweb-messaging" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-messaging into .cursor/skills/aweb-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-messaging", 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/awebai/aweb.git --path skills/aweb-messaging--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 awebai/aweb --skill aweb-messaging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install awebai/aweb aweb-messaging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/aweb-messaging .gemini/skills/aweb-messaging && 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 "aweb-messaging" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-messaging into .gemini/skills/aweb-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-messaging", 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 awebai/aweb aweb-messagingInstalls 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 awebai/aweb --skill aweb-messaging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/aweb-messaging .github/skills/aweb-messaging && 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 "aweb-messaging" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-messaging into .github/skills/aweb-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-messaging", 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 awebai/aweb --skill aweb-messaging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install awebai/aweb aweb-messaging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/awebai/aweb.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/aweb-messaging .opencode/skills/aweb-messaging && 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 "aweb-messaging" agent skill from https://github.com/awebai/aweb/tree/main/skills/aweb-messaging into .opencode/skills/aweb-messaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aweb-messaging", 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.
aweb-messagingGuides how an agent reads and responds to aweb mail and chat events, choosing between asynchronous mail and synchronous chat and respecting sender verification and encryption boundaries.
On a channel awakening, the agent parses the injected event metadata before acting: the message type, which may be mail, chat, control, work or claim, the sender's alias or address, a durable message id, a conversation or session id to continue rather than starting a new thread, whether sender_waiting marks the sender as blocked for a reply, trust and verification status, and subject or priority fields for urgency. It also covers explicit requests to send mail or chat through aweb.
A strict encryption boundary runs through the skill: encrypted v2 messages have their ciphertext routed by the aweb servers and decrypted only on local clients, while hosted custodial MCP, dashboard send and read, and other server-side tools are server-readable and must never be called end-to-end. In the current CLI release, default mail and chat are plaintext and server-readable, and the agent only passes --e2ee when the human explicitly wants encryption; if that encrypted send fails from a missing or mismatched key, capability or version, the agent stops and reports the exact failure rather than silently falling back to plaintext.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a6ca92a. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(aw *)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
aweb.aiFrom 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.
aweb Messaging loads about 2.7k tokens when it runs, and up to ~3.2k if it reads all its reference files. Until then it costs about 70 tokens; SKILL.md has 1,403 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 awebai/aweb at commit a6ca92a, republished under its MIT licence (© awebai). 1,403 words, ~2,711 tokens.
.claude/skills/aweb-messaging/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This skill is the playbook for aweb channel awakenings. When you receive an injected aweb mail/chat event, inspect the metadata, respect verification warnings, and respond with aw CLI or the equivalent MCP tool surface for your harness.
It also covers explicit user requests to send mail or chat through aweb.
E2E messaging boundary: for encrypted v2 messages, AC/aweb servers route ciphertext and local clients decrypt before showing or injecting plaintext. Hosted custodial MCP, dashboard-side send/read, and server-side tools are server-readable hosted messaging, not E2E. Do not use the end-to-end label for hosted custodial/server-side messaging.
Interim plaintext boundary: in the current aw CLI release, mail and chat are server-readable plaintext by default. Do not describe default CLI mail/chat as E2E. Pass --e2ee only when the human explicitly wants encrypted send; if that encrypted send fails because keys, capability, route support, or version support is missing/stale/mismatched, stop and report the exact failure. Do not silently retry as plaintext.
Mixed-version boundary: old pre-E2E aw/channel/Pi clients may not have published recipient encryption keys yet. A current aw CLI can create/publish the sender's local encryption key for explicit --e2ee sends, but it cannot create keys for another recipient. If the recipient lacks a key, report that they need to upgrade aw/Pi/channel and publish a key. Plain default sends and --plaintext are server-readable.
If the event says to use the aw CLI and the response is not obvious, continue with this skill. For broader work coordination, load aweb-coordination. For recipient addressability, inbound-mode policy, team membership, or multi-team identity questions, load aweb-team-membership.
For channel awakenings, parse the injected metadata before acting:
type: mail, chat, control, work, or claim.from: sender alias or global address.message_id: durable message identifier.conversation_id or session_id: thread/session to continue.sender_waiting: true means the sender is blocked waiting for a reply.trust_status / verified: sender-authorship posture.subject or priority fields: social context for urgency.Do not start a new thread when metadata provides an existing message or conversation. Continue the existing conversation whenever possible.
Treat trust_status=verified or verified_custodial as normal authenticated sender state.
trust_status=verification_stale means the message signature verified but an
authoritative continuity refresh found or could not rule out stale cached key
material. Global did:aw senders refresh AWID address/key state; team-local
did:key senders refresh the live roster row. It is not proof of an identity
mismatch: retry verification before sensitive work. A local message key that
still differs from the authoritative roster row remains identity_mismatch.
When verification is failed, unknown, mismatched, stale, or missing:
Verification is about authorship, not correctness. A verified sender can still be mistaken.
Use mail for asynchronous coordination:
Use chat when someone needs a synchronous answer to proceed. Chat is blocking by design. Keep replies concise and timely.
If a chat asks for something that takes time, do not stay silent. Send an extend-wait or short status update, then follow up when ready.
When invoking aw through a shell, write Markdown, reports, and command examples
to a file and use the command's file flag (--body-file,
--description-file, and so on). A double-quoted shell argument expands
backticks and $(...) before aw starts; the CLI cannot detect text that has
already been replaced. Literal backticks that do reach aw indicate safe
quoting, so body-content heuristics would warn on the safe case and miss the
dangerous one.
If a caller cannot use a file flag, --body "$(cat message.md)" is safe because
shells do not re-scan command-substitution output for further substitutions.
Inline arguments are also safe when correctly single-quoted, but prefer file
flags for long or Markdown-rich content.
When a mail event includes message_id, prefer replying to that message rather than starting a new thread:
aw mail reply <message_id> --body-file <body-path>When the event provides conversation_id but not a direct reply target, continue that conversation. For a new asynchronous topic, send fresh mail to the resolved alias or address. Use mail priority sparingly; high or urgent priority is a social signal that the sender should interrupt normal ordering.
When sender_waiting=true, answer promptly. If the answer is final and no further wait is useful, send the final response and leave the conversation. If more time is needed, extend the wait or send a short status update:
aw chat extend-wait <from> --body-file <body-path>Before replying to a confusing chat, inspect pending/open/history state. Do not use chat for broad FYI updates. Send mail instead.
Mail and chat are server-readable plaintext by default in the current aw CLI release. Add --e2ee only when the human explicitly wants an encrypted send; it fails closed if keys, capability, route support, or version support are missing. --plaintext is an explicit clarifier for the current default.
aw chat send-and-wait <alias-or-address> --body-file <body-path> --start-conversation
aw chat send-and-leave <alias-or-address> --body-file <body-path>
aw chat extend-wait <from> --body-file <body-path>Encrypted read paths such as aw chat pending, aw chat history, and channel listen/decrypt paths show plaintext only after local decryption. If an explicit --e2ee send fails because a key, capability, route, or version is missing or stale, stop and report the exact error; do not resend as plaintext unless the human explicitly chooses server-readable plaintext.
Terminal agents, Pi, and Claude Code can use the aw CLI directly. Custodial MCP/OAuth agents may have equivalent MCP tools for mail/chat, but those hosted/server-side tool calls are server-readable hosted messaging unless plaintext and decryption stay fully outside AC/aweb. For Claude Code, do not use deprecated aw run claude; install the aweb-channel plugin for push events. Use the harness-native surface, but keep the same decision policy:
Real-time push events arrive through an aweb channel integration. Use the channel when the user says they keep missing messages, when a human wants agents to notice mail/chat without polling, or when synchronous chat should wake the active session.
Harness support differs:
pi install npm:@awebai/pi@latest; the aweb channel and these skills are bundled together. Existing installs on Pi 0.82+ update with pi update npm:@awebai/pi; pre-0.82 Pi falls back to npm install @awebai/pi@latest --prefix ~/.pi/agent/npm. Fully restart Pi afterward. A global npm upgrade does not update Pi's ~/.pi/agent/npm package tree.aweb-channel plugin from the awebai/claude-plugins marketplace. See https://github.com/awebai/aweb/blob/main/docs/channel.md.aw run codex for a session-bound runner.The channel is inbound only. Use aw mail or aw chat to respond.
For E2E messages, channel/Pi/aw run may show plaintext only after local decryption in the user's workspace or client process. Server notifications and SSE payloads should be metadata-only for encrypted content. Recipient E2E capability and encryption keys must be identity-authorized; a service signature can assert route support only. If an event or tool error says an encryption key/capability is missing, stale, or mismatched, fail closed and report the error. Do not silently resend as plaintext. If the local channel/Pi process was upgraded from a pre-E2E version, run aw id encryption-key setup in the workspace before expecting it to receive encrypted messages.
For control signals:
pause: stop current work and wait for instructions.resume: continue only if the previous context is still valid.interrupt: stop and inspect the new instruction before proceeding.For work/claim notifications, avoid immediate action unless it affects current work. Queue or inspect on the next coordination loop.
Prefer the most specific address that matches the situation:
aliceops~aliceacme.com/aliceIf recipient resolution fails, load aweb-team-membership to reason about address routes, inbound_mode, contacts, active team, and identity state.
Good replies are short, specific, and action-oriented:
For review/handoff content, use mail and include validation evidence.
Read these only when deeper context is needed:
references/messaging-scenarios.md: examples of mail/chat/channel responses.© awebai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/aweb-messaging of awebai/aweb.
Open the folder on GitHubat commit a6ca92a
aweb Messaging 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 |
|---|---|---|---|---|---|---|
| aweb Messaging this skillawebai/aweb | 115 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Patsnap Solution Enginepatsnap/mcp | 113 | — | ~825 | Automated safety check: Pass | Apache-2.0 | |
| LangBot Plugin Developmentlangbot-app/LangBot | 18k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Context Handling in fp-goIBM/fp-go | 2k | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Go Concurrencyinference-gateway/inference-gateway | 214 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Debugging And Error Recoveryskuramatata/my-pi-agent | 114 | — | ~777 | Automated safety check: Pass | None |
patsnap/mcp
Patsnap TRIZ Concept Solution Engine MCP for AI agents. An agent skill from patsnap/mcp.
langbot-app/LangBot
Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.
IBM/fp-go
Covers handling Go's context.Context idiomatically in fp-go code: reading and scoping context through operators, timeouts, cancellation and converting ctx-first functions.
inference-gateway/inference-gateway
Idiomatic Go concurrency - sync primitives, channel semantics, the select statement, and the standard channel patterns (cancellation/done-channel, fan-out/fan-in, pipeline, or-done, context…
skuramatata/my-pi-agent
A skill your agent uses when my-pi-agent tests, typecheck, lint, Pi CLI startup, OpenCode/MCP, Feishu channel, prompt rendering, memory/state, web-console/desktop build, or UI behavior fails…
skuramatata/my-pi-agent
A skill your agent uses when my-pi-agent tests, typecheck, lint, /code workflow, verifier probes, Feishu channel handling, MCP bootstrap, skill install, or task resume behavior fails unexpectedly.
awebai/aweb
Recognizes old aweb bootstrap-era `agents/` directories and migrates them to current team and identity primitives, since the old command family is retired.
awebai/aweb
Guides decisions for agents working in an aweb team: when to check shared state, claim tasks, take locks, read team roles and instructions, and open separate worktrees.
awebai/aweb
This skill should be used when joining or being added to an aweb team, picking the correct invite/add-member path for the team's authority model (hosted vs BYOT), accepting invites, fetching team…
awebai/aweb
Creates or appends a folio document from the built-in pitch, memo or metrics templates by sending schema-checked slots that folio renders to Markdown.
awebai/aweb
A skill your agent uses when an agent needs to show a human an folio document: mint a document-bound capability link with POST /v1/present, open the returned URL for the human, print it as fallback…
awebai/aweb
A skill your agent uses when an agent needs to brand folio presentation pages for its team: read or update GET/PUT /v1/theme with colors, fonts, header/footer, and an optional base64 raster logo.
Works with
Categories
Guides how an agent reads and responds to aweb mail and chat events, choosing between asynchronous mail and synchronous chat and respecting sender verification and encryption boundaries. On a channel awakening, the agent parses the injected event metadata before acting: the message type, which may be mail, chat, control, work or claim, the sender's alias or address, a durable message id, a conversation or session id to continue rather than starting a new thread, whether sender_waiting marks the sender as blocked for a reply, trust and verification status, and subject or priority fields for urgency. It also covers explicit requests to send mail or chat through aweb.
aweb Messaging fits situations like: responding to an injected aweb mail or chat event; deciding whether to send a message as plaintext or end-to-end encrypted; handling a sender_waiting message that is blocking for a reply.
Run `npx skills add awebai/aweb --skill aweb-messaging -a claude-code`. Or copy the skill folder (skills/aweb-messaging in awebai/aweb) into .claude/skills/aweb-messaging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add awebai/aweb --skill aweb-messaging -a codex`. Or copy the skill folder (skills/aweb-messaging in awebai/aweb) into .agents/skills/aweb-messaging 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 awebai/aweb --skill aweb-messaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aweb-messaging, .gemini/skills/aweb-messaging, .github/skills/aweb-messaging and .opencode/skills/aweb-messaging in your project.
Going by SKILL.md and its folder, aweb Messaging needs the command-line tools its instructions call (npm). Our summary lists: The aw CLI or an equivalent MCP tool for the current harness. Its frontmatter pre-approves these tools: Bash(aw *).
SKILL.md names 1 domain. As links in the text: aweb.ai. 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.
aweb Messaging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 499 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with aweb Messaging: Patsnap Solution Engine (patsnap/mcp, 113 stars), LangBot Plugin Development (langbot-app/LangBot, 18k stars), Context Handling in fp-go (IBM/fp-go, 2k stars) and Go Concurrency (inference-gateway/inference-gateway, 214 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
awebai (a GitHub organization) maintains it in awebai/aweb, which has 115 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 9, 2026.
Source: awebai/aweb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.