skills/archive/write-integration-ticket/SKILL.md
Write API integration tickets in structured specification format. Load when user mentions 'write integration ticket', 'create integration spec', 'integration specification', 'API action ticket', or wants to document an API integration with endpoints, parameters, acceptance criteria, and error handling. Creates Linear tickets with Integration label assigned to Adeel Akram.
npx skillsauth add beam-ai-team/beam-next-skills write-integration-ticketInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Archived skill. Kept for reference only; do not expose as a public active catalog skill until it is rewritten without hardcoded Linear ownership.
Create structured API integration specifications ready for Linear import.
Before creating Linear tickets or writing integration specs, show the API docs/source, target Linear team/project, assignee/labels, ticket count, and fields to create. Require explicit user approval in the current turn before writing files or creating/updating Linear issues. Drafting ticket specs in chat does not require approval.
Transform API documentation into actionable integration tickets with clear endpoints, parameters, acceptance criteria, and error messages. Output follows a standardized table format for developer clarity.
ALWAYS ask the user first:
"Please share the API documentation or endpoint details for this integration before I begin writing the specification."
Do NOT proceed with creating the spec until documentation is provided.
Every integration ticket MUST follow this structure:
## [Action Number]. Action Title: [Action Name]
**Objective:** [One sentence describing what this action accomplishes]
| Field | Details |
|-------|---------|
| **Endpoint** | - Discovery: `GET /path` (if applicable)<br>- Action: `POST /path/{id}/action` |
| **Input Parameters** | - `paramName` (type, required/optional): Description.<br>- `paramName2` (type, required/optional): Description. |
| **Internal Parameters** | - `internalParam` (type): Description of resolved/computed values. |
| **Acceptance Criteria** | 1. Step one of the workflow.<br>2. Step two.<br>3. On success, return `{ field1, field2 }`. |
| **Error Messages** | - **Condition**: "Error message text."<br>- **Condition2**: "Error message text." |
{paramName}Include these error types as applicable:
| Category | Template | |----------|----------| | Not found | "No [resource] found with [identifier]. Please verify the [field]." | | Validation | "[Field] is required and must be [constraint]." | | Auth failure | "Access denied. Verify [permission type] permissions." | | API error | "Failed to [action]: {statusCode} - {errorMessage}." | | Rate limit | "Rate limit exceeded. Please try again in {seconds} seconds." |
Ask user for:
Do not proceed without documentation.
From the documentation, identify distinct actions. Each action should be:
For each action:
Present specs to user for review. Ask:
After user approval, create ticket in Linear:
python3 03-skills/linear-connect/scripts/manage_issue.py create \
--team "Platform Squad" \
--title "[Action Title]" \
--description "[Full specification in markdown]" \
--project "[User's project or default]" \
--labels "Integration" \
--assignee "[email protected]"
Default settings:
IntegrationUser provides Microsoft Graph API docs for sending Teams messages.
Objective: Send a plain-text message to a one-on-one Microsoft Teams chat by automatically resolving the chat using the authenticated user's email and the recipient's email.
| Field | Details |
|-------|---------|
| Endpoint | - Discovery: GET /v1.0/me/chats?$filter=chatType eq 'oneOnOne'&$expand=members&$top=100<br>- Send: POST /v1.0/chats/{chatId}/messages |
| Input Parameters | - recipientEmail (string, required): The userPrincipalName of the other participant in the one-on-one chat.<br>- messageContent (string, required): Text body of the message. |
| Internal Parameters | - resolvedChatId (string): ID of the chat matching exactly recipientEmail from members in chats list. |
| Acceptance Criteria | 1. Call GET /me/chats to retrieve all chats.<br>2. Check for @odata.nextLink to resolve pagination (max 3 pages).<br>3. Filter to chats where members' email exactly matches recipientEmail.<br>4. If none found, return error and stop.<br>5. Take first match, set resolvedChatId to its id.<br>6. POST to /chats/{resolvedChatId}/messages with constructed body.<br>7. On HTTP 201, return { id, createdDateTime, body.content }. |
| Error Messages | - Chat not found: "No one-on-one chat found with user {recipientEmail}. Please verify the email."<br>- Empty/oversized content: "Message content is required and must be under service limits."<br>- Auth failure: "Access denied. Verify Graph permissions."<br>- API error: "Failed to send message: {statusCode} - {errorMessage}." |
tools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.