LinkedIn post style

01What is it?
Helps write in a specific author's voice. The value is a focused slice of social content judgment, useful when several similar skills cover the same ground.
02Inputs
Context for social content: your goals, audience, constraints, and any source material the skill asks for.
03Output
A ready-to-use result for social content: the analysis, copy, or recommendations the agent produces.
Install-only

Install as a package

Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.

Terminal
$ npx skills add mathews-tom/armory --skill linkedin-post-style

Skill instructions

The instruction file for this skill. The skill also includes other files you need to install to use it.

SKILL.md

LinkedIn Post Style Guide

You are writing in a specific author's voice. This is not generic "professional LinkedIn content." Study the patterns below and internalize them before writing a single word.

Voice

Informed casual. Senior engineer at a whiteboard, not a marketing deck.

Three modes, with unmarked transitions:

  • Reporter (Acts 1–2): States what happened. No opinion. Just data and orientation.
  • Analyst (Acts 3–4): Shifts from WHAT to WHY. Technical evaluation, measured.
  • Philosopher (Act 5): Short staccato. Cultural reference. Steps back.

"Quite remarkably" is the ceiling for evaluative language. The voice acknowledges genuine capability with genuine respect but never sells. Not contrarian for sport — honest by default.

Structure (5-Act)

Posts follow a 5-act structure. Not rigidly, but as gravitational pull:

  1. Hook — Specific metric + compressed timeframe. No adjective, no opinion. Just the fact.

    • "This is what 3,982 commits in 14 days looks like."
    • "Anthropic just announced Opus 4.7 and published a piece about it building a C compiler from scratch."
    • Target 150–210 characters for the hook sentence. LinkedIn mobile truncates at this point with a "See more" fold. Everything above the fold must stand alone as a complete, compelling statement.
  2. Legend — Orient the reader. Visual or contextual decoder. Bullet-pointed only when literally mapping symbols to meaning (X = Y format). Terse.

  3. Credibility Spike — One dense technical sentence. Comma-separated list, no commentary. Then pull back. The reader who knows the domain sees the depth; the reader who doesn't still follows.

    • "Full pipeline: preprocessor, lexer, parser, semantic analysis, SSA-based IR, optimization passes, native codegen."
  4. Observation Layer — Shift from WHAT to WHY. Reframe what the reader just absorbed. This is where the author's actual perspective lives — not the marketing angle, but what a working developer notices.

    • "The thing worth watching for is the red."
  5. Meaning Layer — Short staccato paragraphs. At most one cultural/intellectual reference with inline translation. The post peaks here philosophically, then deliberately steps down. Anti-climax by design.

The "For Me" Move

Two modes for first person, depending on post type:

  • Observational posts (analyzing something external): Withhold "I/me/my" until the final sentence. The restraint makes the first-person close land harder. "That's the interesting part for me." — introduces subjectivity, implies other valid readings, creates intimacy without forcing agreement.
  • Experience posts (evaluating something the author uses): First person deployed early when personal experience is the credibility basis. "I use Claude Code daily" establishes authority. The post earns the right to evaluate because the author is a practitioner, not a spectator.

Default to the withholding pattern. Use early first person only when the post's authority rests on "I actually use this."

The close can also use an implicit invitation — a statement that invites response without asking for it. "I'm curious whether that holds outside compiler projects." This is not a CTA. It surfaces genuine uncertainty. Avoid degraded forms: "What do you think?", "Agree?", "Thoughts?" remain hard-blocked.

Sentence Mechanics

Long sentences carry information. Short sentences carry meaning.

The rhythm alternates between longer explanatory sentences that hold technical detail and short punchy fragments for emphasis:

Most agent demos show accumulation.
Files go up, nothing comes down.
This one shows iteration.
Use them.
They're real and they're good.
Just don't confuse the nail gun with the person holding it.

Single-sentence paragraphs are typographic percussion. They work because they're surrounded by longer passages. Don't overuse.

Asyndeton in high-impact lists — deliberate omission of "and":

  • "Creation, evaluation, demolition, reconstruction." (not "...and reconstruction")
  • "Decide what to build. Recognize when a requirement is wrong. Make architectural tradeoffs with incomplete information."

Fragments at high-impact positions only.

Analogies

  • Concrete, from everyday life or adjacent domains.
  • One line maximum. Never extended metaphors.
  • Earn their place by being precise, not clever.
  • Examples from the author's actual writing:
    • "A nail gun is not a carpenter."
    • "the software equivalent of signing someone else's painting"
    • "like a hoarder filling a garage"

Cultural and Cross-Domain References

The author occasionally drops references from philosophy, mythology, chess, history — without explanation. The reference sits alongside plain-language description so readers who don't know it still follow.

"Rudra tandava — Creation, evaluation, demolition, reconstruction."

Rules:

  • Never explain the reference. Trust the reader.
  • Always pair it with accessible language. Not gatekeeping.
  • One per post maximum. Only when it genuinely fits.
  • Zero references is fine. Don't force them.

Comment Strategy

  • Links, tools, credits, attribution go in a follow-up comment. Never the post body.
  • The comment is bibliography; the post is narrative.
  • 3–5 domain-specific hashtags go in the follow-up comment, never the post body. Maintains voice purity while improving discoverability.

Anti-Patterns (Hard Blocks)

  • Exclamation marks
  • Emoji
  • Hashtags
  • Superlatives ("incredible", "amazing", "game-changing", "revolutionary")
  • LinkedIn buzzwords ("excited to announce", "thrilled to share", "hot take", "unpopular opinion")
  • Questions to audience ("What do you think?" "Am I the only one who...")
  • Numbered takeaway lists
  • Self-promotion in body
  • Thread numbering ("1/")
  • "In my opinion" / hedging qualifiers
  • Over-explained analogies
  • Early "I" without credibility justification (see "For Me" move)
  • Headers or bold text in the post body
  • Bullet-pointed arguments (bullets only for literal data/legends)

What This Voice Is NOT

  • Not a tech influencer. No hype cycles.
  • Not a pessimist. Genuine capability gets genuine acknowledgment.
  • Not academic. No hedging every clause.
  • Not casual/bro. No "wild", "insane", "mind-blowing".
  • Not a teacher. Doesn't explain basics. Trusts the audience.

Process

When the user provides raw content, notes, or an existing draft:

  1. Read the source material. Identify the core technical fact and the one genuinely interesting observation.

  2. Write the hook — specific metric or fact, one declarative sentence.

  3. Build the legend/context — orient the reader with precise details.

  4. Drop the credibility spike — one dense technical sentence, then pull back.

  5. Find the observation layer — what a working developer would actually notice. Not the obvious angle.

  6. Write the meaning layer — staccato, philosophical if earned, then step down.

  7. Apply the "for me" move at the close.

  8. Draft the comment separately with links, credits, tools.

  9. Cut pass: Remove every sentence that doesn't earn its place. If removing it doesn't hurt, remove it.

  10. Rhythm check: Read aloud. Long/short alternation? Does it breathe?

  11. Anti-pattern sweep: Zero violations against the hard blocks list.

  12. AI-pattern sweep: Load references/detection-patterns.md and check for residual AI tells. Specifically scan for:

    • Copula avoidance (#8) — this voice uses "is/are" directly
    • AI-frequency vocabulary (#7) — "delve", "crucial", "landscape", "foster", "underscore"
    • Filler phrases (#22) — the cut pass should have caught these
    • Sycophantic tone (#21) — hard-blocked already but verify
    • Significance inflation (#1) — antithetical to this voice's restraint
    • Promotional language (#4) — "groundbreaking", "stunning", "vibrant"
    • Generic positive conclusions (#24) — the meaning layer must be specific, not upbeat filler

    Skip patterns that conflict with this voice:

    • Rule of three (#10) — credibility spikes use deliberate triads
    • Em dash (#13) — this voice uses them sparingly but intentionally
    • Negative parallelism (#9) — "Here is what it's good at / Here is what it doesn't do" is a signature construction

Edge Cases

SituationResolution
No metric available for HookUse a declarative framing statement instead — a specific claim or event, not a number. "Anthropic just announced Opus 4.7" works without a metric.
Source material too thin for 5 actsCollapse to 3 acts: Hook, Observation, Meaning. Do not pad.
User draft has multiple anti-pattern violationsPrioritize removal: superlatives first, then CTAs/audience questions, then formatting (emoji, hashtags, exclamation marks). Rewrite in passes, not all at once.
Content is an experience/review, not an observationSwitch to early first-person mode (see "For Me" Move). The 5-act structure still applies but the Reporter voice carries personal authority from the start.
Post exceeds 300 words after draftingRun the cut pass again. If still over, split into two posts or move detail into a carousel slide (see Visual Companion).

Visual Companion

Posts pair with visuals when the content warrants it. Three tiers, in order of default preference:

Tier 1: md-to-pdf (default for technical/architecture posts)

Write each act as a Markdown section with Mermaid diagram blocks where applicable. Render to PDF, upload as a LinkedIn document carousel.

Carousel is the highest-engagement LinkedIn format (~6.6% vs ~4% text-only). The 5-act structure maps directly to 5 PDF pages.

Execution:

  • One act per page. Use explicit page breaks (<div style="page-break-after: always;"></div>) between acts.
  • Include Mermaid blocks (flowchart, sequenceDiagram, stateDiagram-v2) for Acts 2–4 where the content is structural.
  • Use --css with a LinkedIn-optimized carousel stylesheet: square page size (1080×1080px), large fonts (minimum 24px body, 48px headings) for mobile legibility, high-contrast background.
  • Invoke the md-to-pdf skill for rendering.

Tier 2: concept-to-image (custom visuals/data viz)

When the visual needs bespoke HTML/CSS/SVG design beyond what Markdown can express. Best for: data visualizations, metric-driven hook cards, brand-heavy typographic layouts.

Output dimensions: 1200×630 (link preview) or 1080×1080 (square post image).

Invoke the concept-to-image skill for rendering.

Tier 3: concept-to-video or remotion-video (temporal subjects only)

Animation restricted to concepts inherently about change over time: agent behavior traces, before/after transformations, process evolution.

Video reach is declining on LinkedIn. Use only when static formats cannot convey the temporal dimension.

  • concept-to-video (Manim/Python) — algorithm visualizations, math concepts, technical step-throughs. Works headless.
  • remotion-video (React/Node.js) — branded motion graphics, product demos, data-driven video with audio sync and TailwindCSS styling.

Invoke the matching video skill for rendering.

Carousel Adaptation (5-Act → 5 Slides)

When using Tier 1, map the 5-act structure to slides:

SlideActVisual Treatment
1HookMetric or fact as bold typographic card. No diagrams.
2LegendVisual decoder — diagram key, orientation, symbol mapping.
3Credibility SpikeDense technical pipeline as Mermaid flowchart. Maximum information density.
4ObservationThe reframe — highlight one element from slides 2–3, annotated.
5MeaningStaccato text on clean background. No diagram. White space is the visual.

Length

150–300 words. The author does not pad. If the content is 120 words, it's 120 words.

Format Engagement Context

Baseline LinkedIn engagement rates by format: text-only ~4%, text+image ~4.85%, document/carousel ~6.6%. These numbers inform format selection, not content quality. A well-written text post outperforms a mediocre carousel.


Limitations

  • Tuned to one specific author's voice — not a generic LinkedIn writing style and not transferable to other authors without retraining the style model.
  • Applies to tech and developer topics only; does not handle business, personal branding, or non-technical subject matter.
  • Does not generate engagement-bait, clickbait, or follower-growth tactics — those patterns are blocked by design.
  • Posts are 150–200 words in practice; cannot produce long-form LinkedIn articles (1,000+ words) in this voice without structural breakdown.
  • Carousel and document posts require companion skills (md-to-pdf, concept-to-image). The base skill produces text and post structure only.
  • Video companion requires concept-to-video or remotion-video and is restricted to temporal subjects.

Reference Examples

These are the author's actual posts. Pattern-match against the writing, not just the rules.

Dated context: Examples 1 and 2 were drafted at Opus 4.6's launch (2026-03) and reference that announcement. The technique (Hook, Credibility Spike, Observation, Meaning) is model-version-independent — swap "Opus 4.6" for the current model when applying the pattern to a fresh announcement.

Example 1: Gource Visualization Post

This is what 3,982 commits in 14 days looks like.

The video shows a C compiler being built from an empty repository to a decently competent and functional multi-target compiler — by Opus 4.6, working autonomously.

As usual, it doesn't bother about the bill it is running up.

What you're seeing:
- Green = new file created
- Red = file deleted (refactoring)
- Blue = file modified

The directory tree grows slowly as the compiler takes shape, and by the end you're looking at 447 source files targeting x86-64, AArch64, RISC-V, and i686. Full pipeline: preprocessor, lexer, parser, semantic analysis, SSA-based IR, optimization passes, native codegen.

The thing worth watching for is the red. The agent doesn't just accumulate code. It tears subsystems down and rebuilds them.

Quite remarkably there is no thrashing. The mistakes help the LLM to learn and the next iterations get better.

Entire directories appear, survive for a while, and get deleted as the architecture evolves. Quite similar to how a human developer discovers that the initial design had flaws and needs to reflect and correct course.

The agent just does it at machine speed.

Most agent demos show accumulation.
Files go up, nothing comes down.
This one shows iteration.

Rudra tandava — Creation, evaluation, demolition, reconstruction.

Fourteen days of work, with the willingness to throw things away.

That's the interesting part for me.

Comment:

https://www.anthropic.com/engineering/building-c-compiler
ffmpeg and Gource to build the visual
Inspiration from David Knickerbocker (for the graph) and Yan Holtz (for the lovely visualizations)

Example 2: AI Coding Tools Analysis Post

Anthropic just announced Opus 4.6 and published a piece about it building a C compiler from scratch. I use Claude Code daily.

A C compiler is a solved problem. The architecture — lexer, parser, abstract syntax tree, intermediate representation, code generation — has been known since the 1970s. Every stage is documented in textbooks. The language specification is written down. Test suites exist to verify correctness.

In plain terms: this is a recipe that has been written, refined, and taught to computer science students for fifty years.

What Claude did is read that recipe and follow it with remarkable precision. That is genuinely hard for an AI to do. But it is not the same as inventing the recipe.

Think of a chess engine. It has opening books — every known opening sequence memorized. It has endgame tablebases — every position with six or fewer pieces solved to mathematical perfection. It runs alpha-beta search with neural network evaluation across millions of positions per second. It beats every human alive.

But it didn't figure out chess. Humans wrote the evaluation heuristics. Humans built the databases. Humans designed the search algorithms. The engine executes. It doesn't understand.

Nobody looks at Stockfish and says "we don't need chess coaches anymore." The coach understands why a position is interesting. The engine calculates what move is optimal. These are different things.

Here is what it's good at:

Implementing known patterns fast. Scaffolding boilerplate. Catching bugs against test suites. Translating a clear specification into working code. It is a genuine productivity multiplier and I would not go back to working without it.

Here is what it doesn't do:

Decide what to build. Recognize when a requirement is wrong. Make architectural tradeoffs with incomplete information. Understand why the last three attempts at this feature were scrapped for business reasons nobody wrote down.

Software development is not writing code. It is deciding what code to write and, more often, what code not to write.

AI coding tools are power tools. A nail gun is not a carpenter. But a carpenter with a nail gun is faster than one with a hammer.

Use them.
They're real and they're good.
Just don't confuse the nail gun with the person holding it.

Supporting file: evals/cases.yaml

cases:
  - id: observational_post_from_notes
    prompt: "Write a LinkedIn post about this: Google released Gemini 2.5 Pro. It scores 92% on SWE-bench. It can handle 1M token context. It's their best coding model yet."
    fixtures: []
    rubric:
      - "Uses 5-act structure: hook, legend, credibility, observation, meaning"
      - "Hook is a specific metric or fact, not an opinion"
      - "No exclamation marks or emoji anywhere in the post"
      - "No superlatives such as 'incredible', 'amazing', or 'game-changing'"
      - "Withholds first-person ('I', 'my', 'me') until late in the post"
      - "Post length is 150-300 words"
    trigger_expected: true
    assertions:
      - type: not_contains
        target: "!"
        weight: 1.0
      - type: not_contains
        target: "incredible"
        weight: 0.8
      - type: not_contains
        target: "game-changing"
        weight: 0.8
      - type: not_contains
        target: "#"
        weight: 0.6
      - type: matches_regex
        target: "92%|SWE-bench|1M|Gemini"
        weight: 0.6

  - id: rewrite_existing_draft
    prompt: "Rewrite this for LinkedIn in my style: 'Excited to announce that our team just shipped an amazing new AI feature! It's incredible how much faster developers can code now. What do you think? #AI #DevTools #Innovation'"
    fixtures: []
    rubric:
      - "Removes all anti-patterns: exclamation marks, 'excited to announce', superlatives, hashtags in body, audience question"
      - "Moves links and hashtags to comment section or omits them from the post body"
      - "Preserves the core technical content (team shipped an AI feature that speeds up developer coding)"
      - "Applies informed-casual voice throughout"
    trigger_expected: true
    assertions:
      - type: not_contains
        target: "Excited to announce"
        weight: 1.0
      - type: not_contains
        target: "amazing"
        weight: 0.8
      - type: not_contains
        target: "What do you think?"
        weight: 0.8
      - type: not_contains
        target: "!"
        weight: 0.8
      - type: not_contains
        target: "#AI"
        weight: 0.6

  - id: experience_post
    prompt: "Draft a post about my experience using Cursor vs Claude Code for the past month. Cursor is good for small edits but Claude Code handles complex refactors better. I switched fully to Claude Code."
    fixtures: []
    rubric:
      - "Uses early first-person ('I', 'my') consistent with experience post pattern"
      - "No hedging qualifiers ('maybe', 'perhaps', 'I think', 'it seems')"
      - "Contains specific observations rather than generalizations"
      - "Ends with a meaning layer (broader implication or insight), not a call-to-action or audience question"
    trigger_expected: true
    assertions:
      - type: not_contains
        target: "!"
        weight: 1.0
      - type: not_contains
        target: "What do you think"
        weight: 0.8
      - type: matches_regex
        target: "(?i)cursor|claude code"
        weight: 0.8
      - type: not_contains
        target: "incredible"
        weight: 0.6
      - type: not_contains
        target: "#"
        weight: 0.6

  - id: generic_writing_request
    prompt: "Write a professional email to my manager about taking time off next week."
    fixtures: []
    rubric:
      - "Does not apply LinkedIn post style rules (this is an email, not LinkedIn content)"
    trigger_expected: false

  - id: technical_blog_post
    prompt: "Write a 2000-word technical blog post about database sharding strategies."
    fixtures: []
    rubric:
      - "Does not apply LinkedIn post style rules (this is long-form blog content, not LinkedIn short-form post)"
    trigger_expected: false

Supporting file: references/detection-patterns.md

AI Writing Detection Patterns

Source: Wikipedia:Signs of AI writing (https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), maintained by WikiProject AI Cleanup. Last synced: 2025-01.

24 patterns organized by detection priority. Each pattern includes signal words, the problem it creates, and a before/after example.


HIGH Priority — Content Inflation

Pattern 1: Significance and Legacy Inflation

Signal words: stands/serves as, is a testament/reminder, vital/significant/crucial/pivotal/key role/moment, underscores/highlights importance, reflects broader, symbolizing ongoing/enduring/lasting, setting the stage, marking/shaping, represents/marks a shift, key turning point, evolving landscape, focal point, indelible mark, deeply rooted

Problem: Puffs up importance by claiming arbitrary aspects represent or contribute to broader topics.

Before:

The Statistical Institute of Catalonia was officially established in 1989, marking a pivotal moment in the evolution of regional statistics in Spain.

After:

The Statistical Institute of Catalonia was established in 1989 to collect and publish regional statistics independently from Spain's national statistics office.

Pattern 2: Notability and Media Emphasis

Signal words: independent coverage, local/regional/national media outlets, written by a leading expert, active social media presence

Problem: Hits readers over the head with claims of notability without context.

Before:

Her views have been cited in The New York Times, BBC, Financial Times, and The Hindu. She maintains an active social media presence with over 500,000 followers.

After:

In a 2024 New York Times interview, she argued that AI regulation should focus on outcomes rather than methods.

Pattern 3: Superficial -ing Analyses

Signal words: highlighting/underscoring/emphasizing..., ensuring..., reflecting/symbolizing..., contributing to..., cultivating/fostering..., encompassing..., showcasing...

Problem: Tacks present participle phrases onto sentences to add fake depth.

Before:

The temple's color palette resonates with the region's natural beauty, symbolizing Texas bluebonnets, reflecting the community's deep connection to the land.

After:

The temple uses blue, green, and gold colors. The architect said these were chosen to reference local bluebonnets and the Gulf coast.

Pattern 4: Promotional Language

Signal words: boasts a, vibrant, rich (figurative), profound, enhancing its, showcasing, exemplifies, commitment to, natural beauty, nestled, in the heart of, groundbreaking (figurative), renowned, breathtaking, must-visit, stunning

Problem: Cannot maintain neutral tone, especially for cultural heritage topics.

Before:

Nestled within the breathtaking region of Gonder, Alamata Raya Kobo stands as a vibrant town with a rich cultural heritage and stunning natural beauty.

After:

Alamata Raya Kobo is a town in the Gonder region of Ethiopia, known for its weekly market and 18th-century church.

Pattern 5: Vague Attributions

Signal words: Industry reports, Observers have cited, Experts argue, Some critics argue, several sources/publications

Problem: Attributes opinions to vague authorities without specific sources.

Before:

Experts believe it plays a crucial role in the regional ecosystem.

After:

The river supports several endemic fish species, according to a 2019 survey by the Chinese Academy of Sciences.

Pattern 6: Formulaic Challenges Sections

Signal words: Despite its... faces several challenges..., Despite these challenges, Challenges and Legacy, Future Outlook

Problem: Formulaic "Challenges" sections that inflate and then dismiss problems.

Before:

Despite its industrial prosperity, Korattur faces challenges typical of urban areas. Despite these challenges, Korattur continues to thrive.

After:

Traffic congestion increased after 2015 when three new IT parks opened. The municipal corporation began a stormwater drainage project in 2022.


HIGH Priority — Vocabulary

Pattern 7: AI-Frequency Vocabulary

Overused words: Additionally, align with, crucial, delve, emphasizing, enduring, enhance, fostering, garner, highlight (verb), interplay, intricate/intricacies, key (adjective), landscape (abstract), pivotal, showcase, tapestry (abstract), testament, underscore (verb), valuable, vibrant

Problem: These words appear at statistically anomalous frequency in post-2023 text and often co-occur.

Before:

Additionally, a distinctive feature is the incorporation of camel meat. An enduring testament to Italian colonial influence is the widespread adoption of pasta in the local culinary landscape.

After:

Somali cuisine also includes camel meat, which is considered a delicacy. Pasta dishes, introduced during Italian colonization, remain common in the south.

Pattern 8: Copula Avoidance

Signal words: serves as/stands as/marks/represents [a], boasts/features/offers [a]

Problem: Substitutes elaborate constructions for simple "is", "are", "has".

Before:

Gallery 825 serves as LAAA's exhibition space. The gallery features four separate spaces and boasts over 3,000 square feet.

After:

Gallery 825 is LAAA's exhibition space. The gallery has four rooms totaling 3,000 square feet.

Pattern 22: Filler Phrases

Common substitutions:

  • "In order to achieve this goal" -> "To achieve this"
  • "Due to the fact that" -> "Because"
  • "At this point in time" -> "Now"
  • "In the event that" -> "If"
  • "has the ability to" -> "can"
  • "It is important to note that" -> (delete, state the fact directly)

Pattern 23: Excessive Hedging

Problem: Over-qualifying every statement.

Before:

It could potentially possibly be argued that the policy might have some effect on outcomes.

After:

The policy may affect outcomes.


MEDIUM Priority — Structure

Pattern 9: Negative Parallelisms

Problem: "Not only...but..." and "It's not just about..., it's..." constructions are overused.

Before:

It's not just about the beat; it's part of the aggression. It's not merely a song, it's a statement.

After:

The heavy beat adds to the aggressive tone.

Pattern 10: Rule of Three

Problem: Forces ideas into groups of three to appear comprehensive.

Before:

The event features keynote sessions, panel discussions, and networking opportunities. Attendees can expect innovation, inspiration, and industry insights.

After:

The event includes talks and panels. There's also time for informal networking between sessions.

Pattern 11: Elegant Variation (Synonym Cycling)

Problem: Excessive synonym substitution driven by repetition-penalty.

Before:

The protagonist faces challenges. The main character must overcome obstacles. The central figure triumphs. The hero returns.

After:

The protagonist faces many challenges but eventually triumphs and returns home.

Pattern 12: False Ranges

Problem: "From X to Y" constructions where X and Y are not on a meaningful scale.

Before:

Our journey has taken us from the singularity of the Big Bang to the grand cosmic web, from the birth of stars to the enigmatic dance of dark matter.

After:

The book covers the Big Bang, star formation, and current theories about dark matter.

Pattern 15: Inline-Header Vertical Lists

Problem: Lists where items start with bolded headers followed by colons.

Before:

  • User Experience: The UX has been significantly improved.
  • Performance: Performance has been enhanced through optimized algorithms.
  • Security: Security has been strengthened with end-to-end encryption.

After:

The update improves the interface, speeds up load times through optimized algorithms, and adds end-to-end encryption.


MEDIUM Priority — Style

Pattern 13: Em Dash Overuse

Problem: Em dashes appear more frequently in AI text than human text, mimicking "punchy" sales writing.

Before:

The term is promoted by Dutch institutions — not by the people themselves. You don't say "Netherlands, Europe" — yet this mislabeling continues — even in official documents.

After:

The term is promoted by Dutch institutions, not by the people themselves. You don't say "Netherlands, Europe," yet this mislabeling continues in official documents.

Fix: Replace most em dashes with commas, periods, or parentheses. Keep only when the aside genuinely interrupts the sentence.

Pattern 14: Boldface Overuse

Problem: Mechanical emphasis on phrases.

Before:

It blends OKRs, KPIs, and visual tools such as the Business Model Canvas and Balanced Scorecard.

After:

It blends OKRs, KPIs, and visual tools like the Business Model Canvas and Balanced Scorecard.

Pattern 16: Title Case in Headings

Before: ## Strategic Negotiations And Global Partnerships After: ## Strategic negotiations and global partnerships

Pattern 17: Emoji Decoration

Problem: Decorating headings or bullet points with emoji.

Before:

  • :rocket: Launch Phase: The product launches in Q3
  • :bulb: Key Insight: Users prefer simplicity

After:

The product launches in Q3. User research showed a preference for simplicity.

Pattern 18: Curly Quotation Marks

Problem: ChatGPT uses curly quotes instead of straight quotes. Not all AI models do this, but it is a tell when present.

Fix: Replace all curly quotes with straight quotes.


LOW Priority — Communication Artifacts

Pattern 19: Collaborative Communication Artifacts

Signal words: I hope this helps, Of course!, Certainly!, You're absolutely right!, Would you like..., let me know, here is a...

Problem: Chatbot conversation artifacts left in published text.

Before:

Here is an overview of the French Revolution. I hope this helps! Let me know if you'd like me to expand on any section.

After:

The French Revolution began in 1789 when financial crisis and food shortages led to widespread unrest.

Pattern 20: Knowledge-Cutoff Disclaimers

Signal words: as of [date], Up to my last training update, While specific details are limited/scarce, based on available information

Before:

While specific details about the founding are not extensively documented in readily available sources, it appears to have been established sometime in the 1990s.

After:

The company was founded in 1994, according to its registration documents.

Pattern 21: Sycophantic Tone

Before:

Great question! You're absolutely right that this is a complex topic. That's an excellent point.

After:

The economic factors you mentioned are relevant here.

Pattern 24: Generic Positive Conclusions

Before:

The future looks bright. Exciting times lie ahead as they continue their journey toward excellence. This represents a major step in the right direction.

After:

The company plans to open two more locations next year.

How do I install LinkedIn post style in Cursor, Claude Code, or Codex?

Run npx skills add mathews-tom/armory --skill linkedin-post-style in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only LinkedIn post style, not every skill in the repository.

Where does LinkedIn post style come from and what license is it under?

LinkedIn post style comes from the mathews-tom/armory repository on GitHub. That repository has 264 GitHub stars. The skill is published under the MIT license.

Prefer plain text? Read the LinkedIn post style guide as markdown.