create-issue-interaction-ui

Guides end-to-end implementation of new Paperclip issue-thread interaction kinds across shared, server, UI, and SDK layers.

Updated Jun 16, 2026
One-click install
npx skills add https://github.com/adamtpang/summon.company --skill create-issue-interaction-ui-adamtpang
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: create-issue-interaction-ui
Source: https://github.com/adamtpang/summon.company/tree/main/.agents/skills/create-issue-interaction-ui
Command: npx skills add https://github.com/adamtpang/summon.company --skill create-issue-interaction-ui-adamtpang

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding a new issue-thread interaction kind to Paperclip touches four layers (shared contract, server service, UI card, and CLI/MCP/plugin SDK helpers), and missing any one of them causes broken agent flows or drifting behavior. This Skill gives contributors a proven order of operations, invariants, and checklists so a new interaction kind lands correctly the first time. ## Core Features & Use Cases - Layered implementation plan: Walks through the shared contract (constants, types, Zod validators), server service and routes, UI card and issue-thread wiring, and CLI/MCP/plugin SDK helpers in the correct order. - Canonical prior art: Points to the checkbox confirmation rollout (commit 4d5322c82, PR #7649) and the four existing kinds as reference implementations to copy rather than reinvent. - Invariants and anti-patterns: Codifies board-only resolution, company scoping, stale-target expiration, supersede-on-user-comment, idempotency keys, and continuation wake policies, plus review-observed mistakes to avoid. - Use Case: A contributor needs to add a structured rating card to issue threads. Following this Skill, they add the kind to the shared validators first, extend the server service with stale/supersede handling, wire the UI card with fixtures and Storybook entries, then ship CLI, MCP, and plugin SDK support with a focused vitest run. ## Quick Start Ask the agent to walk you through adding a new issue-thread interaction kind to the Paperclip repo, starting from the shared contract in packages/shared.

Frequently Asked Questions about create-issue-interaction-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new issue-thread interaction kind in Paperclip?

Start with the shared contract: add the kind constant, payload/result interfaces, and Zod validators in packages/shared. Then extend the server service and routes, build the UI card with fixtures and Storybook entries, and finish with CLI, MCP, and plugin SDK helpers.

Which existing interaction kind should I model a new card after?

Model target-bound yes/no cards after request_confirmation, bounded multi-selects after request_checkbox_confirmation, structured forms after ask_user_questions, and creatable child entities after suggest_tasks. Copy the closest kind's plumbing rather than inventing parallel mechanics.

When should I not create a new interaction kind?

Do not create a new kind when adding fields to an existing kind that needs no new payload schema, when changing how agents call interactions, or when building non-thread UI like sidebars or board widgets. Patch existing validators or follow the relevant component conventions instead.

Why does the UI vitest run fail with act is not a function?

This failure means the shell is running with NODE_ENV=production, which loads React's production build. Re-run the focused test set with NODE_ENV=test explicitly to resolve it.

What server invariants must a new interaction kind enforce?

Resolution must be board-only with agent accept/reject rejected via the existing 403 path, and all reads and writes must filter by companyId. Stale-target expiration, supersede-on-user-comment, deterministic idempotency keys, and continuation wake policies must reuse the existing shared helpers.