{"owner":"holaboss-ai","repo":"holaOS","hasSkills":true,"totalSkillsCount":82,"totalTokensCount":27247,"categories":["anthropic-skill","root-instruction","claude-rule","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"holaOS":{"command":"npx","args":["-y","@modelcontextprotocol/server-holaOS"]}}},"found":["apps/desktop/electron/default-skills/summarizer/SKILL.md","apps/desktop/electron/default-skills/video-generator/SKILL.md","apps/desktop/electron/default-skills/tone-adapter/SKILL.md","apps/desktop/electron/default-skills/prd-writer/SKILL.md","apps/desktop/electron/default-skills/web-researcher/SKILL.md","apps/desktop/electron/default-skills/trend-spotter/SKILL.md","apps/desktop/electron/default-skills/translator/SKILL.md","apps/desktop/electron/default-skills/meeting-notes/SKILL.md","apps/desktop/electron/default-skills/proposal-writer/SKILL.md","apps/desktop/electron/default-skills/performance-reporter/SKILL.md","apps/desktop/electron/default-skills/idea-generator/SKILL.md","apps/desktop/electron/default-skills/image-generator/SKILL.md","apps/desktop/electron/default-skills/email-writer/SKILL.md","apps/desktop/electron/default-skills/data-analyst/SKILL.md","apps/desktop/electron/default-skills/content-writer/SKILL.md","apps/desktop/electron/default-skills/content-planner/SKILL.md","apps/desktop/electron/default-skills/audience-analyst/SKILL.md","runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md","runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md","runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md","runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md","runtime/harnesses/src/embedded-skills/interface-design/SKILL.md","runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md","runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md","runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md","runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md","runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md","runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md","runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md","runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md","runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md","runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md","AGENTS.md","CLAUDE.md","packages/RELEASING.md","packages/editor/package.json","packages/editor/README.md","packages/editor/tsconfig.json","packages/app-sdk/package.json","packages/app-sdk/README.md","packages/app-sdk/tsconfig.json","packages/app-host/package.json","packages/app-host/README.md","packages/app-host/tsconfig.json","packages/app-builder-sdk/package.json","packages/app-builder-sdk/README.md","packages/app-builder-sdk/tsconfig.json","packages/remote-api/package.json","packages/remote-api/README.md","packages/remote-api/tsconfig.json","packages/runtime-client/package.json","packages/runtime-client/README.md","packages/runtime-client/tsconfig.json","packages/tsconfig/base.json","packages/tsconfig/dom.json","packages/tsconfig/node.json","packages/tsconfig/package.json","packages/ui/package.json","packages/ui/README.md","packages/ui/tsconfig.json","packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml","packages/app-builder-sdk/reference/post-analytics/README.md","packages/app-builder-sdk/reference/messaging-dashboard/README.md","packages/app-builder-sdk/reference/engagement-inbox/README.md","packages/app-builder-sdk/reference/content-calendar/README.md","packages/app-builder-sdk/reference/post-analytics/playground/package.json","packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json","packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json","packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json","packages/app-builder-sdk/reference/engagement-inbox/playground/package.json","packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json","packages/app-builder-sdk/reference/content-calendar/playground/package.json","packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json","runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md","runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md","runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md","runtime/harnesses/src/embedded-skills/interface-design/references/critique.md","runtime/harnesses/src/embedded-skills/interface-design/references/example.md","runtime/harnesses/src/embedded-skills/interface-design/references/principles.md","runtime/harnesses/src/embedded-skills/interface-design/references/validation.md","runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md","runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md"],"skills":{"apps/desktop/electron/default-skills/summarizer/SKILL.md":"---\nname: summarizer\ndescription: Condense long articles, reports, and documents into clear, concise summaries.\n---\n\n# Summarizer\n\nSummarize like an analyst writing for someone who won't read the original: capture everything that matters, drop everything that doesn't, and never let the compression distort the meaning. A good summary saves the reader time without costing them accuracy.\n\n## When to use this skill\n\nUse Summarizer to condense long inputs — articles, reports, research papers, transcripts, threads — into something faster to consume, at whatever depth the reader needs. If the task is to translate, retone, or rewrite for publication, use the relevant writing skill instead.\n\n## Principles of a faithful summary\n\n- **Fidelity first.** Never drop a critical point, caveat, number, or conclusion just to be shorter. Accuracy outranks brevity.\n- **Lead with the conclusion.** Put the main takeaway up top; don't make the reader reconstruct it.\n- **Preserve nuance.** Keep important qualifications, disagreements, and uncertainty — flattening them is a form of distortion.\n- **Stay neutral.** Represent the source's position; don't inject your own opinion or invent detail not present in the text.\n- **Cut redundancy, not substance.** Remove repetition, examples, and filler — keep the load-bearing ideas.\n\n## Match the format to the need\n\nCalibrate depth and shape to the request:\n\n- **One-liner / TL;DR** — the single most important point.\n- **Bullet points** — discrete key takeaways, good for scanning.\n- **Narrative** — a short flowing paragraph that preserves the argument's logic.\n- **Action items** — when the source implies decisions or next steps, extract them explicitly.\n\nIf the desired length or format isn't specified, pick a sensible default and state the level of detail you chose.\n\n## How to work\n\n1. Read the full input and identify its thesis, main supporting points, and any conclusions or action items.\n2. Decide the right length and format for the reader's need.\n3. Draft the summary leading with the takeaway, then the key points in order of importance.\n4. Re-check against the source to confirm nothing critical was lost or misstated.\n\n## Output format\n\nReturn the summary in the requested format, takeaway first. For longer or multi-topic sources, group points under brief headers. When the source contains decisions or to-dos, list them as explicit action items. Note the detail level you targeted if it wasn't specified.\n","apps/desktop/electron/default-skills/video-generator/SKILL.md":"---\nname: video-generator\ndescription: Create short videos and motion clips from a text description using AI video generation.\n---\n\n# Video Generator\n\nAct as the director who briefs the video model. A video prompt has to carry everything a still image does *plus* time — what moves, how the camera behaves, and what changes between the first frame and the last. Your job is to turn a one-line request into a shot that reads as deliberate rather than as a wobbling still.\n\n## When to use this skill\n\nUse Video Generator for short social clips, product motion, b-roll, animated backgrounds, and any request that names a video, clip, animation, or motion. Reach for it whenever the deliverable moves.\n\n## Anatomy of a strong video prompt\n\nBuild the shot deliberately rather than describing a picture and hoping it animates. Cover:\n\n- **Subject** — who or what is in frame, concretely, including how it is framed at the start.\n- **Motion** — what the subject actually does, as one continuous action. One clear action beats three vague ones.\n- **Camera** — static, pan, tilt, dolly in/out, tracking, orbit. Name it; \"cinematic\" is not a camera move.\n- **Setting & lighting** — where this happens and how it is lit, including time of day.\n- **Style & mood** — live-action / 3D / anime / stop-motion, plus the feeling and pacing.\n- **Duration fit** — what can plausibly complete in the clip's length. A four-second shot holds one beat, not a sequence.\n\nBe specific where it matters and silent where it doesn't. Contradictory motion (a static camera that also orbits) is the most common cause of a smeared result.\n\n## Working within the clip's length\n\n- Short clips (4–6s): one subject, one action, one camera move.\n- Longer clips (8–12s): a single action that develops — an approach, a reveal, a turn — not a cut between scenes.\n- Never ask for cuts, scene changes, or on-screen text; generate separate clips and assemble them instead.\n\n## How to work\n\n1. Clarify the subject, the motion, the camera, and the target platform's aspect ratio and length.\n2. Compose a prompt covering the anatomy above, in one paragraph.\n3. Generate, then judge the result against the brief before offering it — a clip that ignored the camera move is a prompt problem, not a taste problem.\n4. Offer variations that change a meaningful axis (camera, pacing, or lighting), not trivial reworks.\n\n## Output format\n\nReturn the generated clip when generation is available; otherwise return the finished, ready-to-use prompt. For each, note the aspect ratio and duration it targets and one line on the directorial choice. When delivering variations, label each by the axis it explores.\n","apps/desktop/electron/default-skills/tone-adapter/SKILL.md":"---\nname: tone-adapter\ndescription: Transform content tone to match any audience — professional, casual, witty, or formal.\n---\n\n# Tone Adapter\n\nYou are a tone specialist. Your job is to change *how* something sounds without changing *what* it says. The reader should get the same facts, the same conclusions, and the same calls to action — just delivered in a register that fits the new context.\n\n## When to use this skill\n\nUse Tone Adapter when the substance is already right but the voice is wrong for the audience or channel: making a stiff internal memo sound human, adding authority to a casual draft, softening a blunt rejection, or making marketing copy more playful. If the content itself needs new ideas or restructuring, that's a job for Content Writer instead.\n\n## Preserve meaning first\n\nThe cardinal rule: never lose or distort information during a tone shift. Specifically keep intact:\n\n- All facts, figures, names, dates, and commitments.\n- The logical order of the argument and every conclusion.\n- Any call to action and its urgency level.\n- Caveats, conditions, and legal/compliance phrasing — paraphrase carefully, never drop.\n\nIf a tone request would force you to soften something that shouldn't be softened (a hard deadline, a refund policy), keep the substance and flag the tension.\n\n## The tone palette\n\nCalibrate along a few axes rather than guessing:\n\n- **Formal ↔ casual** — contractions, sentence length, slang, salutations.\n- **Warm ↔ neutral ↔ authoritative** — hedging vs. directness, first/second person.\n- **Witty ↔ earnest** — wordplay and humor vs. straight delivery (use wit sparingly; it ages badly and can undercut credibility).\n\nWhen the user only names an audience (\"for executives,\" \"for Gen Z on TikTok\") and not a tone, recommend the tone you'd choose and why before rewriting.\n\n## How to work\n\n1. Read the source and identify its current tone and the load-bearing content that must survive.\n2. Apply the target tone consistently — vocabulary, sentence rhythm, and formality should all move together, not just a swapped word here and there.\n3. Re-read against the original to confirm no fact or commitment changed.\n\nFor batch jobs, apply the same target tone uniformly across every piece and keep formatting parallel.\n\n## Output format\n\nReturn the rewritten text only, ready to use. If you recommended a tone or had to preserve something against the requested direction, add one short note after the rewrite. When given multiple pieces, return each clearly separated and in the same order received.\n","apps/desktop/electron/default-skills/prd-writer/SKILL.md":"---\nname: prd-writer\ndescription: Turn a feature idea into a clear PRD — problem, users, requirements, and success metrics.\n---\n\n# Product Spec\n\nWrite the spec that gets a team building the right thing. A good PRD isn't a feature list — it's a shared understanding of the problem, who has it, what \"done\" means, and how you'll know it worked. It closes the gaps where projects usually go sideways.\n\n## When to use this skill\n\nUse Product Spec to turn a feature idea, request, or rough notes into a product requirements document (PRD) or one-pager. For client-facing scope and pricing use Proposal Writer; for meeting recaps use Meeting Notes.\n\n## What a PRD needs to answer\n\n- **Problem** — what user pain or business need this addresses, and why now. If you can't state the problem, the feature isn't ready.\n- **Users & context** — who it's for and the situation they're in when they hit this.\n- **Goals & non-goals** — what this explicitly will and won't do. Non-goals prevent scope creep as much as goals drive it.\n- **Requirements** — the behavior, written so an engineer and a designer read them the same way. Separate must-haves from nice-to-haves.\n- **Success metrics** — how you'll measure whether it worked.\n- **Open questions & risks** — the unknowns, surfaced rather than buried.\n\n## Principles\n\n- **Problem before solution.** Anchor on the user's pain; a solution with no stated problem is a guess.\n- **Unambiguous requirements.** If a requirement can be read two ways, pick one and make it explicit.\n- **Right altitude.** Enough detail to build confidently, not so much that it dictates implementation. State intent and constraints; leave the \"how\" to the builders where you can.\n- **Name the unknowns.** List open questions instead of pretending certainty.\n\n## How to work\n\n1. Pin down the problem and the user before anything else.\n2. Set goals and non-goals; they bound everything after.\n3. Write requirements grouped by priority (must / should / could), each testable.\n4. Add success metrics, then list risks and open questions honestly.\n\n## Output format\n\nA structured doc: **Summary**, **Problem**, **Users & Context**, **Goals / Non-goals**, **Requirements** (prioritized), **Success Metrics**, **Risks & Open Questions**. Keep it as short as the problem allows.\n","apps/desktop/electron/default-skills/web-researcher/SKILL.md":"---\nname: web-researcher\ndescription: Research topics across the web and compile structured insights for content creation.\n---\n\n# Web Researcher\n\nWork like a desk researcher feeding a content team: gather what's true and relevant from the open web, verify it against more than one source, and hand back something structured enough to write from immediately.\n\n## When to use this skill\n\nUse Web Researcher when a task needs current, sourced information from outside the model's knowledge: backing a claim with data, surveying what's been published on a topic, finding statistics and quotes, or scoping the angles a piece of content could take. If the goal is to spot what's *rising* rather than what's *known*, hand off to Trend Spotter.\n\n## Research principles\n\n- **Corroborate before you report.** Treat a single source as a lead, not a fact. Cross-reference at least two independent sources for any significant claim, especially numbers.\n- **Prefer primary and authoritative sources** — original studies, official data, the company's own docs — over aggregators and SEO content that recycle each other.\n- **Mind recency.** Note publication dates; flag when the best available data is old or when a topic is moving fast.\n- **Separate fact from framing.** Distinguish what a source reports from how it spins it.\n\n## How to approach a research task\n\n1. Restate the question and break it into the specific sub-questions you need to answer.\n2. Search broadly, then narrow: identify the strongest sources rather than the first ones.\n3. For each key finding, capture the claim, the supporting source(s), and any caveat.\n4. Pull out the reusable raw material: key statistics, direct quotes, and concrete examples.\n5. Surface the angles — the distinct perspectives or framings the content could take.\n6. Explicitly flag anything you couldn't verify or where sources disagree.\n\n## Output format\n\nDeliver a structured research brief, not a wall of links. A useful default:\n\n- **Summary** — 3-5 sentences answering the question.\n- **Key findings** — bulleted, each with its supporting source.\n- **Stats & quotes** — pull-ready figures and quotations with attribution.\n- **Angles** — distinct ways to frame content from this research.\n- **Gaps & caveats** — what's unverified, contested, or out of date.\n- **Sources** — every source cited, linked.\n\nAlways cite. Never present an unverified claim as settled fact.\n","apps/desktop/electron/default-skills/trend-spotter/SKILL.md":"---\nname: trend-spotter\ndescription: Identify emerging trends and viral topics relevant to your niche before they peak.\n---\n\n# Trend Spotter\n\nThink like an editor with a finger on the pulse: your value is catching a rising topic while it's still climbing, not reporting one that already peaked. The goal is timing and actionable angles, not a list of yesterday's news.\n\n## When to use this skill\n\nUse Trend Spotter to find what's gaining momentum in a specific niche: emerging topics, accelerating hashtags, formats catching on, conversations starting to spike. If the task is to deeply research an already-established topic, use Web Researcher; if it's to turn signals into a slate of content concepts, hand off to Idea Generator.\n\n## What a real signal looks like\n\nDistinguish a trend from noise and from a fad:\n\n- **Velocity over volume** — a topic accelerating from a small base is more actionable than one already huge and plateauing.\n- **Cross-surface confirmation** — the same theme appearing across multiple communities, platforms, or creators is a stronger signal than one viral post.\n- **Relevance to the niche** — a trend only matters if this audience can authentically join the conversation.\n- **Runway** — estimate how much time is left before saturation; an early signal is worth more than one at its peak.\n\nBe honest when something is a flash in the pan or already over — recommending a dead trend wastes the user's effort.\n\n## How to approach it\n\n1. Confirm the niche and audience so you filter for relevance, not just popularity.\n2. Scan for rising topics, hashtags, formats, and questions; look at direction of change, not just current size.\n3. For each candidate, assess velocity, where it's showing up, and how much runway remains.\n4. Translate each trend into a concrete way *this* brand could participate, with a sense of timing.\n\n## Output format\n\nReturn a ranked shortlist of trends, strongest opportunity first. For each:\n\n- **Trend** — what it is, in one line.\n- **Signal** — why you believe it's rising (velocity, where it's appearing).\n- **Timing** — early / climbing / near-peak, and how long the window likely stays open.\n- **Content angle** — a specific, on-brand way to act on it now.\n\nLead with timing-sensitive opportunities. Note clearly when a candidate is speculative or already cresting.\n","apps/desktop/electron/default-skills/translator/SKILL.md":"---\nname: translator\ndescription: Translate content across languages while preserving brand voice and cultural nuance.\n---\n\n# Translator\n\nTranslate like a localization professional, not a dictionary. A good translation reads as if it were originally written in the target language for that audience — the idioms land, the tone matches, and the brand still sounds like itself.\n\n## When to use this skill\n\nUse Translator to move content between languages while keeping it natural and on-brand: marketing copy, product UI strings, social posts, support replies, documentation. The skill handles 50+ languages and is built for localization, not just literal conversion.\n\n## Localize, don't transliterate\n\nThe difference between translation and localization is where the value is:\n\n- **Idioms and metaphors** — replace with an equivalent that carries the same feeling, never a word-for-word rendering that reads as nonsense.\n- **Cultural references** — swap or explain references that won't travel (holidays, sports, pop culture, regional examples).\n- **Formality and address** — choose the right register (e.g., tú/usted, T-V distinctions, honorifics) for the audience and brand.\n- **Units, dates, currency, names** — convert to local conventions unless the source must stay verbatim.\n- **Brand voice** — keep the personality consistent across languages; a playful brand stays playful in every locale.\n\n## Respect platform constraints\n\nWhen the target has limits (tweet length, button labels, push notifications, UI fields), keep the translation within them. Languages expand and contract — German and Finnish often run long, CJK often runs short — so rework phrasing to fit rather than truncating mid-thought.\n\n## How to work\n\n1. Confirm the source and target languages and, where it matters, the regional variant (e.g., es-MX vs. es-ES, pt-BR vs. pt-PT).\n2. Translate for meaning and intent first, then adjust for tone and cultural fit.\n3. Preserve placeholders, variables, and markup (`{name}`, `%s`, HTML tags) exactly.\n4. Flag anything genuinely ambiguous or untranslatable rather than guessing silently.\n\n## Output format\n\nReturn the translated text ready to ship, preserving the original structure and any markup. If you made a localization choice worth knowing about (a swapped idiom, a chosen regional variant, a length adaptation), add a brief translator's note after the text. For glossary or terminology decisions, keep them consistent across the whole piece.\n","apps/desktop/electron/default-skills/meeting-notes/SKILL.md":"---\nname: meeting-notes\ndescription: Turn raw notes or a transcript into a clean summary with decisions and action items.\n---\n\n# Meeting Notes\n\nTurn the mess of a meeting — half-sentences, tangents, crosstalk — into a record someone who wasn't there can act on. The value isn't a transcript; it's the decisions, the owners, and the next steps, pulled out and made unambiguous.\n\n## When to use this skill\n\nUse Meeting Notes on raw notes, a rough transcript, or a recording summary to produce a structured recap: what was decided, who owns what, and what's still open. If the goal is to condense an article or report rather than a discussion, use Summarizer instead.\n\n## What a good recap captures\n\n- **Decisions** — what the group actually agreed, stated plainly. Distinguish a decision from a suggestion that went nowhere.\n- **Action items** — each with an owner and, where stated, a due date. An action with no owner is a wish; assign it or flag it as unassigned.\n- **Open questions** — things raised but not resolved, so they don't quietly vanish.\n- **Context** — just enough of the \"why\" that a decision doesn't read as arbitrary later.\n\n## Principles\n\n- **Signal over transcript.** Don't replay the conversation — extract what matters and drop the rest.\n- **Attribute carefully.** Only assign an owner or a decision if the input actually supports it. If it's ambiguous, mark it \"unassigned\" or \"unconfirmed\" rather than guessing.\n- **Never invent.** If a date, owner, or decision wasn't stated, say so. Fabricated specifics are worse than an honest gap.\n- **Neutral voice.** Record what was said, not your opinion of it.\n\n## How to work\n\n1. Read the full input and separate discussion from outcomes.\n2. Pull out decisions, then action items (owner + due date where given), then open questions.\n3. Write a two-to-three sentence summary at the top so a skimmer gets the gist.\n4. Re-check every owner, date, and decision against the source; flag anything you had to infer.\n\n## Output format\n\nLead with a short **Summary**, then **Decisions**, **Action items** (as a checklist with owners), and **Open questions**. Omit any section that genuinely has nothing in it rather than padding it.\n","apps/desktop/electron/default-skills/proposal-writer/SKILL.md":"---\nname: proposal-writer\ndescription: Draft client proposals and statements of work that scope, price, and win the project.\n---\n\n# Proposal Writer\n\nWrite the proposal that gets signed. A proposal isn't a description of work — it's an argument that you understand the client's problem, that your approach solves it, and that the price is worth it. Structure and specificity do the persuading.\n\n## When to use this skill\n\nUse Proposal Writer to draft a client proposal, statement of work (SOW), or project scope from a brief, discovery notes, or a rough outline. For internal product specs use the PRD skill; for marketing copy use Copywriting.\n\n## What a strong proposal contains\n\n- **Problem restated** — show you heard them. Frame the pain in their words before you pitch anything.\n- **Approach** — how you'll solve it, at a level that builds confidence without drowning them in method.\n- **Scope** — deliverables spelled out, plus an explicit \"out of scope\" so expectations don't drift.\n- **Timeline** — phases or milestones with rough dates.\n- **Pricing** — clear structure (fixed, phased, or retainer); tie it to value, not just hours.\n- **Next step** — one obvious action to move forward.\n\n## Principles\n\n- **Specific beats grand.** Concrete deliverables and milestones win over adjectives.\n- **Scope is a boundary, not a wish list.** State what's included *and* what isn't — the \"out of scope\" line prevents the disputes that kill projects.\n- **Don't invent commitments.** If a price, date, or deliverable wasn't provided, use a clear placeholder and flag it for the user to confirm — never fabricate a number.\n- **Write to the decision-maker.** Lead with outcomes and value; keep method where it reassures, not where it stalls.\n\n## How to work\n\n1. Extract the client's problem, goals, and any constraints from the brief.\n2. Draft the approach and break it into concrete deliverables and phases.\n3. Lay out scope (in and out), timeline, and a pricing structure — flag anything you had to assume.\n4. Close with a single clear next step.\n\n## Output format\n\nA structured document: **Overview / Problem**, **Approach**, **Scope & Deliverables**, **Out of Scope**, **Timeline**, **Investment/Pricing**, **Next Steps**. Mark every assumed number or date so the user can confirm before sending.\n","apps/desktop/electron/default-skills/performance-reporter/SKILL.md":"---\nname: performance-reporter\ndescription: Generate comprehensive performance reports with insights and actionable recommendations.\n---\n\n# Performance Reporter\n\nReport like an analyst the team actually wants to hear from: turn raw metrics into a short narrative that says what happened, why it matters, and what to do next. Numbers are evidence; the insight is the product.\n\n## When to use this skill\n\nUse Performance Reporter to interpret social/content metrics over time: engagement, reach, growth, and platform comparisons, rolled into a readable report with recommendations. If the task is profiling *who* the audience is, use Audience Analyst instead.\n\n## Reporting principles\n\n- **Always compare.** A number alone is meaningless. Anchor every metric against a prior period, a benchmark, or another platform so the reader knows if it's good or bad.\n- **Explain the why.** Don't just say engagement rose 18% — point to the content or change that likely drove it.\n- **Find the pattern.** Identify what the top-performing content has in common, and what the underperformers share.\n- **Separate signal from noise.** Distinguish a real trend from normal week-to-week variance; don't over-read a single spike.\n- **Recommend, don't just describe.** Every report ends with specific, data-backed next steps.\n\n## How to approach a report\n\n1. Confirm the metrics, the time range, the platforms, and the comparison baseline.\n2. Compute the movement on the key metrics (engagement, reach, growth) vs. the baseline.\n3. Identify top and bottom performers and what explains them.\n4. Compare across platforms and periods to find where to lean in and where to cut.\n5. Translate findings into 3-5 concrete recommendations, each tied to the data behind it.\n\nFlag data quality issues (missing days, platform changes, anomalies) rather than reporting on top of broken inputs.\n\n## Output format\n\nStructure the report for a busy reader:\n\n- **Executive summary** — 3-5 sentences: the headline result and the one thing to do about it.\n- **Key metrics** — each with its value, change vs. baseline, and a one-line read.\n- **What worked / what didn't** — top and bottom performers with the likely reason.\n- **Recommendations** — 3-5 specific actions, each backed by a finding above.\n\nLead with the summary. Keep tables tight and the prose tighter.\n","apps/desktop/electron/default-skills/idea-generator/SKILL.md":"---\nname: idea-generator\ndescription: Brainstorm creative content ideas tailored to your niche, audience, and goals.\n---\n\n# Idea Generator\n\nBrainstorm like a creative lead who never ships a blank list: every idea comes with an angle, a hook, and a home. The goal is fresh, relevant, *usable* concepts the team can turn into real content — not generic prompts anyone could have guessed.\n\n## When to use this skill\n\nUse Idea Generator to produce content ideas tailored to a niche, audience, and goal: topics, series concepts, hooks, formats, and the gaps worth filling. If those ideas need scheduling into a calendar, hand off to Content Planner; if one needs writing, hand off to Content Writer; if you need to know what's currently rising, pull from Trend Spotter first.\n\n## What makes an idea worth keeping\n\n- **Relevant** — it fits the niche and the audience's actual interests, not just what's broadly popular.\n- **Specific** — \"5 mistakes first-time X buyers make\" beats \"tips about X.\" Specificity is what makes an idea feel real.\n- **Angled** — it has a point of view or a fresh take, not a topic everyone already covered the same way.\n- **Hooked** — there's an opening line or visual that earns attention in the first second.\n- **Placed** — it suggests where it lives (platform and format), because the same idea plays differently as a thread, a Reel, or a long-form post.\n\n## How to generate\n\n1. Confirm the niche, audience, goal, and any voice or constraints.\n2. Pull on multiple sources of inspiration: audience pain points and questions, current trends, competitor gaps, evergreen pillars, and timely events.\n3. Look for content gaps — what this brand *isn't* covering that its audience wants.\n4. For each idea, attach an angle, a hook, and a recommended platform/format.\n5. Group related ideas into themed series concepts where it adds momentum.\n6. Push past the obvious first few; the early ideas are usually the generic ones.\n\n## Output format\n\nReturn a list of ideas, each as a compact unit:\n\n- **Idea** — a specific, scroll-stopping title or concept.\n- **Angle** — the take or value that makes it worth doing.\n- **Hook** — a sample opening line or visual.\n- **Where** — recommended platform and format.\n\nWhere useful, add a short **Series concepts** section grouping ideas into themed runs, and a brief **Gaps** note on what the audience wants that isn't being made yet.\n","apps/desktop/electron/default-skills/image-generator/SKILL.md":"---\nname: image-generator\ndescription: Create custom images, graphics, and visual content using AI image generation.\n---\n\n# Image Generator\n\nAct as the art director who briefs the image model. The quality of an AI-generated image is mostly decided in the prompt — your job is to translate a vague request into a precise, vivid description that produces a publication-ready visual that fits the brand and the platform.\n\n## When to use this skill\n\nUse Image Generator to produce social graphics, blog hero images, thumbnails, illustrations, and other visual assets from a text description, including variations and style iterations. Lean on it whenever a task needs an image and there's no design team in the loop.\n\n## Anatomy of a strong image prompt\n\nBuild prompts deliberately rather than dumping adjectives. Cover:\n\n- **Subject** — what's in frame, concretely (people, objects, setting, action).\n- **Composition** — framing, angle, focal point, negative space for text overlays.\n- **Style** — photographic / illustration / 3D / flat / collage, plus any reference aesthetic.\n- **Lighting & color** — mood and palette, ideally anchored to brand colors.\n- **Detail & mood** — texture, atmosphere, the feeling it should evoke.\n- **Technical** — aspect ratio and resolution for the target platform.\n\nBe specific where it matters and silent where it doesn't — over-constraining can produce stiff results. Avoid contradictory instructions.\n\n## Platform and brand fit\n\n- Match the aspect ratio to the destination (square/portrait for feed, 16:9 for hero/thumbnail, story dimensions for vertical).\n- Hold brand consistency across a set: same palette, lighting register, and stylistic treatment so assets read as a family.\n- Leave room for overlaid copy when the image will carry text.\n\n## How to work\n\n1. Clarify the use case, platform, aspect ratio, and any brand/style guidance.\n2. Compose a detailed prompt covering the anatomy above.\n3. Offer variations that change a meaningful axis (composition, palette, or style), not trivial reworks.\n4. If a result would miss the brief, adjust the prompt and explain the change.\n\n## Output format\n\nReturn the generated image(s) when generation is available; otherwise return the finished, ready-to-use prompt(s). For each, include the aspect ratio/platform it targets and a one-line note on the creative choice. When delivering variations, label each by the axis it explores.\n","apps/desktop/electron/default-skills/email-writer/SKILL.md":"# email-writer\n\nPath: `apps/desktop/electron/default-skills/email-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/email-writer/SKILL.md)","apps/desktop/electron/default-skills/data-analyst/SKILL.md":"# data-analyst\n\nPath: `apps/desktop/electron/default-skills/data-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/data-analyst/SKILL.md)","apps/desktop/electron/default-skills/content-writer/SKILL.md":"# content-writer\n\nPath: `apps/desktop/electron/default-skills/content-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-writer/SKILL.md)","apps/desktop/electron/default-skills/content-planner/SKILL.md":"# content-planner\n\nPath: `apps/desktop/electron/default-skills/content-planner/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-planner/SKILL.md)","apps/desktop/electron/default-skills/audience-analyst/SKILL.md":"# audience-analyst\n\nPath: `apps/desktop/electron/default-skills/audience-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/audience-analyst/SKILL.md)","runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md":"# stop-slop\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md)","runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md":"# skill-installer\n\nPath: `runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md)","runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md":"# skill-creator\n\nPath: `runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md)","runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md":"# mcp-configurator\n\nPath: `runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md)","runtime/harnesses/src/embedded-skills/interface-design/SKILL.md":"# interface-design\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/SKILL.md)","runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md":"# frontend-design\n\nPath: `runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md)","runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md":"# customize-capability\n\nPath: `runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md)","runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md":"# capability-creator\n\nPath: `runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md)","runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md":"# build-dashboard\n\nPath: `runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md)","runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md":"# browser-qa\n\nPath: `runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md)","runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md":"# browser-core-efficient\n\nPath: `runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md)","runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md":"# app-builder-sdk\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md)","runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md":"# linkedin-post\n\nPath: `runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md)","runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md":"# repurpose-content\n\nPath: `runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md)","runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md":"# competitor-analysis\n\nPath: `runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md)","AGENTS.md":"# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/AGENTS.md)","CLAUDE.md":"# Claude Agent Guidelines & System Prompt\n\nPath: `CLAUDE.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/CLAUDE.md)","packages/RELEASING.md":"# Packages Skill\n\nPath: `packages/RELEASING.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/RELEASING.md)","packages/editor/package.json":"# Editor Skill\n\nPath: `packages/editor/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/package.json)","packages/editor/README.md":"# editor Documentation\n\nPath: `packages/editor/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/README.md)","packages/editor/tsconfig.json":"# Editor Skill\n\nPath: `packages/editor/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/tsconfig.json)","packages/app-sdk/package.json":"# App-sdk Skill\n\nPath: `packages/app-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/package.json)","packages/app-sdk/README.md":"# app-sdk Documentation\n\nPath: `packages/app-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/README.md)","packages/app-sdk/tsconfig.json":"# App-sdk Skill\n\nPath: `packages/app-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/tsconfig.json)","packages/app-host/package.json":"# App-host Skill\n\nPath: `packages/app-host/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/package.json)","packages/app-host/README.md":"# app-host Documentation\n\nPath: `packages/app-host/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/README.md)","packages/app-host/tsconfig.json":"# App-host Skill\n\nPath: `packages/app-host/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/tsconfig.json)","packages/app-builder-sdk/package.json":"# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/package.json)","packages/app-builder-sdk/README.md":"# app-builder-sdk Documentation\n\nPath: `packages/app-builder-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/README.md)","packages/app-builder-sdk/tsconfig.json":"# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/tsconfig.json)","packages/remote-api/package.json":"# Remote-api Skill\n\nPath: `packages/remote-api/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/package.json)","packages/remote-api/README.md":"# remote-api Documentation\n\nPath: `packages/remote-api/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/README.md)","packages/remote-api/tsconfig.json":"# Remote-api Skill\n\nPath: `packages/remote-api/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/tsconfig.json)","packages/runtime-client/package.json":"# Runtime-client Skill\n\nPath: `packages/runtime-client/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/package.json)","packages/runtime-client/README.md":"# runtime-client Documentation\n\nPath: `packages/runtime-client/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/README.md)","packages/runtime-client/tsconfig.json":"# Runtime-client Skill\n\nPath: `packages/runtime-client/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/tsconfig.json)","packages/tsconfig/base.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/base.json)","packages/tsconfig/dom.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/dom.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/dom.json)","packages/tsconfig/node.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/node.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/node.json)","packages/tsconfig/package.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/package.json)","packages/ui/package.json":"# Ui Skill\n\nPath: `packages/ui/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/package.json)","packages/ui/README.md":"# ui Documentation\n\nPath: `packages/ui/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/README.md)","packages/ui/tsconfig.json":"# Ui Skill\n\nPath: `packages/ui/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/tsconfig.json)","packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml":"# Slack-messaging Skill\n\nPath: `packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml)","packages/app-builder-sdk/reference/post-analytics/README.md":"# post-analytics Documentation\n\nPath: `packages/app-builder-sdk/reference/post-analytics/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/README.md)","packages/app-builder-sdk/reference/messaging-dashboard/README.md":"# messaging-dashboard Documentation\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/README.md)","packages/app-builder-sdk/reference/engagement-inbox/README.md":"# engagement-inbox Documentation\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/README.md)","packages/app-builder-sdk/reference/content-calendar/README.md":"# content-calendar Documentation\n\nPath: `packages/app-builder-sdk/reference/content-calendar/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/README.md)","packages/app-builder-sdk/reference/post-analytics/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/package.json)","packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json)","packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json)","packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json)","packages/app-builder-sdk/reference/engagement-inbox/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/package.json)","packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json)","packages/app-builder-sdk/reference/content-calendar/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/package.json)","packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json)","runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md)","runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md)","runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md)","runtime/harnesses/src/embedded-skills/interface-design/references/critique.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/critique.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/critique.md)","runtime/harnesses/src/embedded-skills/interface-design/references/example.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/example.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/example.md)","runtime/harnesses/src/embedded-skills/interface-design/references/principles.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/principles.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/principles.md)","runtime/harnesses/src/embedded-skills/interface-design/references/validation.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/validation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/validation.md)","runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md)","runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md)"},"files":{"apps/desktop/electron/default-skills/summarizer/SKILL.md":"---\nname: summarizer\ndescription: Condense long articles, reports, and documents into clear, concise summaries.\n---\n\n# Summarizer\n\nSummarize like an analyst writing for someone who won't read the original: capture everything that matters, drop everything that doesn't, and never let the compression distort the meaning. A good summary saves the reader time without costing them accuracy.\n\n## When to use this skill\n\nUse Summarizer to condense long inputs — articles, reports, research papers, transcripts, threads — into something faster to consume, at whatever depth the reader needs. If the task is to translate, retone, or rewrite for publication, use the relevant writing skill instead.\n\n## Principles of a faithful summary\n\n- **Fidelity first.** Never drop a critical point, caveat, number, or conclusion just to be shorter. Accuracy outranks brevity.\n- **Lead with the conclusion.** Put the main takeaway up top; don't make the reader reconstruct it.\n- **Preserve nuance.** Keep important qualifications, disagreements, and uncertainty — flattening them is a form of distortion.\n- **Stay neutral.** Represent the source's position; don't inject your own opinion or invent detail not present in the text.\n- **Cut redundancy, not substance.** Remove repetition, examples, and filler — keep the load-bearing ideas.\n\n## Match the format to the need\n\nCalibrate depth and shape to the request:\n\n- **One-liner / TL;DR** — the single most important point.\n- **Bullet points** — discrete key takeaways, good for scanning.\n- **Narrative** — a short flowing paragraph that preserves the argument's logic.\n- **Action items** — when the source implies decisions or next steps, extract them explicitly.\n\nIf the desired length or format isn't specified, pick a sensible default and state the level of detail you chose.\n\n## How to work\n\n1. Read the full input and identify its thesis, main supporting points, and any conclusions or action items.\n2. Decide the right length and format for the reader's need.\n3. Draft the summary leading with the takeaway, then the key points in order of importance.\n4. Re-check against the source to confirm nothing critical was lost or misstated.\n\n## Output format\n\nReturn the summary in the requested format, takeaway first. For longer or multi-topic sources, group points under brief headers. When the source contains decisions or to-dos, list them as explicit action items. Note the detail level you targeted if it wasn't specified.\n","apps/desktop/electron/default-skills/video-generator/SKILL.md":"---\nname: video-generator\ndescription: Create short videos and motion clips from a text description using AI video generation.\n---\n\n# Video Generator\n\nAct as the director who briefs the video model. A video prompt has to carry everything a still image does *plus* time — what moves, how the camera behaves, and what changes between the first frame and the last. Your job is to turn a one-line request into a shot that reads as deliberate rather than as a wobbling still.\n\n## When to use this skill\n\nUse Video Generator for short social clips, product motion, b-roll, animated backgrounds, and any request that names a video, clip, animation, or motion. Reach for it whenever the deliverable moves.\n\n## Anatomy of a strong video prompt\n\nBuild the shot deliberately rather than describing a picture and hoping it animates. Cover:\n\n- **Subject** — who or what is in frame, concretely, including how it is framed at the start.\n- **Motion** — what the subject actually does, as one continuous action. One clear action beats three vague ones.\n- **Camera** — static, pan, tilt, dolly in/out, tracking, orbit. Name it; \"cinematic\" is not a camera move.\n- **Setting & lighting** — where this happens and how it is lit, including time of day.\n- **Style & mood** — live-action / 3D / anime / stop-motion, plus the feeling and pacing.\n- **Duration fit** — what can plausibly complete in the clip's length. A four-second shot holds one beat, not a sequence.\n\nBe specific where it matters and silent where it doesn't. Contradictory motion (a static camera that also orbits) is the most common cause of a smeared result.\n\n## Working within the clip's length\n\n- Short clips (4–6s): one subject, one action, one camera move.\n- Longer clips (8–12s): a single action that develops — an approach, a reveal, a turn — not a cut between scenes.\n- Never ask for cuts, scene changes, or on-screen text; generate separate clips and assemble them instead.\n\n## How to work\n\n1. Clarify the subject, the motion, the camera, and the target platform's aspect ratio and length.\n2. Compose a prompt covering the anatomy above, in one paragraph.\n3. Generate, then judge the result against the brief before offering it — a clip that ignored the camera move is a prompt problem, not a taste problem.\n4. Offer variations that change a meaningful axis (camera, pacing, or lighting), not trivial reworks.\n\n## Output format\n\nReturn the generated clip when generation is available; otherwise return the finished, ready-to-use prompt. For each, note the aspect ratio and duration it targets and one line on the directorial choice. When delivering variations, label each by the axis it explores.\n","apps/desktop/electron/default-skills/tone-adapter/SKILL.md":"---\nname: tone-adapter\ndescription: Transform content tone to match any audience — professional, casual, witty, or formal.\n---\n\n# Tone Adapter\n\nYou are a tone specialist. Your job is to change *how* something sounds without changing *what* it says. The reader should get the same facts, the same conclusions, and the same calls to action — just delivered in a register that fits the new context.\n\n## When to use this skill\n\nUse Tone Adapter when the substance is already right but the voice is wrong for the audience or channel: making a stiff internal memo sound human, adding authority to a casual draft, softening a blunt rejection, or making marketing copy more playful. If the content itself needs new ideas or restructuring, that's a job for Content Writer instead.\n\n## Preserve meaning first\n\nThe cardinal rule: never lose or distort information during a tone shift. Specifically keep intact:\n\n- All facts, figures, names, dates, and commitments.\n- The logical order of the argument and every conclusion.\n- Any call to action and its urgency level.\n- Caveats, conditions, and legal/compliance phrasing — paraphrase carefully, never drop.\n\nIf a tone request would force you to soften something that shouldn't be softened (a hard deadline, a refund policy), keep the substance and flag the tension.\n\n## The tone palette\n\nCalibrate along a few axes rather than guessing:\n\n- **Formal ↔ casual** — contractions, sentence length, slang, salutations.\n- **Warm ↔ neutral ↔ authoritative** — hedging vs. directness, first/second person.\n- **Witty ↔ earnest** — wordplay and humor vs. straight delivery (use wit sparingly; it ages badly and can undercut credibility).\n\nWhen the user only names an audience (\"for executives,\" \"for Gen Z on TikTok\") and not a tone, recommend the tone you'd choose and why before rewriting.\n\n## How to work\n\n1. Read the source and identify its current tone and the load-bearing content that must survive.\n2. Apply the target tone consistently — vocabulary, sentence rhythm, and formality should all move together, not just a swapped word here and there.\n3. Re-read against the original to confirm no fact or commitment changed.\n\nFor batch jobs, apply the same target tone uniformly across every piece and keep formatting parallel.\n\n## Output format\n\nReturn the rewritten text only, ready to use. If you recommended a tone or had to preserve something against the requested direction, add one short note after the rewrite. When given multiple pieces, return each clearly separated and in the same order received.\n","apps/desktop/electron/default-skills/prd-writer/SKILL.md":"---\nname: prd-writer\ndescription: Turn a feature idea into a clear PRD — problem, users, requirements, and success metrics.\n---\n\n# Product Spec\n\nWrite the spec that gets a team building the right thing. A good PRD isn't a feature list — it's a shared understanding of the problem, who has it, what \"done\" means, and how you'll know it worked. It closes the gaps where projects usually go sideways.\n\n## When to use this skill\n\nUse Product Spec to turn a feature idea, request, or rough notes into a product requirements document (PRD) or one-pager. For client-facing scope and pricing use Proposal Writer; for meeting recaps use Meeting Notes.\n\n## What a PRD needs to answer\n\n- **Problem** — what user pain or business need this addresses, and why now. If you can't state the problem, the feature isn't ready.\n- **Users & context** — who it's for and the situation they're in when they hit this.\n- **Goals & non-goals** — what this explicitly will and won't do. Non-goals prevent scope creep as much as goals drive it.\n- **Requirements** — the behavior, written so an engineer and a designer read them the same way. Separate must-haves from nice-to-haves.\n- **Success metrics** — how you'll measure whether it worked.\n- **Open questions & risks** — the unknowns, surfaced rather than buried.\n\n## Principles\n\n- **Problem before solution.** Anchor on the user's pain; a solution with no stated problem is a guess.\n- **Unambiguous requirements.** If a requirement can be read two ways, pick one and make it explicit.\n- **Right altitude.** Enough detail to build confidently, not so much that it dictates implementation. State intent and constraints; leave the \"how\" to the builders where you can.\n- **Name the unknowns.** List open questions instead of pretending certainty.\n\n## How to work\n\n1. Pin down the problem and the user before anything else.\n2. Set goals and non-goals; they bound everything after.\n3. Write requirements grouped by priority (must / should / could), each testable.\n4. Add success metrics, then list risks and open questions honestly.\n\n## Output format\n\nA structured doc: **Summary**, **Problem**, **Users & Context**, **Goals / Non-goals**, **Requirements** (prioritized), **Success Metrics**, **Risks & Open Questions**. Keep it as short as the problem allows.\n","apps/desktop/electron/default-skills/web-researcher/SKILL.md":"---\nname: web-researcher\ndescription: Research topics across the web and compile structured insights for content creation.\n---\n\n# Web Researcher\n\nWork like a desk researcher feeding a content team: gather what's true and relevant from the open web, verify it against more than one source, and hand back something structured enough to write from immediately.\n\n## When to use this skill\n\nUse Web Researcher when a task needs current, sourced information from outside the model's knowledge: backing a claim with data, surveying what's been published on a topic, finding statistics and quotes, or scoping the angles a piece of content could take. If the goal is to spot what's *rising* rather than what's *known*, hand off to Trend Spotter.\n\n## Research principles\n\n- **Corroborate before you report.** Treat a single source as a lead, not a fact. Cross-reference at least two independent sources for any significant claim, especially numbers.\n- **Prefer primary and authoritative sources** — original studies, official data, the company's own docs — over aggregators and SEO content that recycle each other.\n- **Mind recency.** Note publication dates; flag when the best available data is old or when a topic is moving fast.\n- **Separate fact from framing.** Distinguish what a source reports from how it spins it.\n\n## How to approach a research task\n\n1. Restate the question and break it into the specific sub-questions you need to answer.\n2. Search broadly, then narrow: identify the strongest sources rather than the first ones.\n3. For each key finding, capture the claim, the supporting source(s), and any caveat.\n4. Pull out the reusable raw material: key statistics, direct quotes, and concrete examples.\n5. Surface the angles — the distinct perspectives or framings the content could take.\n6. Explicitly flag anything you couldn't verify or where sources disagree.\n\n## Output format\n\nDeliver a structured research brief, not a wall of links. A useful default:\n\n- **Summary** — 3-5 sentences answering the question.\n- **Key findings** — bulleted, each with its supporting source.\n- **Stats & quotes** — pull-ready figures and quotations with attribution.\n- **Angles** — distinct ways to frame content from this research.\n- **Gaps & caveats** — what's unverified, contested, or out of date.\n- **Sources** — every source cited, linked.\n\nAlways cite. Never present an unverified claim as settled fact.\n","apps/desktop/electron/default-skills/trend-spotter/SKILL.md":"---\nname: trend-spotter\ndescription: Identify emerging trends and viral topics relevant to your niche before they peak.\n---\n\n# Trend Spotter\n\nThink like an editor with a finger on the pulse: your value is catching a rising topic while it's still climbing, not reporting one that already peaked. The goal is timing and actionable angles, not a list of yesterday's news.\n\n## When to use this skill\n\nUse Trend Spotter to find what's gaining momentum in a specific niche: emerging topics, accelerating hashtags, formats catching on, conversations starting to spike. If the task is to deeply research an already-established topic, use Web Researcher; if it's to turn signals into a slate of content concepts, hand off to Idea Generator.\n\n## What a real signal looks like\n\nDistinguish a trend from noise and from a fad:\n\n- **Velocity over volume** — a topic accelerating from a small base is more actionable than one already huge and plateauing.\n- **Cross-surface confirmation** — the same theme appearing across multiple communities, platforms, or creators is a stronger signal than one viral post.\n- **Relevance to the niche** — a trend only matters if this audience can authentically join the conversation.\n- **Runway** — estimate how much time is left before saturation; an early signal is worth more than one at its peak.\n\nBe honest when something is a flash in the pan or already over — recommending a dead trend wastes the user's effort.\n\n## How to approach it\n\n1. Confirm the niche and audience so you filter for relevance, not just popularity.\n2. Scan for rising topics, hashtags, formats, and questions; look at direction of change, not just current size.\n3. For each candidate, assess velocity, where it's showing up, and how much runway remains.\n4. Translate each trend into a concrete way *this* brand could participate, with a sense of timing.\n\n## Output format\n\nReturn a ranked shortlist of trends, strongest opportunity first. For each:\n\n- **Trend** — what it is, in one line.\n- **Signal** — why you believe it's rising (velocity, where it's appearing).\n- **Timing** — early / climbing / near-peak, and how long the window likely stays open.\n- **Content angle** — a specific, on-brand way to act on it now.\n\nLead with timing-sensitive opportunities. Note clearly when a candidate is speculative or already cresting.\n","apps/desktop/electron/default-skills/translator/SKILL.md":"---\nname: translator\ndescription: Translate content across languages while preserving brand voice and cultural nuance.\n---\n\n# Translator\n\nTranslate like a localization professional, not a dictionary. A good translation reads as if it were originally written in the target language for that audience — the idioms land, the tone matches, and the brand still sounds like itself.\n\n## When to use this skill\n\nUse Translator to move content between languages while keeping it natural and on-brand: marketing copy, product UI strings, social posts, support replies, documentation. The skill handles 50+ languages and is built for localization, not just literal conversion.\n\n## Localize, don't transliterate\n\nThe difference between translation and localization is where the value is:\n\n- **Idioms and metaphors** — replace with an equivalent that carries the same feeling, never a word-for-word rendering that reads as nonsense.\n- **Cultural references** — swap or explain references that won't travel (holidays, sports, pop culture, regional examples).\n- **Formality and address** — choose the right register (e.g., tú/usted, T-V distinctions, honorifics) for the audience and brand.\n- **Units, dates, currency, names** — convert to local conventions unless the source must stay verbatim.\n- **Brand voice** — keep the personality consistent across languages; a playful brand stays playful in every locale.\n\n## Respect platform constraints\n\nWhen the target has limits (tweet length, button labels, push notifications, UI fields), keep the translation within them. Languages expand and contract — German and Finnish often run long, CJK often runs short — so rework phrasing to fit rather than truncating mid-thought.\n\n## How to work\n\n1. Confirm the source and target languages and, where it matters, the regional variant (e.g., es-MX vs. es-ES, pt-BR vs. pt-PT).\n2. Translate for meaning and intent first, then adjust for tone and cultural fit.\n3. Preserve placeholders, variables, and markup (`{name}`, `%s`, HTML tags) exactly.\n4. Flag anything genuinely ambiguous or untranslatable rather than guessing silently.\n\n## Output format\n\nReturn the translated text ready to ship, preserving the original structure and any markup. If you made a localization choice worth knowing about (a swapped idiom, a chosen regional variant, a length adaptation), add a brief translator's note after the text. For glossary or terminology decisions, keep them consistent across the whole piece.\n","apps/desktop/electron/default-skills/meeting-notes/SKILL.md":"---\nname: meeting-notes\ndescription: Turn raw notes or a transcript into a clean summary with decisions and action items.\n---\n\n# Meeting Notes\n\nTurn the mess of a meeting — half-sentences, tangents, crosstalk — into a record someone who wasn't there can act on. The value isn't a transcript; it's the decisions, the owners, and the next steps, pulled out and made unambiguous.\n\n## When to use this skill\n\nUse Meeting Notes on raw notes, a rough transcript, or a recording summary to produce a structured recap: what was decided, who owns what, and what's still open. If the goal is to condense an article or report rather than a discussion, use Summarizer instead.\n\n## What a good recap captures\n\n- **Decisions** — what the group actually agreed, stated plainly. Distinguish a decision from a suggestion that went nowhere.\n- **Action items** — each with an owner and, where stated, a due date. An action with no owner is a wish; assign it or flag it as unassigned.\n- **Open questions** — things raised but not resolved, so they don't quietly vanish.\n- **Context** — just enough of the \"why\" that a decision doesn't read as arbitrary later.\n\n## Principles\n\n- **Signal over transcript.** Don't replay the conversation — extract what matters and drop the rest.\n- **Attribute carefully.** Only assign an owner or a decision if the input actually supports it. If it's ambiguous, mark it \"unassigned\" or \"unconfirmed\" rather than guessing.\n- **Never invent.** If a date, owner, or decision wasn't stated, say so. Fabricated specifics are worse than an honest gap.\n- **Neutral voice.** Record what was said, not your opinion of it.\n\n## How to work\n\n1. Read the full input and separate discussion from outcomes.\n2. Pull out decisions, then action items (owner + due date where given), then open questions.\n3. Write a two-to-three sentence summary at the top so a skimmer gets the gist.\n4. Re-check every owner, date, and decision against the source; flag anything you had to infer.\n\n## Output format\n\nLead with a short **Summary**, then **Decisions**, **Action items** (as a checklist with owners), and **Open questions**. Omit any section that genuinely has nothing in it rather than padding it.\n","apps/desktop/electron/default-skills/proposal-writer/SKILL.md":"---\nname: proposal-writer\ndescription: Draft client proposals and statements of work that scope, price, and win the project.\n---\n\n# Proposal Writer\n\nWrite the proposal that gets signed. A proposal isn't a description of work — it's an argument that you understand the client's problem, that your approach solves it, and that the price is worth it. Structure and specificity do the persuading.\n\n## When to use this skill\n\nUse Proposal Writer to draft a client proposal, statement of work (SOW), or project scope from a brief, discovery notes, or a rough outline. For internal product specs use the PRD skill; for marketing copy use Copywriting.\n\n## What a strong proposal contains\n\n- **Problem restated** — show you heard them. Frame the pain in their words before you pitch anything.\n- **Approach** — how you'll solve it, at a level that builds confidence without drowning them in method.\n- **Scope** — deliverables spelled out, plus an explicit \"out of scope\" so expectations don't drift.\n- **Timeline** — phases or milestones with rough dates.\n- **Pricing** — clear structure (fixed, phased, or retainer); tie it to value, not just hours.\n- **Next step** — one obvious action to move forward.\n\n## Principles\n\n- **Specific beats grand.** Concrete deliverables and milestones win over adjectives.\n- **Scope is a boundary, not a wish list.** State what's included *and* what isn't — the \"out of scope\" line prevents the disputes that kill projects.\n- **Don't invent commitments.** If a price, date, or deliverable wasn't provided, use a clear placeholder and flag it for the user to confirm — never fabricate a number.\n- **Write to the decision-maker.** Lead with outcomes and value; keep method where it reassures, not where it stalls.\n\n## How to work\n\n1. Extract the client's problem, goals, and any constraints from the brief.\n2. Draft the approach and break it into concrete deliverables and phases.\n3. Lay out scope (in and out), timeline, and a pricing structure — flag anything you had to assume.\n4. Close with a single clear next step.\n\n## Output format\n\nA structured document: **Overview / Problem**, **Approach**, **Scope & Deliverables**, **Out of Scope**, **Timeline**, **Investment/Pricing**, **Next Steps**. Mark every assumed number or date so the user can confirm before sending.\n","apps/desktop/electron/default-skills/performance-reporter/SKILL.md":"---\nname: performance-reporter\ndescription: Generate comprehensive performance reports with insights and actionable recommendations.\n---\n\n# Performance Reporter\n\nReport like an analyst the team actually wants to hear from: turn raw metrics into a short narrative that says what happened, why it matters, and what to do next. Numbers are evidence; the insight is the product.\n\n## When to use this skill\n\nUse Performance Reporter to interpret social/content metrics over time: engagement, reach, growth, and platform comparisons, rolled into a readable report with recommendations. If the task is profiling *who* the audience is, use Audience Analyst instead.\n\n## Reporting principles\n\n- **Always compare.** A number alone is meaningless. Anchor every metric against a prior period, a benchmark, or another platform so the reader knows if it's good or bad.\n- **Explain the why.** Don't just say engagement rose 18% — point to the content or change that likely drove it.\n- **Find the pattern.** Identify what the top-performing content has in common, and what the underperformers share.\n- **Separate signal from noise.** Distinguish a real trend from normal week-to-week variance; don't over-read a single spike.\n- **Recommend, don't just describe.** Every report ends with specific, data-backed next steps.\n\n## How to approach a report\n\n1. Confirm the metrics, the time range, the platforms, and the comparison baseline.\n2. Compute the movement on the key metrics (engagement, reach, growth) vs. the baseline.\n3. Identify top and bottom performers and what explains them.\n4. Compare across platforms and periods to find where to lean in and where to cut.\n5. Translate findings into 3-5 concrete recommendations, each tied to the data behind it.\n\nFlag data quality issues (missing days, platform changes, anomalies) rather than reporting on top of broken inputs.\n\n## Output format\n\nStructure the report for a busy reader:\n\n- **Executive summary** — 3-5 sentences: the headline result and the one thing to do about it.\n- **Key metrics** — each with its value, change vs. baseline, and a one-line read.\n- **What worked / what didn't** — top and bottom performers with the likely reason.\n- **Recommendations** — 3-5 specific actions, each backed by a finding above.\n\nLead with the summary. Keep tables tight and the prose tighter.\n","apps/desktop/electron/default-skills/idea-generator/SKILL.md":"---\nname: idea-generator\ndescription: Brainstorm creative content ideas tailored to your niche, audience, and goals.\n---\n\n# Idea Generator\n\nBrainstorm like a creative lead who never ships a blank list: every idea comes with an angle, a hook, and a home. The goal is fresh, relevant, *usable* concepts the team can turn into real content — not generic prompts anyone could have guessed.\n\n## When to use this skill\n\nUse Idea Generator to produce content ideas tailored to a niche, audience, and goal: topics, series concepts, hooks, formats, and the gaps worth filling. If those ideas need scheduling into a calendar, hand off to Content Planner; if one needs writing, hand off to Content Writer; if you need to know what's currently rising, pull from Trend Spotter first.\n\n## What makes an idea worth keeping\n\n- **Relevant** — it fits the niche and the audience's actual interests, not just what's broadly popular.\n- **Specific** — \"5 mistakes first-time X buyers make\" beats \"tips about X.\" Specificity is what makes an idea feel real.\n- **Angled** — it has a point of view or a fresh take, not a topic everyone already covered the same way.\n- **Hooked** — there's an opening line or visual that earns attention in the first second.\n- **Placed** — it suggests where it lives (platform and format), because the same idea plays differently as a thread, a Reel, or a long-form post.\n\n## How to generate\n\n1. Confirm the niche, audience, goal, and any voice or constraints.\n2. Pull on multiple sources of inspiration: audience pain points and questions, current trends, competitor gaps, evergreen pillars, and timely events.\n3. Look for content gaps — what this brand *isn't* covering that its audience wants.\n4. For each idea, attach an angle, a hook, and a recommended platform/format.\n5. Group related ideas into themed series concepts where it adds momentum.\n6. Push past the obvious first few; the early ideas are usually the generic ones.\n\n## Output format\n\nReturn a list of ideas, each as a compact unit:\n\n- **Idea** — a specific, scroll-stopping title or concept.\n- **Angle** — the take or value that makes it worth doing.\n- **Hook** — a sample opening line or visual.\n- **Where** — recommended platform and format.\n\nWhere useful, add a short **Series concepts** section grouping ideas into themed runs, and a brief **Gaps** note on what the audience wants that isn't being made yet.\n","apps/desktop/electron/default-skills/image-generator/SKILL.md":"---\nname: image-generator\ndescription: Create custom images, graphics, and visual content using AI image generation.\n---\n\n# Image Generator\n\nAct as the art director who briefs the image model. The quality of an AI-generated image is mostly decided in the prompt — your job is to translate a vague request into a precise, vivid description that produces a publication-ready visual that fits the brand and the platform.\n\n## When to use this skill\n\nUse Image Generator to produce social graphics, blog hero images, thumbnails, illustrations, and other visual assets from a text description, including variations and style iterations. Lean on it whenever a task needs an image and there's no design team in the loop.\n\n## Anatomy of a strong image prompt\n\nBuild prompts deliberately rather than dumping adjectives. Cover:\n\n- **Subject** — what's in frame, concretely (people, objects, setting, action).\n- **Composition** — framing, angle, focal point, negative space for text overlays.\n- **Style** — photographic / illustration / 3D / flat / collage, plus any reference aesthetic.\n- **Lighting & color** — mood and palette, ideally anchored to brand colors.\n- **Detail & mood** — texture, atmosphere, the feeling it should evoke.\n- **Technical** — aspect ratio and resolution for the target platform.\n\nBe specific where it matters and silent where it doesn't — over-constraining can produce stiff results. Avoid contradictory instructions.\n\n## Platform and brand fit\n\n- Match the aspect ratio to the destination (square/portrait for feed, 16:9 for hero/thumbnail, story dimensions for vertical).\n- Hold brand consistency across a set: same palette, lighting register, and stylistic treatment so assets read as a family.\n- Leave room for overlaid copy when the image will carry text.\n\n## How to work\n\n1. Clarify the use case, platform, aspect ratio, and any brand/style guidance.\n2. Compose a detailed prompt covering the anatomy above.\n3. Offer variations that change a meaningful axis (composition, palette, or style), not trivial reworks.\n4. If a result would miss the brief, adjust the prompt and explain the change.\n\n## Output format\n\nReturn the generated image(s) when generation is available; otherwise return the finished, ready-to-use prompt(s). For each, include the aspect ratio/platform it targets and a one-line note on the creative choice. When delivering variations, label each by the axis it explores.\n","apps/desktop/electron/default-skills/email-writer/SKILL.md":"# email-writer\n\nPath: `apps/desktop/electron/default-skills/email-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/email-writer/SKILL.md)","apps/desktop/electron/default-skills/data-analyst/SKILL.md":"# data-analyst\n\nPath: `apps/desktop/electron/default-skills/data-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/data-analyst/SKILL.md)","apps/desktop/electron/default-skills/content-writer/SKILL.md":"# content-writer\n\nPath: `apps/desktop/electron/default-skills/content-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-writer/SKILL.md)","apps/desktop/electron/default-skills/content-planner/SKILL.md":"# content-planner\n\nPath: `apps/desktop/electron/default-skills/content-planner/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-planner/SKILL.md)","apps/desktop/electron/default-skills/audience-analyst/SKILL.md":"# audience-analyst\n\nPath: `apps/desktop/electron/default-skills/audience-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/audience-analyst/SKILL.md)","runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md":"# stop-slop\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md)","runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md":"# skill-installer\n\nPath: `runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md)","runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md":"# skill-creator\n\nPath: `runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md)","runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md":"# mcp-configurator\n\nPath: `runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md)","runtime/harnesses/src/embedded-skills/interface-design/SKILL.md":"# interface-design\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/SKILL.md)","runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md":"# frontend-design\n\nPath: `runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md)","runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md":"# customize-capability\n\nPath: `runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md)","runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md":"# capability-creator\n\nPath: `runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md)","runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md":"# build-dashboard\n\nPath: `runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md)","runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md":"# browser-qa\n\nPath: `runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md)","runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md":"# browser-core-efficient\n\nPath: `runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md)","runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md":"# app-builder-sdk\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md)","runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md":"# linkedin-post\n\nPath: `runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md)","runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md":"# repurpose-content\n\nPath: `runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md)","runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md":"# competitor-analysis\n\nPath: `runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md)","AGENTS.md":"# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/AGENTS.md)","CLAUDE.md":"# Claude Agent Guidelines & System Prompt\n\nPath: `CLAUDE.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/CLAUDE.md)","packages/RELEASING.md":"# Packages Skill\n\nPath: `packages/RELEASING.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/RELEASING.md)","packages/editor/package.json":"# Editor Skill\n\nPath: `packages/editor/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/package.json)","packages/editor/README.md":"# editor Documentation\n\nPath: `packages/editor/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/README.md)","packages/editor/tsconfig.json":"# Editor Skill\n\nPath: `packages/editor/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/tsconfig.json)","packages/app-sdk/package.json":"# App-sdk Skill\n\nPath: `packages/app-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/package.json)","packages/app-sdk/README.md":"# app-sdk Documentation\n\nPath: `packages/app-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/README.md)","packages/app-sdk/tsconfig.json":"# App-sdk Skill\n\nPath: `packages/app-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/tsconfig.json)","packages/app-host/package.json":"# App-host Skill\n\nPath: `packages/app-host/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/package.json)","packages/app-host/README.md":"# app-host Documentation\n\nPath: `packages/app-host/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/README.md)","packages/app-host/tsconfig.json":"# App-host Skill\n\nPath: `packages/app-host/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/tsconfig.json)","packages/app-builder-sdk/package.json":"# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/package.json)","packages/app-builder-sdk/README.md":"# app-builder-sdk Documentation\n\nPath: `packages/app-builder-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/README.md)","packages/app-builder-sdk/tsconfig.json":"# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/tsconfig.json)","packages/remote-api/package.json":"# Remote-api Skill\n\nPath: `packages/remote-api/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/package.json)","packages/remote-api/README.md":"# remote-api Documentation\n\nPath: `packages/remote-api/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/README.md)","packages/remote-api/tsconfig.json":"# Remote-api Skill\n\nPath: `packages/remote-api/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/tsconfig.json)","packages/runtime-client/package.json":"# Runtime-client Skill\n\nPath: `packages/runtime-client/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/package.json)","packages/runtime-client/README.md":"# runtime-client Documentation\n\nPath: `packages/runtime-client/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/README.md)","packages/runtime-client/tsconfig.json":"# Runtime-client Skill\n\nPath: `packages/runtime-client/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/tsconfig.json)","packages/tsconfig/base.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/base.json)","packages/tsconfig/dom.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/dom.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/dom.json)","packages/tsconfig/node.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/node.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/node.json)","packages/tsconfig/package.json":"# Tsconfig Skill\n\nPath: `packages/tsconfig/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/package.json)","packages/ui/package.json":"# Ui Skill\n\nPath: `packages/ui/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/package.json)","packages/ui/README.md":"# ui Documentation\n\nPath: `packages/ui/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/README.md)","packages/ui/tsconfig.json":"# Ui Skill\n\nPath: `packages/ui/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/tsconfig.json)","packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml":"# Slack-messaging Skill\n\nPath: `packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml)","packages/app-builder-sdk/reference/post-analytics/README.md":"# post-analytics Documentation\n\nPath: `packages/app-builder-sdk/reference/post-analytics/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/README.md)","packages/app-builder-sdk/reference/messaging-dashboard/README.md":"# messaging-dashboard Documentation\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/README.md)","packages/app-builder-sdk/reference/engagement-inbox/README.md":"# engagement-inbox Documentation\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/README.md)","packages/app-builder-sdk/reference/content-calendar/README.md":"# content-calendar Documentation\n\nPath: `packages/app-builder-sdk/reference/content-calendar/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/README.md)","packages/app-builder-sdk/reference/post-analytics/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/package.json)","packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json)","packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json)","packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json)","packages/app-builder-sdk/reference/engagement-inbox/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/package.json)","packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json)","packages/app-builder-sdk/reference/content-calendar/playground/package.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/package.json)","packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json)","runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md)","runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md)","runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md)","runtime/harnesses/src/embedded-skills/interface-design/references/critique.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/critique.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/critique.md)","runtime/harnesses/src/embedded-skills/interface-design/references/example.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/example.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/example.md)","runtime/harnesses/src/embedded-skills/interface-design/references/principles.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/principles.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/principles.md)","runtime/harnesses/src/embedded-skills/interface-design/references/validation.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/validation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/validation.md)","runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md)","runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/AGENTS.md)","tokens":300,"sizeBytes":152},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/audience-analyst/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/audience-analyst/SKILL.md","title":"audience-analyst","category":"anthropic-skill","format":"markdown","content":"# audience-analyst\n\nPath: `apps/desktop/electron/default-skills/audience-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/audience-analyst/SKILL.md)","tokens":300,"sizeBytes":242},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/content-planner/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-planner/SKILL.md","title":"content-planner","category":"anthropic-skill","format":"markdown","content":"# content-planner\n\nPath: `apps/desktop/electron/default-skills/content-planner/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-planner/SKILL.md)","tokens":300,"sizeBytes":239},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/content-writer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-writer/SKILL.md","title":"content-writer","category":"anthropic-skill","format":"markdown","content":"# content-writer\n\nPath: `apps/desktop/electron/default-skills/content-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-writer/SKILL.md)","tokens":300,"sizeBytes":236},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/data-analyst/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/data-analyst/SKILL.md","title":"data-analyst","category":"anthropic-skill","format":"markdown","content":"# data-analyst\n\nPath: `apps/desktop/electron/default-skills/data-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/data-analyst/SKILL.md)","tokens":300,"sizeBytes":230},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/email-writer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/email-writer/SKILL.md","title":"email-writer","category":"anthropic-skill","format":"markdown","content":"# email-writer\n\nPath: `apps/desktop/electron/default-skills/email-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/email-writer/SKILL.md)","tokens":300,"sizeBytes":230},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/idea-generator/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/idea-generator/SKILL.md","title":"idea-generator","category":"anthropic-skill","format":"markdown","content":"---\nname: idea-generator\ndescription: Brainstorm creative content ideas tailored to your niche, audience, and goals.\n---\n\n# Idea Generator\n\nBrainstorm like a creative lead who never ships a blank list: every idea comes with an angle, a hook, and a home. The goal is fresh, relevant, *usable* concepts the team can turn into real content — not generic prompts anyone could have guessed.\n\n## When to use this skill\n\nUse Idea Generator to produce content ideas tailored to a niche, audience, and goal: topics, series concepts, hooks, formats, and the gaps worth filling. If those ideas need scheduling into a calendar, hand off to Content Planner; if one needs writing, hand off to Content Writer; if you need to know what's currently rising, pull from Trend Spotter first.\n\n## What makes an idea worth keeping\n\n- **Relevant** — it fits the niche and the audience's actual interests, not just what's broadly popular.\n- **Specific** — \"5 mistakes first-time X buyers make\" beats \"tips about X.\" Specificity is what makes an idea feel real.\n- **Angled** — it has a point of view or a fresh take, not a topic everyone already covered the same way.\n- **Hooked** — there's an opening line or visual that earns attention in the first second.\n- **Placed** — it suggests where it lives (platform and format), because the same idea plays differently as a thread, a Reel, or a long-form post.\n\n## How to generate\n\n1. Confirm the niche, audience, goal, and any voice or constraints.\n2. Pull on multiple sources of inspiration: audience pain points and questions, current trends, competitor gaps, evergreen pillars, and timely events.\n3. Look for content gaps — what this brand *isn't* covering that its audience wants.\n4. For each idea, attach an angle, a hook, and a recommended platform/format.\n5. Group related ideas into themed series concepts where it adds momentum.\n6. Push past the obvious first few; the early ideas are usually the generic ones.\n\n## Output format\n\nReturn a list of ideas, each as a compact unit:\n\n- **Idea** — a specific, scroll-stopping title or concept.\n- **Angle** — the take or value that makes it worth doing.\n- **Hook** — a sample opening line or visual.\n- **Where** — recommended platform and format.\n\nWhere useful, add a short **Series concepts** section grouping ideas into themed runs, and a brief **Gaps** note on what the audience wants that isn't being made yet.\n","frontmatter":{"name":"idea-generator","description":"Brainstorm creative content ideas tailored to your niche, audience, and goals."},"isInternal":false,"tokens":538,"sizeBytes":2409},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/image-generator/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/image-generator/SKILL.md","title":"image-generator","category":"anthropic-skill","format":"markdown","content":"---\nname: image-generator\ndescription: Create custom images, graphics, and visual content using AI image generation.\n---\n\n# Image Generator\n\nAct as the art director who briefs the image model. The quality of an AI-generated image is mostly decided in the prompt — your job is to translate a vague request into a precise, vivid description that produces a publication-ready visual that fits the brand and the platform.\n\n## When to use this skill\n\nUse Image Generator to produce social graphics, blog hero images, thumbnails, illustrations, and other visual assets from a text description, including variations and style iterations. Lean on it whenever a task needs an image and there's no design team in the loop.\n\n## Anatomy of a strong image prompt\n\nBuild prompts deliberately rather than dumping adjectives. Cover:\n\n- **Subject** — what's in frame, concretely (people, objects, setting, action).\n- **Composition** — framing, angle, focal point, negative space for text overlays.\n- **Style** — photographic / illustration / 3D / flat / collage, plus any reference aesthetic.\n- **Lighting & color** — mood and palette, ideally anchored to brand colors.\n- **Detail & mood** — texture, atmosphere, the feeling it should evoke.\n- **Technical** — aspect ratio and resolution for the target platform.\n\nBe specific where it matters and silent where it doesn't — over-constraining can produce stiff results. Avoid contradictory instructions.\n\n## Platform and brand fit\n\n- Match the aspect ratio to the destination (square/portrait for feed, 16:9 for hero/thumbnail, story dimensions for vertical).\n- Hold brand consistency across a set: same palette, lighting register, and stylistic treatment so assets read as a family.\n- Leave room for overlaid copy when the image will carry text.\n\n## How to work\n\n1. Clarify the use case, platform, aspect ratio, and any brand/style guidance.\n2. Compose a detailed prompt covering the anatomy above.\n3. Offer variations that change a meaningful axis (composition, palette, or style), not trivial reworks.\n4. If a result would miss the brief, adjust the prompt and explain the change.\n\n## Output format\n\nReturn the generated image(s) when generation is available; otherwise return the finished, ready-to-use prompt(s). For each, include the aspect ratio/platform it targets and a one-line note on the creative choice. When delivering variations, label each by the axis it explores.\n","frontmatter":{"name":"image-generator","description":"Create custom images, graphics, and visual content using AI image generation."},"isInternal":false,"tokens":501,"sizeBytes":2428},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/meeting-notes/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/meeting-notes/SKILL.md","title":"meeting-notes","category":"anthropic-skill","format":"markdown","content":"---\nname: meeting-notes\ndescription: Turn raw notes or a transcript into a clean summary with decisions and action items.\n---\n\n# Meeting Notes\n\nTurn the mess of a meeting — half-sentences, tangents, crosstalk — into a record someone who wasn't there can act on. The value isn't a transcript; it's the decisions, the owners, and the next steps, pulled out and made unambiguous.\n\n## When to use this skill\n\nUse Meeting Notes on raw notes, a rough transcript, or a recording summary to produce a structured recap: what was decided, who owns what, and what's still open. If the goal is to condense an article or report rather than a discussion, use Summarizer instead.\n\n## What a good recap captures\n\n- **Decisions** — what the group actually agreed, stated plainly. Distinguish a decision from a suggestion that went nowhere.\n- **Action items** — each with an owner and, where stated, a due date. An action with no owner is a wish; assign it or flag it as unassigned.\n- **Open questions** — things raised but not resolved, so they don't quietly vanish.\n- **Context** — just enough of the \"why\" that a decision doesn't read as arbitrary later.\n\n## Principles\n\n- **Signal over transcript.** Don't replay the conversation — extract what matters and drop the rest.\n- **Attribute carefully.** Only assign an owner or a decision if the input actually supports it. If it's ambiguous, mark it \"unassigned\" or \"unconfirmed\" rather than guessing.\n- **Never invent.** If a date, owner, or decision wasn't stated, say so. Fabricated specifics are worse than an honest gap.\n- **Neutral voice.** Record what was said, not your opinion of it.\n\n## How to work\n\n1. Read the full input and separate discussion from outcomes.\n2. Pull out decisions, then action items (owner + due date where given), then open questions.\n3. Write a two-to-three sentence summary at the top so a skimmer gets the gist.\n4. Re-check every owner, date, and decision against the source; flag anything you had to infer.\n\n## Output format\n\nLead with a short **Summary**, then **Decisions**, **Action items** (as a checklist with owners), and **Open questions**. Omit any section that genuinely has nothing in it rather than padding it.\n","frontmatter":{"name":"meeting-notes","description":"Turn raw notes or a transcript into a clean summary with decisions and action items."},"isInternal":false,"tokens":502,"sizeBytes":2203},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/performance-reporter/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/performance-reporter/SKILL.md","title":"performance-reporter","category":"anthropic-skill","format":"markdown","content":"---\nname: performance-reporter\ndescription: Generate comprehensive performance reports with insights and actionable recommendations.\n---\n\n# Performance Reporter\n\nReport like an analyst the team actually wants to hear from: turn raw metrics into a short narrative that says what happened, why it matters, and what to do next. Numbers are evidence; the insight is the product.\n\n## When to use this skill\n\nUse Performance Reporter to interpret social/content metrics over time: engagement, reach, growth, and platform comparisons, rolled into a readable report with recommendations. If the task is profiling *who* the audience is, use Audience Analyst instead.\n\n## Reporting principles\n\n- **Always compare.** A number alone is meaningless. Anchor every metric against a prior period, a benchmark, or another platform so the reader knows if it's good or bad.\n- **Explain the why.** Don't just say engagement rose 18% — point to the content or change that likely drove it.\n- **Find the pattern.** Identify what the top-performing content has in common, and what the underperformers share.\n- **Separate signal from noise.** Distinguish a real trend from normal week-to-week variance; don't over-read a single spike.\n- **Recommend, don't just describe.** Every report ends with specific, data-backed next steps.\n\n## How to approach a report\n\n1. Confirm the metrics, the time range, the platforms, and the comparison baseline.\n2. Compute the movement on the key metrics (engagement, reach, growth) vs. the baseline.\n3. Identify top and bottom performers and what explains them.\n4. Compare across platforms and periods to find where to lean in and where to cut.\n5. Translate findings into 3-5 concrete recommendations, each tied to the data behind it.\n\nFlag data quality issues (missing days, platform changes, anomalies) rather than reporting on top of broken inputs.\n\n## Output format\n\nStructure the report for a busy reader:\n\n- **Executive summary** — 3-5 sentences: the headline result and the one thing to do about it.\n- **Key metrics** — each with its value, change vs. baseline, and a one-line read.\n- **What worked / what didn't** — top and bottom performers with the likely reason.\n- **Recommendations** — 3-5 specific actions, each backed by a finding above.\n\nLead with the summary. Keep tables tight and the prose tighter.\n","frontmatter":{"name":"performance-reporter","description":"Generate comprehensive performance reports with insights and actionable recommendations."},"isInternal":false,"tokens":496,"sizeBytes":2335},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/prd-writer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/prd-writer/SKILL.md","title":"prd-writer","category":"anthropic-skill","format":"markdown","content":"---\nname: prd-writer\ndescription: Turn a feature idea into a clear PRD — problem, users, requirements, and success metrics.\n---\n\n# Product Spec\n\nWrite the spec that gets a team building the right thing. A good PRD isn't a feature list — it's a shared understanding of the problem, who has it, what \"done\" means, and how you'll know it worked. It closes the gaps where projects usually go sideways.\n\n## When to use this skill\n\nUse Product Spec to turn a feature idea, request, or rough notes into a product requirements document (PRD) or one-pager. For client-facing scope and pricing use Proposal Writer; for meeting recaps use Meeting Notes.\n\n## What a PRD needs to answer\n\n- **Problem** — what user pain or business need this addresses, and why now. If you can't state the problem, the feature isn't ready.\n- **Users & context** — who it's for and the situation they're in when they hit this.\n- **Goals & non-goals** — what this explicitly will and won't do. Non-goals prevent scope creep as much as goals drive it.\n- **Requirements** — the behavior, written so an engineer and a designer read them the same way. Separate must-haves from nice-to-haves.\n- **Success metrics** — how you'll measure whether it worked.\n- **Open questions & risks** — the unknowns, surfaced rather than buried.\n\n## Principles\n\n- **Problem before solution.** Anchor on the user's pain; a solution with no stated problem is a guess.\n- **Unambiguous requirements.** If a requirement can be read two ways, pick one and make it explicit.\n- **Right altitude.** Enough detail to build confidently, not so much that it dictates implementation. State intent and constraints; leave the \"how\" to the builders where you can.\n- **Name the unknowns.** List open questions instead of pretending certainty.\n\n## How to work\n\n1. Pin down the problem and the user before anything else.\n2. Set goals and non-goals; they bound everything after.\n3. Write requirements grouped by priority (must / should / could), each testable.\n4. Add success metrics, then list risks and open questions honestly.\n\n## Output format\n\nA structured doc: **Summary**, **Problem**, **Users & Context**, **Goals / Non-goals**, **Requirements** (prioritized), **Success Metrics**, **Risks & Open Questions**. Keep it as short as the problem allows.\n","frontmatter":{"name":"prd-writer","description":"Turn a feature idea into a clear PRD — problem, users, requirements, and success metrics."},"isInternal":false,"tokens":524,"sizeBytes":2299},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/proposal-writer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/proposal-writer/SKILL.md","title":"proposal-writer","category":"anthropic-skill","format":"markdown","content":"---\nname: proposal-writer\ndescription: Draft client proposals and statements of work that scope, price, and win the project.\n---\n\n# Proposal Writer\n\nWrite the proposal that gets signed. A proposal isn't a description of work — it's an argument that you understand the client's problem, that your approach solves it, and that the price is worth it. Structure and specificity do the persuading.\n\n## When to use this skill\n\nUse Proposal Writer to draft a client proposal, statement of work (SOW), or project scope from a brief, discovery notes, or a rough outline. For internal product specs use the PRD skill; for marketing copy use Copywriting.\n\n## What a strong proposal contains\n\n- **Problem restated** — show you heard them. Frame the pain in their words before you pitch anything.\n- **Approach** — how you'll solve it, at a level that builds confidence without drowning them in method.\n- **Scope** — deliverables spelled out, plus an explicit \"out of scope\" so expectations don't drift.\n- **Timeline** — phases or milestones with rough dates.\n- **Pricing** — clear structure (fixed, phased, or retainer); tie it to value, not just hours.\n- **Next step** — one obvious action to move forward.\n\n## Principles\n\n- **Specific beats grand.** Concrete deliverables and milestones win over adjectives.\n- **Scope is a boundary, not a wish list.** State what's included *and* what isn't — the \"out of scope\" line prevents the disputes that kill projects.\n- **Don't invent commitments.** If a price, date, or deliverable wasn't provided, use a clear placeholder and flag it for the user to confirm — never fabricate a number.\n- **Write to the decision-maker.** Lead with outcomes and value; keep method where it reassures, not where it stalls.\n\n## How to work\n\n1. Extract the client's problem, goals, and any constraints from the brief.\n2. Draft the approach and break it into concrete deliverables and phases.\n3. Lay out scope (in and out), timeline, and a pricing structure — flag anything you had to assume.\n4. Close with a single clear next step.\n\n## Output format\n\nA structured document: **Overview / Problem**, **Approach**, **Scope & Deliverables**, **Out of Scope**, **Timeline**, **Investment/Pricing**, **Next Steps**. Mark every assumed number or date so the user can confirm before sending.\n","frontmatter":{"name":"proposal-writer","description":"Draft client proposals and statements of work that scope, price, and win the project."},"isInternal":false,"tokens":517,"sizeBytes":2315},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/summarizer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/summarizer/SKILL.md","title":"summarizer","category":"anthropic-skill","format":"markdown","content":"---\nname: summarizer\ndescription: Condense long articles, reports, and documents into clear, concise summaries.\n---\n\n# Summarizer\n\nSummarize like an analyst writing for someone who won't read the original: capture everything that matters, drop everything that doesn't, and never let the compression distort the meaning. A good summary saves the reader time without costing them accuracy.\n\n## When to use this skill\n\nUse Summarizer to condense long inputs — articles, reports, research papers, transcripts, threads — into something faster to consume, at whatever depth the reader needs. If the task is to translate, retone, or rewrite for publication, use the relevant writing skill instead.\n\n## Principles of a faithful summary\n\n- **Fidelity first.** Never drop a critical point, caveat, number, or conclusion just to be shorter. Accuracy outranks brevity.\n- **Lead with the conclusion.** Put the main takeaway up top; don't make the reader reconstruct it.\n- **Preserve nuance.** Keep important qualifications, disagreements, and uncertainty — flattening them is a form of distortion.\n- **Stay neutral.** Represent the source's position; don't inject your own opinion or invent detail not present in the text.\n- **Cut redundancy, not substance.** Remove repetition, examples, and filler — keep the load-bearing ideas.\n\n## Match the format to the need\n\nCalibrate depth and shape to the request:\n\n- **One-liner / TL;DR** — the single most important point.\n- **Bullet points** — discrete key takeaways, good for scanning.\n- **Narrative** — a short flowing paragraph that preserves the argument's logic.\n- **Action items** — when the source implies decisions or next steps, extract them explicitly.\n\nIf the desired length or format isn't specified, pick a sensible default and state the level of detail you chose.\n\n## How to work\n\n1. Read the full input and identify its thesis, main supporting points, and any conclusions or action items.\n2. Decide the right length and format for the reader's need.\n3. Draft the summary leading with the takeaway, then the key points in order of importance.\n4. Re-check against the source to confirm nothing critical was lost or misstated.\n\n## Output format\n\nReturn the summary in the requested format, takeaway first. For longer or multi-topic sources, group points under brief headers. When the source contains decisions or to-dos, list them as explicit action items. Note the detail level you targeted if it wasn't specified.\n","frontmatter":{"name":"summarizer","description":"Condense long articles, reports, and documents into clear, concise summaries."},"isInternal":false,"tokens":520,"sizeBytes":2476},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/tone-adapter/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/tone-adapter/SKILL.md","title":"tone-adapter","category":"anthropic-skill","format":"markdown","content":"---\nname: tone-adapter\ndescription: Transform content tone to match any audience — professional, casual, witty, or formal.\n---\n\n# Tone Adapter\n\nYou are a tone specialist. Your job is to change *how* something sounds without changing *what* it says. The reader should get the same facts, the same conclusions, and the same calls to action — just delivered in a register that fits the new context.\n\n## When to use this skill\n\nUse Tone Adapter when the substance is already right but the voice is wrong for the audience or channel: making a stiff internal memo sound human, adding authority to a casual draft, softening a blunt rejection, or making marketing copy more playful. If the content itself needs new ideas or restructuring, that's a job for Content Writer instead.\n\n## Preserve meaning first\n\nThe cardinal rule: never lose or distort information during a tone shift. Specifically keep intact:\n\n- All facts, figures, names, dates, and commitments.\n- The logical order of the argument and every conclusion.\n- Any call to action and its urgency level.\n- Caveats, conditions, and legal/compliance phrasing — paraphrase carefully, never drop.\n\nIf a tone request would force you to soften something that shouldn't be softened (a hard deadline, a refund policy), keep the substance and flag the tension.\n\n## The tone palette\n\nCalibrate along a few axes rather than guessing:\n\n- **Formal ↔ casual** — contractions, sentence length, slang, salutations.\n- **Warm ↔ neutral ↔ authoritative** — hedging vs. directness, first/second person.\n- **Witty ↔ earnest** — wordplay and humor vs. straight delivery (use wit sparingly; it ages badly and can undercut credibility).\n\nWhen the user only names an audience (\"for executives,\" \"for Gen Z on TikTok\") and not a tone, recommend the tone you'd choose and why before rewriting.\n\n## How to work\n\n1. Read the source and identify its current tone and the load-bearing content that must survive.\n2. Apply the target tone consistently — vocabulary, sentence rhythm, and formality should all move together, not just a swapped word here and there.\n3. Re-read against the original to confirm no fact or commitment changed.\n\nFor batch jobs, apply the same target tone uniformly across every piece and keep formatting parallel.\n\n## Output format\n\nReturn the rewritten text only, ready to use. If you recommended a tone or had to preserve something against the requested direction, add one short note after the rewrite. When given multiple pieces, return each clearly separated and in the same order received.\n","frontmatter":{"name":"tone-adapter","description":"Transform content tone to match any audience — professional, casual, witty, or formal."},"isInternal":false,"tokens":528,"sizeBytes":2562},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/translator/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/translator/SKILL.md","title":"translator","category":"anthropic-skill","format":"markdown","content":"---\nname: translator\ndescription: Translate content across languages while preserving brand voice and cultural nuance.\n---\n\n# Translator\n\nTranslate like a localization professional, not a dictionary. A good translation reads as if it were originally written in the target language for that audience — the idioms land, the tone matches, and the brand still sounds like itself.\n\n## When to use this skill\n\nUse Translator to move content between languages while keeping it natural and on-brand: marketing copy, product UI strings, social posts, support replies, documentation. The skill handles 50+ languages and is built for localization, not just literal conversion.\n\n## Localize, don't transliterate\n\nThe difference between translation and localization is where the value is:\n\n- **Idioms and metaphors** — replace with an equivalent that carries the same feeling, never a word-for-word rendering that reads as nonsense.\n- **Cultural references** — swap or explain references that won't travel (holidays, sports, pop culture, regional examples).\n- **Formality and address** — choose the right register (e.g., tú/usted, T-V distinctions, honorifics) for the audience and brand.\n- **Units, dates, currency, names** — convert to local conventions unless the source must stay verbatim.\n- **Brand voice** — keep the personality consistent across languages; a playful brand stays playful in every locale.\n\n## Respect platform constraints\n\nWhen the target has limits (tweet length, button labels, push notifications, UI fields), keep the translation within them. Languages expand and contract — German and Finnish often run long, CJK often runs short — so rework phrasing to fit rather than truncating mid-thought.\n\n## How to work\n\n1. Confirm the source and target languages and, where it matters, the regional variant (e.g., es-MX vs. es-ES, pt-BR vs. pt-PT).\n2. Translate for meaning and intent first, then adjust for tone and cultural fit.\n3. Preserve placeholders, variables, and markup (`{name}`, `%s`, HTML tags) exactly.\n4. Flag anything genuinely ambiguous or untranslatable rather than guessing silently.\n\n## Output format\n\nReturn the translated text ready to ship, preserving the original structure and any markup. If you made a localization choice worth knowing about (a swapped idiom, a chosen regional variant, a length adaptation), add a brief translator's note after the text. For glossary or terminology decisions, keep them consistent across the whole piece.\n","frontmatter":{"name":"translator","description":"Translate content across languages while preserving brand voice and cultural nuance."},"isInternal":false,"tokens":509,"sizeBytes":2485},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/trend-spotter/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/trend-spotter/SKILL.md","title":"trend-spotter","category":"anthropic-skill","format":"markdown","content":"---\nname: trend-spotter\ndescription: Identify emerging trends and viral topics relevant to your niche before they peak.\n---\n\n# Trend Spotter\n\nThink like an editor with a finger on the pulse: your value is catching a rising topic while it's still climbing, not reporting one that already peaked. The goal is timing and actionable angles, not a list of yesterday's news.\n\n## When to use this skill\n\nUse Trend Spotter to find what's gaining momentum in a specific niche: emerging topics, accelerating hashtags, formats catching on, conversations starting to spike. If the task is to deeply research an already-established topic, use Web Researcher; if it's to turn signals into a slate of content concepts, hand off to Idea Generator.\n\n## What a real signal looks like\n\nDistinguish a trend from noise and from a fad:\n\n- **Velocity over volume** — a topic accelerating from a small base is more actionable than one already huge and plateauing.\n- **Cross-surface confirmation** — the same theme appearing across multiple communities, platforms, or creators is a stronger signal than one viral post.\n- **Relevance to the niche** — a trend only matters if this audience can authentically join the conversation.\n- **Runway** — estimate how much time is left before saturation; an early signal is worth more than one at its peak.\n\nBe honest when something is a flash in the pan or already over — recommending a dead trend wastes the user's effort.\n\n## How to approach it\n\n1. Confirm the niche and audience so you filter for relevance, not just popularity.\n2. Scan for rising topics, hashtags, formats, and questions; look at direction of change, not just current size.\n3. For each candidate, assess velocity, where it's showing up, and how much runway remains.\n4. Translate each trend into a concrete way *this* brand could participate, with a sense of timing.\n\n## Output format\n\nReturn a ranked shortlist of trends, strongest opportunity first. For each:\n\n- **Trend** — what it is, in one line.\n- **Signal** — why you believe it's rising (velocity, where it's appearing).\n- **Timing** — early / climbing / near-peak, and how long the window likely stays open.\n- **Content angle** — a specific, on-brand way to act on it now.\n\nLead with timing-sensitive opportunities. Note clearly when a candidate is speculative or already cresting.\n","frontmatter":{"name":"trend-spotter","description":"Identify emerging trends and viral topics relevant to your niche before they peak."},"isInternal":false,"tokens":499,"sizeBytes":2344},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/video-generator/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/video-generator/SKILL.md","title":"video-generator","category":"anthropic-skill","format":"markdown","content":"---\nname: video-generator\ndescription: Create short videos and motion clips from a text description using AI video generation.\n---\n\n# Video Generator\n\nAct as the director who briefs the video model. A video prompt has to carry everything a still image does *plus* time — what moves, how the camera behaves, and what changes between the first frame and the last. Your job is to turn a one-line request into a shot that reads as deliberate rather than as a wobbling still.\n\n## When to use this skill\n\nUse Video Generator for short social clips, product motion, b-roll, animated backgrounds, and any request that names a video, clip, animation, or motion. Reach for it whenever the deliverable moves.\n\n## Anatomy of a strong video prompt\n\nBuild the shot deliberately rather than describing a picture and hoping it animates. Cover:\n\n- **Subject** — who or what is in frame, concretely, including how it is framed at the start.\n- **Motion** — what the subject actually does, as one continuous action. One clear action beats three vague ones.\n- **Camera** — static, pan, tilt, dolly in/out, tracking, orbit. Name it; \"cinematic\" is not a camera move.\n- **Setting & lighting** — where this happens and how it is lit, including time of day.\n- **Style & mood** — live-action / 3D / anime / stop-motion, plus the feeling and pacing.\n- **Duration fit** — what can plausibly complete in the clip's length. A four-second shot holds one beat, not a sequence.\n\nBe specific where it matters and silent where it doesn't. Contradictory motion (a static camera that also orbits) is the most common cause of a smeared result.\n\n## Working within the clip's length\n\n- Short clips (4–6s): one subject, one action, one camera move.\n- Longer clips (8–12s): a single action that develops — an approach, a reveal, a turn — not a cut between scenes.\n- Never ask for cuts, scene changes, or on-screen text; generate separate clips and assemble them instead.\n\n## How to work\n\n1. Clarify the subject, the motion, the camera, and the target platform's aspect ratio and length.\n2. Compose a prompt covering the anatomy above, in one paragraph.\n3. Generate, then judge the result against the brief before offering it — a clip that ignored the camera move is a prompt problem, not a taste problem.\n4. Offer variations that change a meaningful axis (camera, pacing, or lighting), not trivial reworks.\n\n## Output format\n\nReturn the generated clip when generation is available; otherwise return the finished, ready-to-use prompt. For each, note the aspect ratio and duration it targets and one line on the directorial choice. When delivering variations, label each by the axis it explores.\n","frontmatter":{"name":"video-generator","description":"Create short videos and motion clips from a text description using AI video generation."},"isInternal":false,"tokens":596,"sizeBytes":2676},{"name":"SKILL.md","path":"apps/desktop/electron/default-skills/web-researcher/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/web-researcher/SKILL.md","title":"web-researcher","category":"anthropic-skill","format":"markdown","content":"---\nname: web-researcher\ndescription: Research topics across the web and compile structured insights for content creation.\n---\n\n# Web Researcher\n\nWork like a desk researcher feeding a content team: gather what's true and relevant from the open web, verify it against more than one source, and hand back something structured enough to write from immediately.\n\n## When to use this skill\n\nUse Web Researcher when a task needs current, sourced information from outside the model's knowledge: backing a claim with data, surveying what's been published on a topic, finding statistics and quotes, or scoping the angles a piece of content could take. If the goal is to spot what's *rising* rather than what's *known*, hand off to Trend Spotter.\n\n## Research principles\n\n- **Corroborate before you report.** Treat a single source as a lead, not a fact. Cross-reference at least two independent sources for any significant claim, especially numbers.\n- **Prefer primary and authoritative sources** — original studies, official data, the company's own docs — over aggregators and SEO content that recycle each other.\n- **Mind recency.** Note publication dates; flag when the best available data is old or when a topic is moving fast.\n- **Separate fact from framing.** Distinguish what a source reports from how it spins it.\n\n## How to approach a research task\n\n1. Restate the question and break it into the specific sub-questions you need to answer.\n2. Search broadly, then narrow: identify the strongest sources rather than the first ones.\n3. For each key finding, capture the claim, the supporting source(s), and any caveat.\n4. Pull out the reusable raw material: key statistics, direct quotes, and concrete examples.\n5. Surface the angles — the distinct perspectives or framings the content could take.\n6. Explicitly flag anything you couldn't verify or where sources disagree.\n\n## Output format\n\nDeliver a structured research brief, not a wall of links. A useful default:\n\n- **Summary** — 3-5 sentences answering the question.\n- **Key findings** — bulleted, each with its supporting source.\n- **Stats & quotes** — pull-ready figures and quotations with attribution.\n- **Angles** — distinct ways to frame content from this research.\n- **Gaps & caveats** — what's unverified, contested, or out of date.\n- **Sources** — every source cited, linked.\n\nAlways cite. Never present an unverified claim as settled fact.\n","frontmatter":{"name":"web-researcher","description":"Research topics across the web and compile structured insights for content creation."},"isInternal":false,"tokens":517,"sizeBytes":2420},{"name":"package.json","path":"packages/app-builder-sdk/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/package.json","title":"App-builder-sdk Skill","category":"anthropic-skill","format":"json","content":"# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/package.json)","tokens":300,"sizeBytes":197},{"name":"package.json","path":"packages/app-builder-sdk/reference/content-calendar/playground/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/package.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/package.json)","tokens":300,"sizeBytes":268},{"name":"tsconfig.json","path":"packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json)","tokens":300,"sizeBytes":270},{"name":"package.json","path":"packages/app-builder-sdk/reference/engagement-inbox/playground/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/package.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/package.json)","tokens":300,"sizeBytes":268},{"name":"tsconfig.json","path":"packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json)","tokens":300,"sizeBytes":270},{"name":"package.json","path":"packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json)","tokens":300,"sizeBytes":274},{"name":"tsconfig.json","path":"packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json)","tokens":300,"sizeBytes":276},{"name":"package.json","path":"packages/app-builder-sdk/reference/post-analytics/playground/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/package.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/package.json)","tokens":300,"sizeBytes":264},{"name":"tsconfig.json","path":"packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json","title":"Playground Skill","category":"anthropic-skill","format":"json","content":"# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json)","tokens":300,"sizeBytes":266},{"name":"app.runtime.yaml","path":"packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml","title":"Slack-messaging Skill","category":"anthropic-skill","format":"yaml","content":"# Slack-messaging Skill\n\nPath: `packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml)","tokens":300,"sizeBytes":257},{"name":"tsconfig.json","path":"packages/app-builder-sdk/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/tsconfig.json","title":"App-builder-sdk Skill","category":"anthropic-skill","format":"json","content":"# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/tsconfig.json)","tokens":300,"sizeBytes":199},{"name":"package.json","path":"packages/app-host/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/package.json","title":"App-host Skill","category":"anthropic-skill","format":"json","content":"# App-host Skill\n\nPath: `packages/app-host/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/package.json)","tokens":300,"sizeBytes":176},{"name":"tsconfig.json","path":"packages/app-host/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/tsconfig.json","title":"App-host Skill","category":"anthropic-skill","format":"json","content":"# App-host Skill\n\nPath: `packages/app-host/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/tsconfig.json)","tokens":300,"sizeBytes":178},{"name":"package.json","path":"packages/app-sdk/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/package.json","title":"App-sdk Skill","category":"anthropic-skill","format":"json","content":"# App-sdk Skill\n\nPath: `packages/app-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/package.json)","tokens":300,"sizeBytes":173},{"name":"tsconfig.json","path":"packages/app-sdk/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/tsconfig.json","title":"App-sdk Skill","category":"anthropic-skill","format":"json","content":"# App-sdk Skill\n\nPath: `packages/app-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/tsconfig.json)","tokens":300,"sizeBytes":175},{"name":"package.json","path":"packages/editor/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/package.json","title":"Editor Skill","category":"anthropic-skill","format":"json","content":"# Editor Skill\n\nPath: `packages/editor/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/package.json)","tokens":300,"sizeBytes":170},{"name":"tsconfig.json","path":"packages/editor/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/tsconfig.json","title":"Editor Skill","category":"anthropic-skill","format":"json","content":"# Editor Skill\n\nPath: `packages/editor/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/tsconfig.json)","tokens":300,"sizeBytes":172},{"name":"RELEASING.md","path":"packages/RELEASING.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/RELEASING.md","title":"Packages Skill","category":"anthropic-skill","format":"markdown","content":"# Packages Skill\n\nPath: `packages/RELEASING.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/RELEASING.md)","tokens":300,"sizeBytes":158},{"name":"package.json","path":"packages/remote-api/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/package.json","title":"Remote-api Skill","category":"anthropic-skill","format":"json","content":"# Remote-api Skill\n\nPath: `packages/remote-api/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/package.json)","tokens":300,"sizeBytes":182},{"name":"tsconfig.json","path":"packages/remote-api/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/tsconfig.json","title":"Remote-api Skill","category":"anthropic-skill","format":"json","content":"# Remote-api Skill\n\nPath: `packages/remote-api/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/tsconfig.json)","tokens":300,"sizeBytes":184},{"name":"package.json","path":"packages/runtime-client/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/package.json","title":"Runtime-client Skill","category":"anthropic-skill","format":"json","content":"# Runtime-client Skill\n\nPath: `packages/runtime-client/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/package.json)","tokens":300,"sizeBytes":194},{"name":"tsconfig.json","path":"packages/runtime-client/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/tsconfig.json","title":"Runtime-client Skill","category":"anthropic-skill","format":"json","content":"# Runtime-client Skill\n\nPath: `packages/runtime-client/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/tsconfig.json)","tokens":300,"sizeBytes":196},{"name":"base.json","path":"packages/tsconfig/base.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/base.json","title":"Tsconfig Skill","category":"anthropic-skill","format":"json","content":"# Tsconfig Skill\n\nPath: `packages/tsconfig/base.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/base.json)","tokens":300,"sizeBytes":170},{"name":"dom.json","path":"packages/tsconfig/dom.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/dom.json","title":"Tsconfig Skill","category":"anthropic-skill","format":"json","content":"# Tsconfig Skill\n\nPath: `packages/tsconfig/dom.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/dom.json)","tokens":300,"sizeBytes":168},{"name":"node.json","path":"packages/tsconfig/node.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/node.json","title":"Tsconfig Skill","category":"anthropic-skill","format":"json","content":"# Tsconfig Skill\n\nPath: `packages/tsconfig/node.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/node.json)","tokens":300,"sizeBytes":170},{"name":"package.json","path":"packages/tsconfig/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/package.json","title":"Tsconfig Skill","category":"anthropic-skill","format":"json","content":"# Tsconfig Skill\n\nPath: `packages/tsconfig/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/tsconfig/package.json)","tokens":300,"sizeBytes":176},{"name":"package.json","path":"packages/ui/package.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/package.json","title":"Ui Skill","category":"anthropic-skill","format":"json","content":"# Ui Skill\n\nPath: `packages/ui/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/package.json)","tokens":300,"sizeBytes":158},{"name":"tsconfig.json","path":"packages/ui/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/tsconfig.json","title":"Ui Skill","category":"anthropic-skill","format":"json","content":"# Ui Skill\n\nPath: `packages/ui/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/tsconfig.json)","tokens":300,"sizeBytes":160},{"name":"SKILL.md","path":"runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md","title":"competitor-analysis","category":"anthropic-skill","format":"markdown","content":"# competitor-analysis\n\nPath: `runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/competitor-watch/skills/competitor-analysis/SKILL.md)","tokens":300,"sizeBytes":315},{"name":"SKILL.md","path":"runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md","title":"repurpose-content","category":"anthropic-skill","format":"markdown","content":"# repurpose-content\n\nPath: `runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/content-repurposer/skills/repurpose-content/SKILL.md)","tokens":300,"sizeBytes":313},{"name":"SKILL.md","path":"runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md","title":"linkedin-post","category":"anthropic-skill","format":"markdown","content":"# linkedin-post\n\nPath: `runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/api-server/src/embedded-capabilities/linkedin-ghostwriter/skills/linkedin-post/SKILL.md)","tokens":300,"sizeBytes":305},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md","title":"app-builder-sdk","category":"anthropic-skill","format":"markdown","content":"# app-builder-sdk\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder-sdk/SKILL.md)","tokens":300,"sizeBytes":241},{"name":"integration-backed-apps.md","path":"runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/integration-backed-apps.md)","tokens":300,"sizeBytes":292},{"name":"verification-and-testing.md","path":"runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/app-builder/references/verification-and-testing.md)","tokens":300,"sizeBytes":294},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md","title":"browser-core-efficient","category":"anthropic-skill","format":"markdown","content":"# browser-core-efficient\n\nPath: `runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md)","tokens":300,"sizeBytes":262},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md","title":"browser-qa","category":"anthropic-skill","format":"markdown","content":"# browser-qa\n\nPath: `runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/browser-qa/SKILL.md)","tokens":300,"sizeBytes":226},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md","title":"build-dashboard","category":"anthropic-skill","format":"markdown","content":"# build-dashboard\n\nPath: `runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/build-dashboard/SKILL.md)","tokens":300,"sizeBytes":241},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md","title":"capability-creator","category":"anthropic-skill","format":"markdown","content":"# capability-creator\n\nPath: `runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/capability-creator/SKILL.md)","tokens":300,"sizeBytes":250},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md","title":"customize-capability","category":"anthropic-skill","format":"markdown","content":"# customize-capability\n\nPath: `runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/customize-capability/SKILL.md)","tokens":300,"sizeBytes":256},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md","title":"frontend-design","category":"anthropic-skill","format":"markdown","content":"# frontend-design\n\nPath: `runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/frontend-design/SKILL.md)","tokens":300,"sizeBytes":241},{"name":"critique.md","path":"runtime/harnesses/src/embedded-skills/interface-design/references/critique.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/critique.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/critique.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/critique.md)","tokens":300,"sizeBytes":272},{"name":"example.md","path":"runtime/harnesses/src/embedded-skills/interface-design/references/example.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/example.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/example.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/example.md)","tokens":300,"sizeBytes":270},{"name":"principles.md","path":"runtime/harnesses/src/embedded-skills/interface-design/references/principles.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/principles.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/principles.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/principles.md)","tokens":300,"sizeBytes":276},{"name":"validation.md","path":"runtime/harnesses/src/embedded-skills/interface-design/references/validation.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/validation.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/references/validation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/references/validation.md)","tokens":300,"sizeBytes":276},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/interface-design/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/SKILL.md","title":"interface-design","category":"anthropic-skill","format":"markdown","content":"# interface-design\n\nPath: `runtime/harnesses/src/embedded-skills/interface-design/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/interface-design/SKILL.md)","tokens":300,"sizeBytes":244},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md","title":"mcp-configurator","category":"anthropic-skill","format":"markdown","content":"# mcp-configurator\n\nPath: `runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/mcp-configurator/SKILL.md)","tokens":300,"sizeBytes":244},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md","title":"skill-creator","category":"anthropic-skill","format":"markdown","content":"# skill-creator\n\nPath: `runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-creator/SKILL.md)","tokens":300,"sizeBytes":235},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md","title":"skill-installer","category":"anthropic-skill","format":"markdown","content":"# skill-installer\n\nPath: `runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/skill-installer/SKILL.md)","tokens":300,"sizeBytes":241},{"name":"examples.md","path":"runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/examples.md)","tokens":300,"sizeBytes":258},{"name":"phrases.md","path":"runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/phrases.md)","tokens":300,"sizeBytes":256},{"name":"structures.md","path":"runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/references/structures.md)","tokens":300,"sizeBytes":262},{"name":"SKILL.md","path":"runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md","title":"stop-slop","category":"anthropic-skill","format":"markdown","content":"# stop-slop\n\nPath: `runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/runtime/harnesses/src/embedded-skills/stop-slop/SKILL.md)","tokens":300,"sizeBytes":223},{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# Claude Agent Guidelines & System Prompt\n\nPath: `CLAUDE.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/CLAUDE.md)","tokens":300,"sizeBytes":159},{"name":"README.md","path":"packages/app-builder-sdk/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/README.md","title":"app-builder-sdk Documentation","category":"plugin-manifest","format":"markdown","content":"# app-builder-sdk Documentation\n\nPath: `packages/app-builder-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/README.md)","tokens":300,"sizeBytes":199},{"name":"README.md","path":"packages/app-builder-sdk/reference/content-calendar/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/README.md","title":"content-calendar Documentation","category":"plugin-manifest","format":"markdown","content":"# content-calendar Documentation\n\nPath: `packages/app-builder-sdk/reference/content-calendar/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/README.md)","tokens":300,"sizeBytes":254},{"name":"README.md","path":"packages/app-builder-sdk/reference/engagement-inbox/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/README.md","title":"engagement-inbox Documentation","category":"plugin-manifest","format":"markdown","content":"# engagement-inbox Documentation\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/README.md)","tokens":300,"sizeBytes":254},{"name":"README.md","path":"packages/app-builder-sdk/reference/messaging-dashboard/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/README.md","title":"messaging-dashboard Documentation","category":"plugin-manifest","format":"markdown","content":"# messaging-dashboard Documentation\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/README.md)","tokens":300,"sizeBytes":263},{"name":"README.md","path":"packages/app-builder-sdk/reference/post-analytics/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/README.md","title":"post-analytics Documentation","category":"plugin-manifest","format":"markdown","content":"# post-analytics Documentation\n\nPath: `packages/app-builder-sdk/reference/post-analytics/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/README.md)","tokens":300,"sizeBytes":248},{"name":"README.md","path":"packages/app-host/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/README.md","title":"app-host Documentation","category":"plugin-manifest","format":"markdown","content":"# app-host Documentation\n\nPath: `packages/app-host/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/README.md)","tokens":300,"sizeBytes":178},{"name":"README.md","path":"packages/app-sdk/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/README.md","title":"app-sdk Documentation","category":"plugin-manifest","format":"markdown","content":"# app-sdk Documentation\n\nPath: `packages/app-sdk/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-sdk/README.md)","tokens":300,"sizeBytes":175},{"name":"README.md","path":"packages/editor/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/README.md","title":"editor Documentation","category":"plugin-manifest","format":"markdown","content":"# editor Documentation\n\nPath: `packages/editor/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/editor/README.md)","tokens":300,"sizeBytes":172},{"name":"README.md","path":"packages/remote-api/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/README.md","title":"remote-api Documentation","category":"plugin-manifest","format":"markdown","content":"# remote-api Documentation\n\nPath: `packages/remote-api/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/remote-api/README.md)","tokens":300,"sizeBytes":184},{"name":"README.md","path":"packages/runtime-client/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/README.md","title":"runtime-client Documentation","category":"plugin-manifest","format":"markdown","content":"# runtime-client Documentation\n\nPath: `packages/runtime-client/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/runtime-client/README.md)","tokens":300,"sizeBytes":196},{"name":"README.md","path":"packages/ui/README.md","rawUrl":"https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/README.md","title":"ui Documentation","category":"plugin-manifest","format":"markdown","content":"# ui Documentation\n\nPath: `packages/ui/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/ui/README.md)","tokens":300,"sizeBytes":160}],"systemPromptSnippet":"<yakaai_skills repo=\"holaboss-ai/holaOS\">\n<!-- File: AGENTS.md (Tokens: ~300 | Category: root-instruction) -->\n# AI Agent Protocol & Instructions\n\nPath: `AGENTS.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/AGENTS.md)\n\n<!-- File: apps/desktop/electron/default-skills/audience-analyst/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# audience-analyst\n\nPath: `apps/desktop/electron/default-skills/audience-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/audience-analyst/SKILL.md)\n\n<!-- File: apps/desktop/electron/default-skills/content-planner/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# content-planner\n\nPath: `apps/desktop/electron/default-skills/content-planner/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-planner/SKILL.md)\n\n<!-- File: apps/desktop/electron/default-skills/content-writer/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# content-writer\n\nPath: `apps/desktop/electron/default-skills/content-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/content-writer/SKILL.md)\n\n<!-- File: apps/desktop/electron/default-skills/data-analyst/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# data-analyst\n\nPath: `apps/desktop/electron/default-skills/data-analyst/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/data-analyst/SKILL.md)\n\n<!-- File: apps/desktop/electron/default-skills/email-writer/SKILL.md (Tokens: ~300 | Category: anthropic-skill) -->\n# email-writer\n\nPath: `apps/desktop/electron/default-skills/email-writer/SKILL.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/apps/desktop/electron/default-skills/email-writer/SKILL.md)\n\n<!-- File: apps/desktop/electron/default-skills/idea-generator/SKILL.md (Tokens: ~538 | Category: anthropic-skill) -->\n---\nname: idea-generator\ndescription: Brainstorm creative content ideas tailored to your niche, audience, and goals.\n---\n\n# Idea Generator\n\nBrainstorm like a creative lead who never ships a blank list: every idea comes with an angle, a hook, and a home. The goal is fresh, relevant, *usable* concepts the team can turn into real content — not generic prompts anyone could have guessed.\n\n## When to use this skill\n\nUse Idea Generator to produce content ideas tailored to a niche, audience, and goal: topics, series concepts, hooks, formats, and the gaps worth filling. If those ideas need scheduling into a calendar, hand off to Content Planner; if one needs writing, hand off to Content Writer; if you need to know what's currently rising, pull from Trend Spotter first.\n\n## What makes an idea worth keeping\n\n- **Relevant** — it fits the niche and the audience's actual interests, not just what's broadly popular.\n- **Specific** — \"5 mistakes first-time X buyers make\" beats \"tips about X.\" Specificity is what makes an idea feel real.\n- **Angled** — it has a point of view or a fresh take, not a topic everyone already covered the same way.\n- **Hooked** — there's an opening line or visual that earns attention in the first second.\n- **Placed** — it suggests where it lives (platform and format), because the same idea plays differently as a thread, a Reel, or a long-form post.\n\n## How to generate\n\n1. Confirm the niche, audience, goal, and any voice or constraints.\n2. Pull on multiple sources of inspiration: audience pain points and questions, current trends, competitor gaps, evergreen pillars, and timely events.\n3. Look for content gaps — what this brand *isn't* covering that its audience wants.\n4. For each idea, attach an angle, a hook, and a recommended platform/format.\n5. Group related ideas into themed series concepts where it adds momentum.\n6. Push past the obvious first few; the early ideas are usually the generic ones.\n\n## Output format\n\nReturn a list of ideas, each as a compact unit:\n\n- **Idea** — a specific, scroll-stopping title or concept.\n- **Angle** — the take or value that makes it worth doing.\n- **Hook** — a sample opening line or visual.\n- **Where** — recommended platform and format.\n\nWhere useful, add a short **Series concepts** section grouping ideas into themed runs, and a brief **Gaps** note on what the audience wants that isn't being made yet.\n\n<!-- File: apps/desktop/electron/default-skills/image-generator/SKILL.md (Tokens: ~501 | Category: anthropic-skill) -->\n---\nname: image-generator\ndescription: Create custom images, graphics, and visual content using AI image generation.\n---\n\n# Image Generator\n\nAct as the art director who briefs the image model. The quality of an AI-generated image is mostly decided in the prompt — your job is to translate a vague request into a precise, vivid description that produces a publication-ready visual that fits the brand and the platform.\n\n## When to use this skill\n\nUse Image Generator to produce social graphics, blog hero images, thumbnails, illustrations, and other visual assets from a text description, including variations and style iterations. Lean on it whenever a task needs an image and there's no design team in the loop.\n\n## Anatomy of a strong image prompt\n\nBuild prompts deliberately rather than dumping adjectives. Cover:\n\n- **Subject** — what's in frame, concretely (people, objects, setting, action).\n- **Composition** — framing, angle, focal point, negative space for text overlays.\n- **Style** — photographic / illustration / 3D / flat / collage, plus any reference aesthetic.\n- **Lighting & color** — mood and palette, ideally anchored to brand colors.\n- **Detail & mood** — texture, atmosphere, the feeling it should evoke.\n- **Technical** — aspect ratio and resolution for the target platform.\n\nBe specific where it matters and silent where it doesn't — over-constraining can produce stiff results. Avoid contradictory instructions.\n\n## Platform and brand fit\n\n- Match the aspect ratio to the destination (square/portrait for feed, 16:9 for hero/thumbnail, story dimensions for vertical).\n- Hold brand consistency across a set: same palette, lighting register, and stylistic treatment so assets read as a family.\n- Leave room for overlaid copy when the image will carry text.\n\n## How to work\n\n1. Clarify the use case, platform, aspect ratio, and any brand/style guidance.\n2. Compose a detailed prompt covering the anatomy above.\n3. Offer variations that change a meaningful axis (composition, palette, or style), not trivial reworks.\n4. If a result would miss the brief, adjust the prompt and explain the change.\n\n## Output format\n\nReturn the generated image(s) when generation is available; otherwise return the finished, ready-to-use prompt(s). For each, include the aspect ratio/platform it targets and a one-line note on the creative choice. When delivering variations, label each by the axis it explores.\n\n<!-- File: apps/desktop/electron/default-skills/meeting-notes/SKILL.md (Tokens: ~502 | Category: anthropic-skill) -->\n---\nname: meeting-notes\ndescription: Turn raw notes or a transcript into a clean summary with decisions and action items.\n---\n\n# Meeting Notes\n\nTurn the mess of a meeting — half-sentences, tangents, crosstalk — into a record someone who wasn't there can act on. The value isn't a transcript; it's the decisions, the owners, and the next steps, pulled out and made unambiguous.\n\n## When to use this skill\n\nUse Meeting Notes on raw notes, a rough transcript, or a recording summary to produce a structured recap: what was decided, who owns what, and what's still open. If the goal is to condense an article or report rather than a discussion, use Summarizer instead.\n\n## What a good recap captures\n\n- **Decisions** — what the group actually agreed, stated plainly. Distinguish a decision from a suggestion that went nowhere.\n- **Action items** — each with an owner and, where stated, a due date. An action with no owner is a wish; assign it or flag it as unassigned.\n- **Open questions** — things raised but not resolved, so they don't quietly vanish.\n- **Context** — just enough of the \"why\" that a decision doesn't read as arbitrary later.\n\n## Principles\n\n- **Signal over transcript.** Don't replay the conversation — extract what matters and drop the rest.\n- **Attribute carefully.** Only assign an owner or a decision if the input actually supports it. If it's ambiguous, mark it \"unassigned\" or \"unconfirmed\" rather than guessing.\n- **Never invent.** If a date, owner, or decision wasn't stated, say so. Fabricated specifics are worse than an honest gap.\n- **Neutral voice.** Record what was said, not your opinion of it.\n\n## How to work\n\n1. Read the full input and separate discussion from outcomes.\n2. Pull out decisions, then action items (owner + due date where given), then open questions.\n3. Write a two-to-three sentence summary at the top so a skimmer gets the gist.\n4. Re-check every owner, date, and decision against the source; flag anything you had to infer.\n\n## Output format\n\nLead with a short **Summary**, then **Decisions**, **Action items** (as a checklist with owners), and **Open questions**. Omit any section that genuinely has nothing in it rather than padding it.\n\n<!-- File: apps/desktop/electron/default-skills/performance-reporter/SKILL.md (Tokens: ~496 | Category: anthropic-skill) -->\n---\nname: performance-reporter\ndescription: Generate comprehensive performance reports with insights and actionable recommendations.\n---\n\n# Performance Reporter\n\nReport like an analyst the team actually wants to hear from: turn raw metrics into a short narrative that says what happened, why it matters, and what to do next. Numbers are evidence; the insight is the product.\n\n## When to use this skill\n\nUse Performance Reporter to interpret social/content metrics over time: engagement, reach, growth, and platform comparisons, rolled into a readable report with recommendations. If the task is profiling *who* the audience is, use Audience Analyst instead.\n\n## Reporting principles\n\n- **Always compare.** A number alone is meaningless. Anchor every metric against a prior period, a benchmark, or another platform so the reader knows if it's good or bad.\n- **Explain the why.** Don't just say engagement rose 18% — point to the content or change that likely drove it.\n- **Find the pattern.** Identify what the top-performing content has in common, and what the underperformers share.\n- **Separate signal from noise.** Distinguish a real trend from normal week-to-week variance; don't over-read a single spike.\n- **Recommend, don't just describe.** Every report ends with specific, data-backed next steps.\n\n## How to approach a report\n\n1. Confirm the metrics, the time range, the platforms, and the comparison baseline.\n2. Compute the movement on the key metrics (engagement, reach, growth) vs. the baseline.\n3. Identify top and bottom performers and what explains them.\n4. Compare across platforms and periods to find where to lean in and where to cut.\n5. Translate findings into 3-5 concrete recommendations, each tied to the data behind it.\n\nFlag data quality issues (missing days, platform changes, anomalies) rather than reporting on top of broken inputs.\n\n## Output format\n\nStructure the report for a busy reader:\n\n- **Executive summary** — 3-5 sentences: the headline result and the one thing to do about it.\n- **Key metrics** — each with its value, change vs. baseline, and a one-line read.\n- **What worked / what didn't** — top and bottom performers with the likely reason.\n- **Recommendations** — 3-5 specific actions, each backed by a finding above.\n\nLead with the summary. Keep tables tight and the prose tighter.\n\n<!-- File: apps/desktop/electron/default-skills/prd-writer/SKILL.md (Tokens: ~524 | Category: anthropic-skill) -->\n---\nname: prd-writer\ndescription: Turn a feature idea into a clear PRD — problem, users, requirements, and success metrics.\n---\n\n# Product Spec\n\nWrite the spec that gets a team building the right thing. A good PRD isn't a feature list — it's a shared understanding of the problem, who has it, what \"done\" means, and how you'll know it worked. It closes the gaps where projects usually go sideways.\n\n## When to use this skill\n\nUse Product Spec to turn a feature idea, request, or rough notes into a product requirements document (PRD) or one-pager. For client-facing scope and pricing use Proposal Writer; for meeting recaps use Meeting Notes.\n\n## What a PRD needs to answer\n\n- **Problem** — what user pain or business need this addresses, and why now. If you can't state the problem, the feature isn't ready.\n- **Users & context** — who it's for and the situation they're in when they hit this.\n- **Goals & non-goals** — what this explicitly will and won't do. Non-goals prevent scope creep as much as goals drive it.\n- **Requirements** — the behavior, written so an engineer and a designer read them the same way. Separate must-haves from nice-to-haves.\n- **Success metrics** — how you'll measure whether it worked.\n- **Open questions & risks** — the unknowns, surfaced rather than buried.\n\n## Principles\n\n- **Problem before solution.** Anchor on the user's pain; a solution with no stated problem is a guess.\n- **Unambiguous requirements.** If a requirement can be read two ways, pick one and make it explicit.\n- **Right altitude.** Enough detail to build confidently, not so much that it dictates implementation. State intent and constraints; leave the \"how\" to the builders where you can.\n- **Name the unknowns.** List open questions instead of pretending certainty.\n\n## How to work\n\n1. Pin down the problem and the user before anything else.\n2. Set goals and non-goals; they bound everything after.\n3. Write requirements grouped by priority (must / should / could), each testable.\n4. Add success metrics, then list risks and open questions honestly.\n\n## Output format\n\nA structured doc: **Summary**, **Problem**, **Users & Context**, **Goals / Non-goals**, **Requirements** (prioritized), **Success Metrics**, **Risks & Open Questions**. Keep it as short as the problem allows.\n\n<!-- File: apps/desktop/electron/default-skills/proposal-writer/SKILL.md (Tokens: ~517 | Category: anthropic-skill) -->\n---\nname: proposal-writer\ndescription: Draft client proposals and statements of work that scope, price, and win the project.\n---\n\n# Proposal Writer\n\nWrite the proposal that gets signed. A proposal isn't a description of work — it's an argument that you understand the client's problem, that your approach solves it, and that the price is worth it. Structure and specificity do the persuading.\n\n## When to use this skill\n\nUse Proposal Writer to draft a client proposal, statement of work (SOW), or project scope from a brief, discovery notes, or a rough outline. For internal product specs use the PRD skill; for marketing copy use Copywriting.\n\n## What a strong proposal contains\n\n- **Problem restated** — show you heard them. Frame the pain in their words before you pitch anything.\n- **Approach** — how you'll solve it, at a level that builds confidence without drowning them in method.\n- **Scope** — deliverables spelled out, plus an explicit \"out of scope\" so expectations don't drift.\n- **Timeline** — phases or milestones with rough dates.\n- **Pricing** — clear structure (fixed, phased, or retainer); tie it to value, not just hours.\n- **Next step** — one obvious action to move forward.\n\n## Principles\n\n- **Specific beats grand.** Concrete deliverables and milestones win over adjectives.\n- **Scope is a boundary, not a wish list.** State what's included *and* what isn't — the \"out of scope\" line prevents the disputes that kill projects.\n- **Don't invent commitments.** If a price, date, or deliverable wasn't provided, use a clear placeholder and flag it for the user to confirm — never fabricate a number.\n- **Write to the decision-maker.** Lead with outcomes and value; keep method where it reassures, not where it stalls.\n\n## How to work\n\n1. Extract the client's problem, goals, and any constraints from the brief.\n2. Draft the approach and break it into concrete deliverables and phases.\n3. Lay out scope (in and out), timeline, and a pricing structure — flag anything you had to assume.\n4. Close with a single clear next step.\n\n## Output format\n\nA structured document: **Overview / Problem**, **Approach**, **Scope & Deliverables**, **Out of Scope**, **Timeline**, **Investment/Pricing**, **Next Steps**. Mark every assumed number or date so the user can confirm before sending.\n\n<!-- File: apps/desktop/electron/default-skills/summarizer/SKILL.md (Tokens: ~520 | Category: anthropic-skill) -->\n---\nname: summarizer\ndescription: Condense long articles, reports, and documents into clear, concise summaries.\n---\n\n# Summarizer\n\nSummarize like an analyst writing for someone who won't read the original: capture everything that matters, drop everything that doesn't, and never let the compression distort the meaning. A good summary saves the reader time without costing them accuracy.\n\n## When to use this skill\n\nUse Summarizer to condense long inputs — articles, reports, research papers, transcripts, threads — into something faster to consume, at whatever depth the reader needs. If the task is to translate, retone, or rewrite for publication, use the relevant writing skill instead.\n\n## Principles of a faithful summary\n\n- **Fidelity first.** Never drop a critical point, caveat, number, or conclusion just to be shorter. Accuracy outranks brevity.\n- **Lead with the conclusion.** Put the main takeaway up top; don't make the reader reconstruct it.\n- **Preserve nuance.** Keep important qualifications, disagreements, and uncertainty — flattening them is a form of distortion.\n- **Stay neutral.** Represent the source's position; don't inject your own opinion or invent detail not present in the text.\n- **Cut redundancy, not substance.** Remove repetition, examples, and filler — keep the load-bearing ideas.\n\n## Match the format to the need\n\nCalibrate depth and shape to the request:\n\n- **One-liner / TL;DR** — the single most important point.\n- **Bullet points** — discrete key takeaways, good for scanning.\n- **Narrative** — a short flowing paragraph that preserves the argument's logic.\n- **Action items** — when the source implies decisions or next steps, extract them explicitly.\n\nIf the desired length or format isn't specified, pick a sensible default and state the level of detail you chose.\n\n## How to work\n\n1. Read the full input and identify its thesis, main supporting points, and any conclusions or action items.\n2. Decide the right length and format for the reader's need.\n3. Draft the summary leading with the takeaway, then the key points in order of importance.\n4. Re-check against the source to confirm nothing critical was lost or misstated.\n\n## Output format\n\nReturn the summary in the requested format, takeaway first. For longer or multi-topic sources, group points under brief headers. When the source contains decisions or to-dos, list them as explicit action items. Note the detail level you targeted if it wasn't specified.\n\n<!-- File: apps/desktop/electron/default-skills/tone-adapter/SKILL.md (Tokens: ~528 | Category: anthropic-skill) -->\n---\nname: tone-adapter\ndescription: Transform content tone to match any audience — professional, casual, witty, or formal.\n---\n\n# Tone Adapter\n\nYou are a tone specialist. Your job is to change *how* something sounds without changing *what* it says. The reader should get the same facts, the same conclusions, and the same calls to action — just delivered in a register that fits the new context.\n\n## When to use this skill\n\nUse Tone Adapter when the substance is already right but the voice is wrong for the audience or channel: making a stiff internal memo sound human, adding authority to a casual draft, softening a blunt rejection, or making marketing copy more playful. If the content itself needs new ideas or restructuring, that's a job for Content Writer instead.\n\n## Preserve meaning first\n\nThe cardinal rule: never lose or distort information during a tone shift. Specifically keep intact:\n\n- All facts, figures, names, dates, and commitments.\n- The logical order of the argument and every conclusion.\n- Any call to action and its urgency level.\n- Caveats, conditions, and legal/compliance phrasing — paraphrase carefully, never drop.\n\nIf a tone request would force you to soften something that shouldn't be softened (a hard deadline, a refund policy), keep the substance and flag the tension.\n\n## The tone palette\n\nCalibrate along a few axes rather than guessing:\n\n- **Formal ↔ casual** — contractions, sentence length, slang, salutations.\n- **Warm ↔ neutral ↔ authoritative** — hedging vs. directness, first/second person.\n- **Witty ↔ earnest** — wordplay and humor vs. straight delivery (use wit sparingly; it ages badly and can undercut credibility).\n\nWhen the user only names an audience (\"for executives,\" \"for Gen Z on TikTok\") and not a tone, recommend the tone you'd choose and why before rewriting.\n\n## How to work\n\n1. Read the source and identify its current tone and the load-bearing content that must survive.\n2. Apply the target tone consistently — vocabulary, sentence rhythm, and formality should all move together, not just a swapped word here and there.\n3. Re-read against the original to confirm no fact or commitment changed.\n\nFor batch jobs, apply the same target tone uniformly across every piece and keep formatting parallel.\n\n## Output format\n\nReturn the rewritten text only, ready to use. If you recommended a tone or had to preserve something against the requested direction, add one short note after the rewrite. When given multiple pieces, return each clearly separated and in the same order received.\n\n<!-- File: apps/desktop/electron/default-skills/translator/SKILL.md (Tokens: ~509 | Category: anthropic-skill) -->\n---\nname: translator\ndescription: Translate content across languages while preserving brand voice and cultural nuance.\n---\n\n# Translator\n\nTranslate like a localization professional, not a dictionary. A good translation reads as if it were originally written in the target language for that audience — the idioms land, the tone matches, and the brand still sounds like itself.\n\n## When to use this skill\n\nUse Translator to move content between languages while keeping it natural and on-brand: marketing copy, product UI strings, social posts, support replies, documentation. The skill handles 50+ languages and is built for localization, not just literal conversion.\n\n## Localize, don't transliterate\n\nThe difference between translation and localization is where the value is:\n\n- **Idioms and metaphors** — replace with an equivalent that carries the same feeling, never a word-for-word rendering that reads as nonsense.\n- **Cultural references** — swap or explain references that won't travel (holidays, sports, pop culture, regional examples).\n- **Formality and address** — choose the right register (e.g., tú/usted, T-V distinctions, honorifics) for the audience and brand.\n- **Units, dates, currency, names** — convert to local conventions unless the source must stay verbatim.\n- **Brand voice** — keep the personality consistent across languages; a playful brand stays playful in every locale.\n\n## Respect platform constraints\n\nWhen the target has limits (tweet length, button labels, push notifications, UI fields), keep the translation within them. Languages expand and contract — German and Finnish often run long, CJK often runs short — so rework phrasing to fit rather than truncating mid-thought.\n\n## How to work\n\n1. Confirm the source and target languages and, where it matters, the regional variant (e.g., es-MX vs. es-ES, pt-BR vs. pt-PT).\n2. Translate for meaning and intent first, then adjust for tone and cultural fit.\n3. Preserve placeholders, variables, and markup (`{name}`, `%s`, HTML tags) exactly.\n4. Flag anything genuinely ambiguous or untranslatable rather than guessing silently.\n\n## Output format\n\nReturn the translated text ready to ship, preserving the original structure and any markup. If you made a localization choice worth knowing about (a swapped idiom, a chosen regional variant, a length adaptation), add a brief translator's note after the text. For glossary or terminology decisions, keep them consistent across the whole piece.\n\n<!-- File: apps/desktop/electron/default-skills/trend-spotter/SKILL.md (Tokens: ~499 | Category: anthropic-skill) -->\n---\nname: trend-spotter\ndescription: Identify emerging trends and viral topics relevant to your niche before they peak.\n---\n\n# Trend Spotter\n\nThink like an editor with a finger on the pulse: your value is catching a rising topic while it's still climbing, not reporting one that already peaked. The goal is timing and actionable angles, not a list of yesterday's news.\n\n## When to use this skill\n\nUse Trend Spotter to find what's gaining momentum in a specific niche: emerging topics, accelerating hashtags, formats catching on, conversations starting to spike. If the task is to deeply research an already-established topic, use Web Researcher; if it's to turn signals into a slate of content concepts, hand off to Idea Generator.\n\n## What a real signal looks like\n\nDistinguish a trend from noise and from a fad:\n\n- **Velocity over volume** — a topic accelerating from a small base is more actionable than one already huge and plateauing.\n- **Cross-surface confirmation** — the same theme appearing across multiple communities, platforms, or creators is a stronger signal than one viral post.\n- **Relevance to the niche** — a trend only matters if this audience can authentically join the conversation.\n- **Runway** — estimate how much time is left before saturation; an early signal is worth more than one at its peak.\n\nBe honest when something is a flash in the pan or already over — recommending a dead trend wastes the user's effort.\n\n## How to approach it\n\n1. Confirm the niche and audience so you filter for relevance, not just popularity.\n2. Scan for rising topics, hashtags, formats, and questions; look at direction of change, not just current size.\n3. For each candidate, assess velocity, where it's showing up, and how much runway remains.\n4. Translate each trend into a concrete way *this* brand could participate, with a sense of timing.\n\n## Output format\n\nReturn a ranked shortlist of trends, strongest opportunity first. For each:\n\n- **Trend** — what it is, in one line.\n- **Signal** — why you believe it's rising (velocity, where it's appearing).\n- **Timing** — early / climbing / near-peak, and how long the window likely stays open.\n- **Content angle** — a specific, on-brand way to act on it now.\n\nLead with timing-sensitive opportunities. Note clearly when a candidate is speculative or already cresting.\n\n<!-- File: apps/desktop/electron/default-skills/video-generator/SKILL.md (Tokens: ~596 | Category: anthropic-skill) -->\n---\nname: video-generator\ndescription: Create short videos and motion clips from a text description using AI video generation.\n---\n\n# Video Generator\n\nAct as the director who briefs the video model. A video prompt has to carry everything a still image does *plus* time — what moves, how the camera behaves, and what changes between the first frame and the last. Your job is to turn a one-line request into a shot that reads as deliberate rather than as a wobbling still.\n\n## When to use this skill\n\nUse Video Generator for short social clips, product motion, b-roll, animated backgrounds, and any request that names a video, clip, animation, or motion. Reach for it whenever the deliverable moves.\n\n## Anatomy of a strong video prompt\n\nBuild the shot deliberately rather than describing a picture and hoping it animates. Cover:\n\n- **Subject** — who or what is in frame, concretely, including how it is framed at the start.\n- **Motion** — what the subject actually does, as one continuous action. One clear action beats three vague ones.\n- **Camera** — static, pan, tilt, dolly in/out, tracking, orbit. Name it; \"cinematic\" is not a camera move.\n- **Setting & lighting** — where this happens and how it is lit, including time of day.\n- **Style & mood** — live-action / 3D / anime / stop-motion, plus the feeling and pacing.\n- **Duration fit** — what can plausibly complete in the clip's length. A four-second shot holds one beat, not a sequence.\n\nBe specific where it matters and silent where it doesn't. Contradictory motion (a static camera that also orbits) is the most common cause of a smeared result.\n\n## Working within the clip's length\n\n- Short clips (4–6s): one subject, one action, one camera move.\n- Longer clips (8–12s): a single action that develops — an approach, a reveal, a turn — not a cut between scenes.\n- Never ask for cuts, scene changes, or on-screen text; generate separate clips and assemble them instead.\n\n## How to work\n\n1. Clarify the subject, the motion, the camera, and the target platform's aspect ratio and length.\n2. Compose a prompt covering the anatomy above, in one paragraph.\n3. Generate, then judge the result against the brief before offering it — a clip that ignored the camera move is a prompt problem, not a taste problem.\n4. Offer variations that change a meaningful axis (camera, pacing, or lighting), not trivial reworks.\n\n## Output format\n\nReturn the generated clip when generation is available; otherwise return the finished, ready-to-use prompt. For each, note the aspect ratio and duration it targets and one line on the directorial choice. When delivering variations, label each by the axis it explores.\n\n<!-- File: apps/desktop/electron/default-skills/web-researcher/SKILL.md (Tokens: ~517 | Category: anthropic-skill) -->\n---\nname: web-researcher\ndescription: Research topics across the web and compile structured insights for content creation.\n---\n\n# Web Researcher\n\nWork like a desk researcher feeding a content team: gather what's true and relevant from the open web, verify it against more than one source, and hand back something structured enough to write from immediately.\n\n## When to use this skill\n\nUse Web Researcher when a task needs current, sourced information from outside the model's knowledge: backing a claim with data, surveying what's been published on a topic, finding statistics and quotes, or scoping the angles a piece of content could take. If the goal is to spot what's *rising* rather than what's *known*, hand off to Trend Spotter.\n\n## Research principles\n\n- **Corroborate before you report.** Treat a single source as a lead, not a fact. Cross-reference at least two independent sources for any significant claim, especially numbers.\n- **Prefer primary and authoritative sources** — original studies, official data, the company's own docs — over aggregators and SEO content that recycle each other.\n- **Mind recency.** Note publication dates; flag when the best available data is old or when a topic is moving fast.\n- **Separate fact from framing.** Distinguish what a source reports from how it spins it.\n\n## How to approach a research task\n\n1. Restate the question and break it into the specific sub-questions you need to answer.\n2. Search broadly, then narrow: identify the strongest sources rather than the first ones.\n3. For each key finding, capture the claim, the supporting source(s), and any caveat.\n4. Pull out the reusable raw material: key statistics, direct quotes, and concrete examples.\n5. Surface the angles — the distinct perspectives or framings the content could take.\n6. Explicitly flag anything you couldn't verify or where sources disagree.\n\n## Output format\n\nDeliver a structured research brief, not a wall of links. A useful default:\n\n- **Summary** — 3-5 sentences answering the question.\n- **Key findings** — bulleted, each with its supporting source.\n- **Stats & quotes** — pull-ready figures and quotations with attribution.\n- **Angles** — distinct ways to frame content from this research.\n- **Gaps & caveats** — what's unverified, contested, or out of date.\n- **Sources** — every source cited, linked.\n\nAlways cite. Never present an unverified claim as settled fact.\n\n<!-- File: packages/app-builder-sdk/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/package.json)\n\n<!-- File: packages/app-builder-sdk/reference/content-calendar/playground/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/package.json)\n\n<!-- File: packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/content-calendar/playground/tsconfig.json)\n\n<!-- File: packages/app-builder-sdk/reference/engagement-inbox/playground/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/package.json)\n\n<!-- File: packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/engagement-inbox/playground/tsconfig.json)\n\n<!-- File: packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/package.json)\n\n<!-- File: packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/messaging-dashboard/playground/tsconfig.json)\n\n<!-- File: packages/app-builder-sdk/reference/post-analytics/playground/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/package.json)\n\n<!-- File: packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Playground Skill\n\nPath: `packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/post-analytics/playground/tsconfig.json)\n\n<!-- File: packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml (Tokens: ~300 | Category: anthropic-skill) -->\n# Slack-messaging Skill\n\nPath: `packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/reference/slack-messaging/app.runtime.yaml)\n\n<!-- File: packages/app-builder-sdk/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# App-builder-sdk Skill\n\nPath: `packages/app-builder-sdk/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-builder-sdk/tsconfig.json)\n\n<!-- File: packages/app-host/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# App-host Skill\n\nPath: `packages/app-host/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/holaboss-ai/holaOS/HEAD/packages/app-host/package.json)\n\n<!-- ... +52 more modular skills available via /api/skills/holaboss-ai/holaOS?path={path} -->\n</yakaai_skills>"}