### Freshdesk API Client Setup in PHP Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Sets up a PHP class to interact with the Freshdesk API using Guzzle. Requires Guzzle to be installed via Composer. ```bash composer require guzzlehttp/guzzle ``` ```php domain = $domain; $this->apiKey = $apiKey; $this->client = new Client([ 'base_uri' => "https://{$domain}.freshdesk.com/api/v2/", 'auth' => [$apiKey, 'X'], 'headers' => ['Content-Type' => 'application/json'] ]); } // Tickets public function listTickets($params = []) { $response = $this->client->get('tickets', ['query' => $params]); return json_decode($response->getBody(), true); } public function getTicket($id) { $response = $this->client->get("tickets/{$id}"); return json_decode($response->getBody(), true); } public function createTicket($data) { $response = $this->client->post('tickets', ['json' => $data]); return json_decode($response->getBody(), true); } public function updateTicket($id, $data) { $response = $this->client->put("tickets/{$id}", ['json' => $data]); return json_decode($response->getBody(), true); } public function deleteTicket($id) { $this->client->delete("tickets/{$id}"); return true; } // Contacts public function listContacts($params = []) { $response = $this->client->get('contacts', ['query' => $params]); return json_decode($response->getBody(), true); } public function createContact($data) { $response = $this->client->post('contacts', ['json' => $data]); return json_decode($response->getBody(), true); } // Companies public function listCompanies() { $response = $this->client->get('companies'); return json_decode($response->getBody(), true); } public function createCompany($data) { $response = $this->client->post('companies', ['json' => $data]); return json_decode($response->getBody(), true); } } ``` -------------------------------- ### Install Freshdesk SDKs Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Commands to install the necessary Freshdesk SDKs for Python and Node.js environments via package managers. ```bash pip install python-freshdesk ``` ```bash npm install node-freshdesk-api ``` -------------------------------- ### conductor.json Structure Example Source: https://github.com/ckorhonen/claude-skills/blob/main/commands/install-conductor.md This JSON structure defines the 'scripts' object within conductor.json, specifying commands for 'setup', 'run', and 'runScriptMode'. The 'setup' script handles dependency installation and environment configuration, while 'run' executes the main process. ```json { "scripts": { "setup": "commands to install dependencies and set up environment", "run": "command to start the dev server or main process", "runScriptMode": "nonconcurrent" } } ``` -------------------------------- ### Example of Created conductor.json Output Source: https://github.com/ckorhonen/claude-skills/blob/main/commands/install-conductor.md This is an example of the final conductor.json file that will be created in the project root. It includes the 'setup' and 'run' scripts, along with 'runScriptMode' set to 'nonconcurrent' for development servers. ```json { "scripts": { "setup": "...", "run": "...", "runScriptMode": "nonconcurrent" } } ``` -------------------------------- ### Execute LLM Queries and Verify Setup Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/llm-advisor/SKILL.md Basic commands to verify the installation by listing available models and running a simple test prompt. ```bash # Check available models llm models # Test a simple prompt llm "Hello, what model are you?" ``` -------------------------------- ### Building and Running MCP Servers Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/mcp-builder/reference/node_mcp_server.md Standard CLI commands for building, starting, and developing MCP server projects using npm. ```bash npm run build npm start npm run dev ``` -------------------------------- ### Example QA Pair for MCP Evaluation Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/mcp-builder/reference/evaluation.md A single QA pair example demonstrating the required format for testing complex, multi-hop reasoning capabilities in MCP-enabled environments. ```xml Find the repository that was archived in Q3 2023 and had previously been the most forked project in the organization. What was the primary programming language used in that repository? Python ``` -------------------------------- ### Company Management (Ruby) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Examples for listing and creating companies using the Freshdesk Ruby SDK. ```APIDOC ## List Companies ### Description Retrieves a list of all companies. ### Method `GET` ### Endpoint `/companies` ### Response #### Success Response (200) An array of company objects. ## Create Company ### Description Creates a new company in Freshdesk. ### Method `POST` ### Endpoint `/companies` ### Parameters #### Request Body - **name** (string) - Required - The name of the company. - **domains** (array of strings) - Required - A list of domains associated with the company. ### Request Example ```ruby company = Freshdesk::Company.create( name: 'New Corp', domains: ['newcorp.com'] ) ``` ### Response #### Success Response (200) The newly created company object. ``` -------------------------------- ### Contact Management (Ruby) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Examples for listing, creating, and updating contacts using the Freshdesk Ruby SDK. ```APIDOC ## List Contacts ### Description Retrieves a list of all contacts. ### Method `GET` ### Endpoint `/contacts` ### Response #### Success Response (200) An array of contact objects. ## Create Contact ### Description Creates a new contact in Freshdesk. ### Method `POST` ### Endpoint `/contacts` ### Parameters #### Request Body - **name** (string) - Required - The name of the contact. - **email** (string) - Required - The email address of the contact. - **company_id** (integer) - Optional - The ID of the company the contact belongs to. ### Request Example ```ruby contact = Freshdesk::Contact.create( name: 'Jane Doe', email: 'jane@example.com', company_id: 500 ) ``` ### Response #### Success Response (200) The newly created contact object. ## Update Contact ### Description Updates an existing contact's information. ### Method `PUT` ### Endpoint `/contacts/{id}` ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the contact to update. #### Request Body - **job_title** (string) - Optional - The updated job title for the contact. ### Request Example ```ruby contact = Freshdesk::Contact.find(1001) contact.update(job_title: 'VP of Operations') ``` ### Response #### Success Response (200) Indicates the contact was successfully updated. ``` -------------------------------- ### Manage Freshdesk Tickets Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Demonstrates how to list, retrieve, create, update, and delete tickets. The Node.js examples show both traditional callback patterns and promisified async/await patterns, while the Ruby example uses a configuration-based approach. ```javascript const Freshdesk = require('node-freshdesk-api'); const freshdesk = new Freshdesk('https://yourcompany.freshdesk.com', 'your-api-key'); // Create a ticket freshdesk.createTicket({ subject: 'Support needed', description: 'Please help with this issue', email: 'customer@example.com', priority: 2, status: 2 }, (err, ticket) => { if (err) return console.error(err); console.log(`Created ticket #${ticket.id}`); }); ``` ```ruby require 'freshdesk' Freshdesk.configure do |config| config.domain = 'yourcompany' config.api_key = ENV['FRESHDESK_API_KEY'] end # Create a ticket ticket = Freshdesk::Ticket.create( subject: 'Support needed', description: 'Please help with this issue', email: 'customer@example.com', priority: 2, status: 2 ) puts "Created ticket ##{ticket.id}" ``` -------------------------------- ### Standard README.md Template Source: https://github.com/ckorhonen/claude-skills/blob/main/agents/docs-writer.md A structural template for project README files, designed to provide users with quick start instructions, installation steps, and configuration details. ```markdown # Project Name Brief description (1-2 sentences) ## Quick Start [Fastest path to running the project] ## Installation [Step-by-step setup] ## Usage [Common use cases with examples] ## Configuration [Environment variables, config files] ## API Reference [Link to detailed docs or inline] ## Contributing [How to contribute] ## License [License type] ``` -------------------------------- ### Get All Freshdesk Tickets (Bash) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/SKILL.md A quick start example using curl to retrieve all tickets from Freshdesk. It includes basic authentication and sets the Content-Type header to application/json. ```bash curl -u "$FRESHDESK_API_KEY:X" \ -H "Content-Type: application/json" \ "https://$FRESHDESK_DOMAIN.freshdesk.com/api/v2/tickets" ``` -------------------------------- ### Heuristics for Setup and Run Commands by Package Manager Source: https://github.com/ckorhonen/claude-skills/blob/main/commands/install-conductor.md This table provides recommended 'setup' and 'run' commands based on detected package managers and project types. It covers common scenarios for npm, yarn, bun, pnpm, Python, Go, and Rust projects. ```markdown | Detection | Setup | Run | |-----------|-------|-----| | npm (package-lock.json) | `npm install` | `npm run dev` or `npm start` | | yarn (yarn.lock) | `yarn install` | `yarn dev` or `yarn start` | | bun (bun.lockb) | `bun install` | `bun run dev` or `bun start` | | pnpm (pnpm-lock.yaml) | `pnpm install` | `pnpm dev` or `pnpm start` | | Python (pyproject.toml) | `pip install -e .` | Check for scripts | | Python (requirements.txt) | `pip install -r requirements.txt` | `python main.py` or `python app.py` | | Go (go.mod) | `go mod download` | `go run .` | | Rust (Cargo.toml) | `cargo build` | `cargo run` | ``` -------------------------------- ### Install System Dependencies Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/markdown-fetch/README.md Installation command for the required jq JSON processor. ```bash brew install jq ``` -------------------------------- ### Get a Specific Freshdesk Contact (Bash) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/SKILL.md Demonstrates how to retrieve details for a specific contact in Freshdesk using their ID. This example uses curl with basic authentication. ```bash curl -u "$FRESHDESK_API_KEY:X" \ "https://$FRESHDESK_DOMAIN.freshdesk.com/api/v2/contacts/12345" ``` -------------------------------- ### Configure Secure HTTP Server with Timeouts Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/security-best-practices/references/golang-general-backend-security.md Demonstrates how to initialize an http.Server with explicit timeout configurations and MaxHeaderBytes to prevent DoS attacks. This replaces the insecure default http.ListenAndServe approach. ```go server := &http.Server{ Addr: ":8080", ReadHeaderTimeout: 5 * time.Second, ReadTimeout: 10 * time.Second, WriteTimeout: 10 * time.Second, IdleTimeout: 120 * time.Second, MaxHeaderBytes: 1 << 20, // 1MB } ``` -------------------------------- ### Initialize MCP Server with FastMCP Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/mcp-builder/reference/python_mcp_server.md Demonstrates the basic initialization of an MCP server using the FastMCP framework, which serves as the entry point for tool registration. ```python from mcp.server.fastmcp import FastMCP mcp = FastMCP("service_mcp") ``` -------------------------------- ### Install Chromium Browser Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/agent-browser/SKILL.md If the Chromium browser is not found, use the `agent-browser install` command to download and install it. This is a common troubleshooting step for initial setup or environment configuration issues. ```bash # Install Chromium agent-browser install ``` -------------------------------- ### Initialize Freshdesk API Client Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Demonstrates how to authenticate and initialize the API client using the base URL and API key. ```python from freshdesk.api import API api = API('yourcompany.freshdesk.com', 'your-api-key') ``` ```javascript const Freshdesk = require('node-freshdesk-api'); const freshdesk = new Freshdesk('https://yourcompany.freshdesk.com', 'your-api-key'); ``` -------------------------------- ### Install Dependencies and Set API Key (Bash) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/mcp-builder/reference/evaluation.md Commands to install project dependencies using pip and set the ANTHROPIC_API_KEY environment variable. ```bash pip install -r scripts/requirements.txt export ANTHROPIC_API_KEY=your_api_key ``` -------------------------------- ### Git Commit Example (Bash) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/writing-plans/SKILL.md Provides an example of a Git commit command used within the plan generation process. It demonstrates staging specific files and creating a commit message following conventional commit standards (e.g., 'feat:' for feature additions). ```bash git add tests/path/test.py src/path/file.py git commit -m "feat: add specific feature" ``` -------------------------------- ### Install XcodeGen using Homebrew Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/macos-apps/references/project-scaffolding.md Installs the XcodeGen command-line tool, a dependency for automating Xcode project generation. This is a one-time setup command. ```bash brew install xcodegen ``` -------------------------------- ### Install and Authenticate gog CLI Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/google/SKILL.md This snippet demonstrates how to install and authenticate the `gog` CLI tool, which is a prerequisite for using the Google Personal Assistant skill. It covers checking the installation, verifying authentication status, confirming account access, and adding a new account if necessary. ```bash # Check installation gog version # Check authentication status gog auth status # Verify account access gog people me # Add a new account if needed gog auth add your@email.com --services=all ``` -------------------------------- ### GLSL Shader Attribution Example Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/shadertoy/SKILL.md Example of how to properly attribute forked or remixed shaders on platforms like Shadertoy. It includes placeholders for the original author, date, and license. ```glsl // Fork of "Original Name" by AuthorName. https://shadertoy.com/view/XxXxXx // Date: YYYY-MM-DD // License: Creative Commons (CC BY-NC-SA 4.0) [or other] ``` -------------------------------- ### Deploy to Multiple Environments with Pages Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/cloudflare-manager/examples.md This guide illustrates deploying a project to multiple environments (e.g., production and staging) using Cloudflare Pages. It includes commands for deploying to distinct project names and then setting environment-specific variables for each deployment. ```bash # Production bun scripts/pages.ts deploy my-app-prod ./dist # Staging bun scripts/pages.ts deploy my-app-staging ./dist # Set environment-specific variables bun scripts/pages.ts set-env my-app-prod API_URL https://api.example.com bun scripts/pages.ts set-env my-app-staging API_URL https://staging.example.com ``` -------------------------------- ### Fetch Web Content as Markdown Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/markdown-fetch/README.md Usage examples for the fetch.sh script, demonstrating basic fetching, browser rendering for dynamic sites, and output redirection. ```bash # Basic usage ~/.openclaw/skills/markdown-fetch/scripts/fetch.sh "https://example.com" # Use browser rendering for JS-heavy sites ~/.openclaw/skills/markdown-fetch/scripts/fetch.sh "https://example.com" --method browser # Save to file ~/.openclaw/skills/markdown-fetch/scripts/fetch.sh "https://example.com" --output article.md # Retain images ~/.openclaw/skills/markdown-fetch/scripts/fetch.sh "https://example.com" --retain-images ``` -------------------------------- ### GET /tickets Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/SKILL.md Retrieve a list of all support tickets from the Freshdesk account. ```APIDOC ## GET /tickets ### Description Retrieves a list of all tickets associated with the Freshdesk account. Supports pagination and filtering. ### Method GET ### Endpoint https://{domain}.freshdesk.com/api/v2/tickets ### Parameters #### Query Parameters - **page** (integer) - Optional - Page number for pagination - **per_page** (integer) - Optional - Number of records per page ### Request Example curl -u "$FRESHDESK_API_KEY:X" "https://$FRESHDESK_DOMAIN.freshdesk.com/api/v2/tickets" ### Response #### Success Response (200) - **tickets** (array) - List of ticket objects #### Response Example [ { "id": 123, "subject": "Support needed", "status": 2 } ] ``` -------------------------------- ### Setting Security Headers (Nginx Example) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/security-best-practices/references/javascript-typescript-react-web-frontend-security.md This example demonstrates how to configure essential security headers like Content-Security-Policy (CSP), X-Content-Type-Options, X-Frame-Options, and Referrer-Policy in an Nginx server configuration. These headers protect against various attacks like clickjacking, XSS, and information leakage. ```nginx server { listen 80; server_name your-react-app.com; # Content Security Policy # Adjust directives based on your app's needs add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"; # Prevent MIME type sniffing add_header X-Content-Type-Options nosniff; # Clickjacking protection # Use frame-ancestors in CSP for modern browsers, X-Frame-Options as fallback add_header X-Frame-Options "SAMEORIGIN"; # CSP alternative/addition: add_header Content-Security-Policy "frame-ancestors 'self'"; # Control referrer information add_header Referrer-Policy "strict-origin-when-cross-origin"; # Permissions Policy (Example: disable microphone and camera) # add_header Permissions-Policy "microphone=(), camera=()"; location / { # Proxy pass to your React app's build output or server try_files $uri $uri/ /index.html; } } ``` -------------------------------- ### GET /tickets/{id} Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Retrieves the details of a specific support ticket by its ID. ```APIDOC ## GET /tickets/{id} ### Description Fetches full details for a specific ticket. ### Method GET ### Endpoint /tickets/{id} ### Parameters #### Path Parameters - **id** (number) - Required - The unique ID of the ticket ### Response #### Success Response (200) - **id** (number) - Ticket ID - **subject** (string) - Ticket subject - **description** (string) - Ticket description #### Response Example { "id": 12345, "subject": "Support needed", "description": "Please help with this issue" } ``` -------------------------------- ### Set up Complete Domain with DNS and Routes Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/cloudflare-manager/examples.md This section provides commands for comprehensive domain setup using Cloudflare's DNS and routing capabilities. It covers listing zones, creating various DNS record types (A, CNAME) with proxying, defining worker routes for specific URL patterns, and listing existing DNS records and routes. ```bash # List your zones bun scripts/dns-routes.ts list-zones # Create DNS records bun scripts/dns-routes.ts create-dns example.com A @ 192.168.1.1 bun scripts/dns-routes.ts create-dns example.com CNAME www example.com --proxied bun scripts/dns-routes.ts create-dns example.com A api 192.168.1.2 # Create worker routes bun scripts/dns-routes.ts create-route example.com "example.com/api/*" api-worker bun scripts/dns-routes.ts create-route example.com "example.com/cdn/*" cdn-worker # List all DNS records bun scripts/dns-routes.ts list-dns example.com # List all routes bun scripts/dns-routes.ts list-routes example.com ``` -------------------------------- ### GET /contacts/{id} Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/SKILL.md Retrieve details for a specific contact by their unique ID. ```APIDOC ## GET /contacts/{id} ### Description Fetches the full profile details of a specific contact. ### Method GET ### Endpoint https://{domain}.freshdesk.com/api/v2/contacts/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the contact ### Request Example curl -u "$FRESHDESK_API_KEY:X" "https://$FRESHDESK_DOMAIN.freshdesk.com/api/v2/contacts/12345" ### Response #### Success Response (200) - **id** (integer) - Contact ID - **name** (string) - Contact name - **email** (string) - Contact email #### Response Example { "id": 12345, "name": "John Doe", "email": "john@example.com" } ``` -------------------------------- ### Basic agent-browser CLI Workflow: Open, Snapshot, Interact, Screenshot Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/agent-browser/SKILL.md Demonstrates a typical workflow using the agent-browser CLI, including opening a URL, taking an accessibility snapshot with element references, clicking an element, filling a form field, and capturing a screenshot. ```bash # Navigate to a page agent-browser open https://example.com # Get accessibility snapshot with element refs agent-browser snapshot -i # -i = interactive elements only # Click an element by ref agent-browser click @e2 # Fill a form field agent-browser fill @e3 "test@example.com" # Take a screenshot agent-browser screenshot output.png ``` -------------------------------- ### Install coremltools (Bash) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/coreml-optimizer/SKILL.md Installs the coremltools Python package, which is essential for converting and optimizing Core ML models. A specific beta version is recommended for accessing the latest 4-bit quantization features. ```bash pip install coremltools pip install coremltools==9.0b1 # For latest 4-bit features ``` -------------------------------- ### Get Mailing Status API Request Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/poplar-direct-mail/SKILL.md Demonstrates how to retrieve the status of a specific mailing using a `GET` request to the `/v1/mailing/:id` endpoint, replacing `:id` with the mailing's unique identifier. ```bash curl https://api.heypoplar.com/v1/mailing/MAILING_ID \ -H "Authorization: Bearer YOUR_TOKEN" ``` -------------------------------- ### GET /v1/mailing/:id Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/poplar-direct-mail/SKILL.md Retrieve the current status and details of a specific mailing request. ```APIDOC ## GET /v1/mailing/:id ### Description Fetches the status and metadata for a previously created mailing. ### Method GET ### Endpoint https://api.heypoplar.com/v1/mailing/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique mailing ID. ### Response #### Success Response (200) - **id** (string) - Mailing ID. - **state** (string) - Current processing state. ``` -------------------------------- ### Install Prompt Factory Dependencies Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/prompt-factory/README.md Standard installation procedure for command-line users to prepare the environment for running Python-based prompt automation scripts. ```bash cd prompt-factory pip install -r requirements.txt python scripts/generate_prompt.py --help ``` -------------------------------- ### Install and Configure Cloudflare Manager Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/cloudflare-manager/README.md Instructions for installing project dependencies using Bun and setting up the required environment variables for Cloudflare API authentication. ```bash cd ~/.claude/skills/cloudflare-manager bun install ``` ```bash CLOUDFLARE_API_KEY=your_api_token_here CLOUDFLARE_ACCOUNT_ID=your_account_id ``` -------------------------------- ### GET /api/v2/tickets/{id} Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/SKILL.md Retrieves a specific ticket by its ID. Supports embedding related data. ```APIDOC ## GET /api/v2/tickets/{id} ### Description Retrieves a specific ticket by its ID. Supports embedding related data. ### Method GET ### Endpoint /api/v2/tickets/{id} ### Path Parameters - **id** (integer) - Required - The ID of the ticket to retrieve. ### Query Parameters - **include** (string) - Optional - Comma-separated list of related objects to embed (e.g., `requester`, `company`, `stats`, `conversations`, `description`). Each include adds to the credit cost. ### Request Example ```bash curl -s -u "$FRESHDESK_API_KEY:X" \ "https://$FRESHDESK_DOMAIN.freshdesk.com/api/v2/tickets/123?include=requester,company" ``` ### Response #### Success Response (200) - **Ticket Object**: Contains the details of the specified ticket, potentially including embedded related data. #### Response Example ```json { "id": 123, "subject": "Example Ticket", "status": 2, "requester": { ... }, "company": { ... } } ``` #### Error Responses - **401 Unauthorized**: Invalid API key. - **404 Not Found**: Ticket with the specified ID does not exist. ``` -------------------------------- ### Freshdesk API Usage Examples in PHP Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Demonstrates how to use the FreshdeskAPI class in PHP to perform common operations like listing, creating, and updating tickets and contacts. Assumes the FreshdeskAPI class is defined. ```php listTickets(); foreach ($tickets as $ticket) { echo "#{$ticket['id']}: {$ticket['subject']}\n"; } // Create ticket $newTicket = $api->createTicket([ 'subject' => 'Support needed', 'description' => 'Please help with this issue', 'email' => 'customer@example.com', 'priority' => 2, 'status' => 2 ]); echo "Created ticket #{$newTicket['id']}\n"; // Update ticket $api->updateTicket($newTicket['id'], [ 'status' => 4, 'priority' => 3 ]); // Create contact $contact = $api->createContact([ 'name' => 'Jane Doe', 'email' => 'jane@example.com' ]); ``` -------------------------------- ### Ticket Management (Ruby) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/freshdesk-api/references/sdk-examples.md Examples for updating and deleting tickets using the Freshdesk Ruby SDK. ```APIDOC ## Update a Ticket ### Description Updates an existing ticket with specified status and priority. ### Method `PUT` ### Endpoint `/tickets/{id}` ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the ticket to update. #### Request Body - **status** (integer) - Required - The new status for the ticket (e.g., 4). - **priority** (integer) - Required - The new priority for the ticket (e.g., 3). ### Request Example ```ruby ticket = Freshdesk::Ticket.find(12345) ticket.update(status: 4, priority: 3) ``` ### Response #### Success Response (200) Indicates the ticket was successfully updated. ## Delete a Ticket ### Description Deletes a specified ticket. ### Method `DELETE` ### Endpoint `/tickets/{id}` ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the ticket to delete. ### Request Example ```ruby ticket = Freshdesk::Ticket.find(12345) ticket.destroy ``` ### Response #### Success Response (200) Indicates the ticket was successfully deleted. ``` -------------------------------- ### Troubleshooting and Configuration Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/codex-advisor/SKILL.md Common commands for resolving execution errors, authentication, and output management. ```bash # Correct - use exec for non-interactive execution git diff | codex exec -m gpt-5.2 "Review this..." ``` ```bash # Re-authenticate interactively codex --login # Or set API key export OPENAI_API_KEY="your-key" export CODEX_API_KEY="your-key" ``` ```bash # Capture output properly codex exec -m gpt-5.2 -c model_reasoning_effort="xhigh" \ "Your prompt" 2>/dev/null > output.txt ``` -------------------------------- ### Launch and Debug App with LLDB (Bash) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/macos-apps/references/cli-observability.md Illustrates how to launch an application directly under the control of the LLDB debugger. After launching, the `run` command initiates the application's execution, allowing for immediate debugging. ```bash lldb ./build/Build/Products/Debug/MyApp.app/Contents/MacOS/MyApp (lldb) run ``` -------------------------------- ### Install Observability Tools (Bash) Source: https://github.com/ckorhonen/claude-skills/blob/main/skills/macos-apps/references/cli-observability.md Installs essential command-line tools for Xcode project observability, including xcsift for build output parsing, mitmproxy for network traffic inspection, and xcbeautify for human-readable build logs. This is a one-time setup. ```bash # Install observability tools (one-time) brew tap ldomaradzki/xcsift && brew install xcsift brew install mitmproxy xcbeautify ```