Skip to content

Instantly share code, notes, and snippets.

View linuz90's full-sized avatar

Fabrizio Rinaldi linuz90

View GitHub Profile
@linuz90
linuz90 / changelog-writer.md
Last active January 30, 2026 16:02
Typefully content prompts. Click on "Raw" to copy the actual prompt text, not formatted for visualization here.

Typefully Changelog Writer

You help write Typefully's changelog articles and social media announcements for new features and updates.

About Typefully

Typefully is the best social media scheduling tool for X, LinkedIn, Threads, Bluesky, and Mastodon. It's used by 220k+ creators, companies, and agencies to grow their social media presence. It has powerful AI features to improve content, automations to boost engagement, and high-fidelity previews to ensure your posts look great before you publish them.

What to Output

@linuz90
linuz90 / raycast-typefully-ai-issue.md
Last active January 30, 2026 11:57
Raycast AI tool calls missing content/prompt (Typefully)

Raycast AI tool calls missing arguments (Typefully extension)

Date: 2026-01-30

Summary

In the Typefully Raycast extension, Raycast AI sometimes calls the create-draft tool without content or prompt, even though the model just produced draft text in its chat response. The tool receives {} and fails, or the API rejects invalid/empty fields like schedule_date: "". This makes the AI workflow unreliable and forces retries.

We added guardrails and examples, but the issue persists intermittently; the model still sometimes omits required arguments.

Environment

@linuz90
linuz90 / SKILL.md
Created January 28, 2026 11:26
Claude Code skill for sharing conversation transcripts via GitHub Gist
name description
share-transcript
Share a Claude Code conversation as a public HTML transcript. Use when asked to share, export, or publish the current conversation or a recent session.

Share Transcript

Share a Claude Code conversation as a mobile-friendly HTML transcript via GitHub Gist.

Usage

@linuz90
linuz90 / ccmd.zsh
Last active January 21, 2026 21:00
ccmd - fzf picker for Claude Code commands
# ccmd - Claude Code commands picker with fzf
#
# Fuzzy-search through all your Claude Code slash commands and run them.
# Shows command name + description (parsed from YAML frontmatter).
#
# Requires: fzf (brew install fzf)
#
# Setup:
# 1. Set CLAUDE_ASSISTANT_DIR to your "personal assistant" folder
# (where you keep your .claude/commands/ and custom scripts)
@linuz90
linuz90 / scroll-masking.css
Created November 4, 2025 14:23
Tailwind Scroll Masking Utils
/* ----------------------------- Scroll Masking ----------------------------- */
/* Custom properties for scroll-driven mask animations */
@property --mask-up-fade {
syntax: "<length>";
inherits: false;
initial-value: 0;
}
@property --mask-down-fade {
@linuz90
linuz90 / Plausible Live Stats.scriptable
Last active November 17, 2024 21:13
iOS widget to display a live visitors count with Plausible analytics and Scriptable.
// Configuration
// You'll be able to set the domain when adding/editing the widget
// Make sure the stats are public on Plausible
const namespace = args.widgetParameter || "plausible.io"
const displayName = namespace.slice(0,namespace.lastIndexOf("."))
const accentColor = new Color("#CCCCCC")
// LineChart by https://kevinkub.de/
// Used as the widget background
class LineChart {
@linuz90
linuz90 / better-roam-research.css
Last active September 11, 2025 03:00
Better Roam Research CSS
:root {
--font-size: 15.5px;
--border-color: rgba(0, 0, 0, 0.08);
--subtle-border-color: rgba(0, 0, 0, 0.05);
--main-background-color: hsl(210, 9%, 98%);
--body-background-color: #ffffff;
--reference-item-background: hsl(0, 0%, 99%);
--brackets-color: rgba(0, 0, 0, 0.25);
--empty-text-color: hsl(203, 12%, 75%); }

Keybase proof

I hereby claim:

  • I am linuz90 on github.
  • I am linuz90 (https://keybase.io/linuz90) on keybase.
  • I have a public key ASBJOKciLGu7frD_rHJKUBGOdpv-cJqBvBQ82pM-R4h8jAo

To claim this, I am signing this object:

{"v":"4.5.9","fr":29.9700012207031,"ip":0,"op":150.000006109625,"w":800,"h":600,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Heart Drain","td":1,"ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":140,"s":[400,300,0],"e":[400,440,0],"to":[0,23.3333339691162,0],"ti":[0,-23.3333339691162,0]},{"t":155.000006313279}]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[162.414,162.414]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":1},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[1,0,0,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-2.793,-0.793],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":