Skip to content

Add blog post: AI coding agent orchestration frameworks compared#18493

Merged
dirien merged 8 commits intomasterfrom
dirien/claude-code-frameworks
Apr 14, 2026
Merged

Add blog post: AI coding agent orchestration frameworks compared#18493
dirien merged 8 commits intomasterfrom
dirien/claude-code-frameworks

Conversation

@dirien
Copy link
Copy Markdown
Contributor

@dirien dirien commented Apr 13, 2026

Summary

  • New blog post comparing three community frameworks for AI coding agents: Superpowers (TDD), GSD (context rot), and GSTACK (role governance)
  • Includes command reference tables, comparison matrices, install instructions, and Pulumi workflow integration
  • Author: Engin Diri
  • Feature and meta images generated with Anthropic/Cursor/OpenAI logo template

Test plan

  • Verify post renders at /blog/claude-code-orchestration-frameworks/
  • Check all internal links resolve (Pulumi docs, previous blog posts)
  • Check all external links resolve (GitHub repos, LinkedIn profiles)
  • Verify comparison tables render correctly
  • Confirm feature and meta images display properly
  • Run /docs-review for style compliance

…compared

New blog post comparing three community frameworks for AI coding agents.
Covers Superpowers (TDD enforcement), GSD (context rot prevention), and
GSTACK (role-based governance) with command reference tables, install
instructions, and Pulumi workflow integration guidance.
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 13, 2026

Docs Review

Scope: All changed files in PR #18493 (blog post, SVG logos, feature/meta images)

Issues

  1. Missing social.linkedin and social.bluesky keys (index.md:18-19): The frontmatter has a social: block with only twitter. Without linkedin and bluesky keys, this post won't be promoted on those platforms. Add copy for both, or acknowledge this is intentional.

  2. GitHub star counts will go stale quickly (index.md:60, 82, 94, 143): The post cites exact star counts for all three repos (149K, 51K, 71K). These numbers change daily and will make the post look dated within weeks. Consider either removing exact counts, using softer language ("tens of thousands of stars"), or noting "as of April 2026."

  3. GitHub repos linked inline rather than using github-card shortcode (index.md:22, 60, 82, 94): The blog review criteria recommend using {{</* github-card */>}} for GitHub repo references. The three framework repos (Superpowers, GSD, GSTACK) and the Pulumi Agent Skills repo are all linked inline. Consider using the shortcode for at least the three main repos, which would give readers richer previews.

  4. Heading case (index.md:34, 60, 82, 94, 118, 135, 151, 161, 169): Per AGENTS.md, H2+ headings should use sentence case. Several headings use title case or inconsistent casing:

    • ## The problem all three frameworks solve — correct (sentence case)
    • ## Superpowers: the test-driven discipline enforcer — correct
    • ## Where each framework fits — correct
    • ## Combining frameworks with Pulumi workflows — "Pulumi" is a proper noun so this is fine
    • ## Getting started — correct

    All headings actually look fine on re-check. No issue here.

  5. Unverifiable claim — chardet 41x performance (index.md:72): "Jesse used Superpowers to ship chardet v7.0.0 with a 41x performance improvement." This is a specific, quantitative claim. If it comes from the repo's README or release notes, consider linking to the source for credibility.

  6. pulumi/agent-skills repo reference (index.md:153): The post links to https://github.com/pulumi/agent-skills. Verify this repo is public and accessible to readers. If it's private or doesn't exist yet, this will be a broken link on publish.

Minor Observations

  • SVG asset changes (.claude/commands/blog-meta-image/assets/logos/): The Anthropic and Cursor SVGs are new, and the OpenAI SVG was simplified from a complex multi-path version to a compact single-path version. These are tooling assets for the meta image generator. The simplified OpenAI SVG renders correctly in the meta image — looks good.
  • Images: Both meta.png (321KB) and feature.png (155KB) are reasonable sizes. The meta image shows the blog title with Anthropic, Cursor, and OpenAI logos. The feature image shows the logos without text. Both use current Pulumi branding. No alt text issues since these are referenced only in frontmatter (meta_image / feature_image), not inline.
  • No em-dash overuse: Zero em-dashes found. Clean.
  • No forbidden words: No instances of "easy," "simple," or "just."
  • <!--more--> break: Present and correctly positioned after the intro paragraphs.
  • Author profile: engin-diri exists in data/team/team/ with active status.
  • Internal links verified: /docs/iac/clouds/aws/guides/, /docs/iac/clouds/aws/guides/vpc/, /docs/iac/concepts/components/, /docs/iac/clouds/aws/guides/iam/, /docs/iac/guides/testing/, /docs/iac/cli/commands/pulumi_preview/, /docs/iac/cli/commands/pulumi_up/, /docs/iac/concepts/inputs-outputs/, /docs/esc/guides/configuring-oidc/aws/, /docs/get-started/, /product/neo/ — all resolve to existing content files.
  • Internal blog links verified: /blog/top-8-claude-skills-devops-2026/, /blog/grounded-ai-why-neo-knows-your-infrastructure/, /blog/10-things-you-can-do-with-neo/ — all exist.
  • Writing quality: Strong, opinionated, well-structured. Good use of comparison tables. Sentence rhythm is varied. No AI-writing red flags.

Publishing Readiness Checklist

  • social: block present with copy for twitter, linkedin, blueskyMISSING linkedin and bluesky
  • meta_image set, not empty, and not the default placeholder
  • meta_image uses current Pulumi logos
  • <!--more--> break present after intro
  • Author profile exists with avatar
  • All internal links resolve
  • Code examples correct with language specifiers
  • No animated GIFs used as meta_image
  • Images have appropriate format and size
  • Title >60 chars and allow_long_title: true is set

Mention @claude if you'd like additional reviews or automated fixes.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 13, 2026

Social Media Review


content/blog/claude-code-orchestration-frameworks/index.md

Title: Superpowers, GSD, and GSTACK: Picking the Right Framework for Your Coding Agent


X

Decision: FAIL

Reasons:

  • Platform structure violation: X requires at least 2 paragraphs separated by a line break. The entire copy is a single paragraph with no break.

Guidance:

  • Split into two paragraphs: a hook (the first sentence works well) and a payoff (the rest). Add a blank line between them.

LinkedIn

Missing — not a failure, but noted for awareness.


Bluesky

Missing — not a failure, but noted for awareness.

@pulumi-bot
Copy link
Copy Markdown
Collaborator

pulumi-bot commented Apr 13, 2026

Add linkedin and bluesky social keys to frontmatter. Add github-card
shortcodes for the three framework repos in the getting started section.
Fix rule-of-three parallel structure, add personal opinion, vary
framework descriptions, fix grammar in Twitter copy.
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 13, 2026

Social Media Review


X — FAIL

Reasons:

  • Uses "I" voice ("I tried three frameworks") — posts from Pulumi's corporate account must use "we" or no personal pronoun
  • Single paragraph with no line break — X requires at least 2 paragraphs separated by a blank line

Guidance:

  • Split the post into two paragraphs: hook (problem/tension) → payoff (the frameworks + recommendation)
  • Replace "I" with "we" or restructure to drop the subject entirely

LinkedIn — FAIL

Reasons:

  • Uses "I" voice ("I tried three frameworks") — same issue as X; this is a corporate account post

Guidance:

  • Change "I tried" to "we tested" or restructure to lead with the observation rather than who did the trying
  • Structure and specificity are otherwise strong; this is the only blocker

Bluesky — PASS

Guidance:

  • Bluesky guidance favors 2 paragraphs; consider a line break after the opening sentence to improve scannability, though this is not a hard requirement

Address social-review feedback: replace "I tried" with neutral voice
for corporate account, split Twitter into 2 paragraphs, add paragraph
break to Bluesky for scannability.
@adamgordonbell
Copy link
Copy Markdown
Contributor

@claude could you try rewriting the social posts so they pass and so they aren't summarizes of the article but instead a hook or setup for getting someone to read the article from the pulumi brand

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 13, 2026

Claude finished @adamgordonbell's task in 2m 11s —— View job


Rewriting Social Media Posts

  • Gather context
  • Read current blog post and social copy
  • Write new X/Twitter post
  • Write new LinkedIn post
  • Write new Bluesky post
  • Commit and push changes

Done. Here's what changed and why:

The problem with the old copy: It summarized the article — listing which framework does what and telling readers that "GSD matters most for infrastructure." Once you've read that, you don't need to click.

The new approach: Each post opens with the pain point readers already recognize, names the problem without naming the solution, and leaves the answer in the article.


X/Twitter (passing — 2 paragraphs, no first person)

AI coding agents break down in predictable ways. Context rot. Tests quietly skipped. Scope that drifts until you're paying for infrastructure nobody asked for.

Three community frameworks independently built answers — and they take completely different approaches. We tested all three on real infrastructure workflows to find out which failure mode each one actually fixes.


LinkedIn (3 paragraphs, no first person, professional tone)

There's a pattern every team building with AI coding agents eventually hits. First session: impressive. By the third session on a complex project, the agent has forgotten half your requirements, stopped writing tests, and started provisioning resources nobody asked for.

The context window doesn't care how well you wrote your prompt. It fills up. Earlier instructions lose weight. Quality degrades — predictably, every time.

Three community frameworks converged on fixes, and they take completely different approaches. We spent several weeks testing all three on real infrastructure workflows with Pulumi. Which one helps depends entirely on which failure mode keeps hitting you.


Bluesky (2 paragraphs, no first person, hook)

AI coding agents have a window where everything works. After that, context rot, skipped tests, and scope drift are predictable — regardless of which agent you're using.

Three community frameworks built different answers to this problem. We tested them on real Pulumi infrastructure workflows. Which one helps depends on what keeps going wrong.


· Branch

Use Pulumi brand voice (no first-person), and open with the
reader's pain point rather than the article's conclusions.

Co-authored-by: Adam Gordon Bell <adamgordonbell@users.noreply.github.com>
@adamgordonbell
Copy link
Copy Markdown
Contributor

@claude Rewrite the social posts to sound more natural. Remove AI-style phrasing, avoid em dashes, and use complete, uncluttered sentences.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 13, 2026

Claude finished @adamgordonbell's task in 1m 32s —— View job


Rewriting Social Posts

  • Gather context
  • Read current social copy in the blog post
  • Rewrite X/Twitter post (natural, no em dashes, no AI phrasing)
  • Rewrite LinkedIn post (natural, no em dashes, no AI phrasing)
  • Rewrite Bluesky post (natural, no em dashes, no AI phrasing)
  • Commit and push changes

Done. Here is what changed and why:

Problems fixed:

  • Removed all three em dashes
  • Replaced staccato punchy fragments ("Context rot. Tests quietly skipped.") with complete sentences
  • Replaced AI-ish constructions like "independently built answers", "converged on fixes", "failure mode keeps hitting you"
  • Tightened phrasing throughout

X/Twitter

AI coding agents fail in recognizable ways. Context fills up and early instructions fade, tests get skipped, and scope expands past what you asked for. Three separate community teams built frameworks to address these problems, each taking a completely different approach.

We tested all three on real infrastructure workflows. Which one helps depends on which problem keeps hitting you.


LinkedIn

There is a pattern that teams building with AI coding agents tend to hit on longer projects. The first session is impressive. By the third, the agent has lost track of earlier requirements and started adding infrastructure nobody asked for.

The context window is the core issue. It fills up, and earlier instructions carry less weight as it does. Writing better prompts helps at the start but does not solve the underlying problem.

Three community frameworks tackled this in different ways. We spent a few weeks running all three on real Pulumi infrastructure work. Which one helps most comes down to which problem keeps showing up for you.


Bluesky

AI coding agents tend to work well at first and then run into the same issues: context rot on long sessions, tests that get quietly skipped, and scope that grows past what you asked for. It happens across every agent, not just one.

Three community frameworks built different approaches to these problems. We tested them on real Pulumi infrastructure workflows. Which one helps depends on where things tend to break down.


· Branch

Co-authored-by: Adam Gordon Bell <adamgordonbell@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@CamSoper CamSoper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — the post is in great shape, Engin. Star counts, install commands, and all 14 internal Pulumi links check out. Heading case, sentence case, and no em-dash issues.

One thing worth a look before you merge:

chardet attribution (Superpowers section). The "41x performance improvement" claim and chardet v7.0.0 both check out — the release notes literally say "41x faster than chardet 6.0.0 with mypyc, 28x pure Python". But the v7.0.0 release on GitHub was cut by dan-blanchard, not Jesse Vincent (obra). "Jesse used Superpowers to ship chardet v7.0.0" reads like Jesse is the maintainer who released it. If Jesse contributed the perf work via Superpowers and dan-blanchard merged/released it, something like "Jesse used Superpowers on his chardet contributions, which landed in v7.0.0 — 41x faster than 6.0.0 with mypyc, 28x in pure Python" would be more accurate. Worth a quick sanity check.

A couple of things I didn't verify (both likely fine, flagging in case you want to double-check):

  • Lex Christopherson as GSD's creator (the repo is org-owned at gsd-build, not directly attested on the landing page)
  • Garry Tan as YC CEO (widely known, didn't dig in)

Everything else is clean. The "know your failure mode" framing at the end is the right lens.

Dan Blanchard (chardet maintainer since 2012) used Superpowers to
rewrite chardet v7.0.0. Jesse Vincent created Superpowers but did not
write or release chardet. Fix attribution in both blog body and
LinkedIn social copy.
@dirien
Copy link
Copy Markdown
Contributor Author

dirien commented Apr 14, 2026

Thanks Cam, good catch on the chardet attribution. You were right: dan-blanchard (chardet maintainer since 2012, 879 commits) used Claude Code with the obra/superpowers plugin to do the v7.0.0 rewrite. Jesse created Superpowers but did not write or release chardet. The Medium source material was ambiguous on this and I compounded it.

Fixed in 3bfa13f: changed "Jesse used Superpowers to ship chardet v7.0.0" to "The chardet maintainer used Superpowers to rewrite chardet v7.0.0 from scratch." Same fix applied to the LinkedIn social copy (which the social-review bot had already rewritten, removing the reference).

On the other two flags:

  • Lex Christopherson as GSD creator: Verified. The repo is org-owned at gsd-build but the description says "by TACHES" (his alias), and it redirects from glittercowboy/get-shit-done. His LinkedIn confirms.
  • Garry Tan as YC CEO: Verified via LinkedIn, Wikipedia, and the YC website.

@adamgordonbell
Copy link
Copy Markdown
Contributor

@claude update social posts in front matter:

Suggested copy

X (226/255 chars):

We gave three AI coding frameworks the same Pulumi project. One produced a 41x speedup. One caught scope drift the others missed entirely. One we probably won't use again.

Here's how they compared on real infrastructure work.
LinkedIn (504/2950 chars):

We gave three open-source AI coding frameworks the same real infrastructure project and ran them for a few weeks.

One produced a 41x speedup on a library release along the way. One caught a category of bug the other two missed entirely. One we probably won't reach for again.

They have 270K combined GitHub stars and completely different theories about what goes wrong when agents work on longer projects. Turns out they're not all solving the same problem.

Here's what we found and when to use which.
Bluesky (197/300 chars):

We ran three AI coding frameworks on the same Pulumi infrastructure project for a few weeks. One caught scope drift the other two missed. One we probably won't use again.

Here's how they compared.

@pulumi-bot
Copy link
Copy Markdown
Collaborator

pulumi-bot commented Apr 14, 2026

Claude finished @adamgordonbell's task in 40s —— View job


Updating social media copy

  • Read current blog post frontmatter
  • Update X/Twitter copy
  • Update LinkedIn copy
  • Update Bluesky copy
  • Commit and push

Done. Replaced all three social posts in index.md frontmatter with the suggested copy (commit 83be317).
· Branch

@adamgordonbell
Copy link
Copy Markdown
Contributor

@dirien post looks great. Social post review process clearly struggled on this, but updates coming for that. This looks publishable to me.

Co-authored-by: Adam Gordon Bell <adamgordonbell@users.noreply.github.com>
@dirien dirien enabled auto-merge (squash) April 14, 2026 14:25
@dirien dirien closed this Apr 14, 2026
auto-merge was automatically disabled April 14, 2026 14:56

Pull request was closed

@dirien dirien reopened this Apr 14, 2026
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 14, 2026

Docs Review

Overall this is a well-structured, engaging comparison post with strong Pulumi tie-ins and good table-based comparisons. A few issues to address:

Issues

1. Style guide: prohibited words (lines 57, 153, 184)

The style guide says to avoid words like "easy" or "simple." The post uses:

  • Line 57: "The core idea is simple"
  • Line 153: "where unit tests are straightforward"
  • Line 184: "the install commands are straightforward"
The core idea is direct: no production code gets written without a failing test first.

Consider replacing "straightforward" on lines 153 and 184 as well (e.g., "where unit tests are well-defined" and "the install commands are short").

2. First mention of tools not hyperlinked (line 37)

Per blog review criteria, the first mention of every tool, technology, or product must be hyperlinked. Cursor, Codex, Windsurf, and Gemini CLI are all mentioned in the first paragraph without links.

3. Social copy sets expectations the post doesn't deliver (frontmatter lines 19-33)

All three social blocks say "One we probably won't use again," which creates a strong negative verdict. The blog itself is balanced and never identifies a framework it would not use again. Readers who click through expecting a clear winner/loser will feel misled. Either soften the social copy or add a clearer verdict in the post.

4. "S3 bucket" link destination is generic (line 47)

The anchor text "S3 bucket" links to /docs/iac/clouds/aws/guides/ (the AWS guides index), not S3-specific content. Consider linking to a more relevant target or adjusting the anchor text to match (e.g., "AWS resources").

5. LLM acronym not expanded at first use (line 47)

"Every LLM has a context window" — while widely known in AI circles, the style guide requires non-Pulumi acronyms to be spelled out on first use. Consider "Every large language model (LLM) has a context window" at the first occurrence.

6. Star counts will go stale quickly (lines 57, 84, 112, 148)

The post cites specific GitHub star counts (149K, 51K, 71K) for each framework. These change rapidly. Consider adding "at time of writing" or using approximate language, or removing the exact counts from the comparison table since the {{< github-card >}} shortcodes at the bottom will show live star counts.

Minor notes

  • Line 94: "For a quick script or a single-file change, the phase-based workflow is overkill." — The word "overkill" is mildly aggressive per the inclusive language guidance (avoid violent/aggressive terms). Consider "excessive" or "more ceremony than you need."
  • The feature_image field is set but note that the review criteria call for blog screenshots to have 1px gray borders — verify the feature.png and meta.png render well against white backgrounds.

Publishing readiness checklist

  • social: block present with copy for twitter, linkedin, bluesky
  • meta_image set and not empty (155 KB)
  • meta_image uses current Pulumi logos — unable to visually verify in CI
  • <!--more--> break present after intro (line 41)
  • Author profile exists (engin-diri) with avatar
  • Internal links resolve (docs paths verified)
  • Code examples correct with language specifiers (bash)
  • No animated GIFs used as meta_image
  • Images have alt text; screenshots have 1px gray borders — N/A (no inline images)
  • Title >60 chars (79) with allow_long_title: true set

Mention @claude if you'd like additional reviews or automated fixes.

@github-actions
Copy link
Copy Markdown
Contributor

Social Media Review

content/blog/claude-code-orchestration-frameworks/index.md

X — PASS

LinkedIn — PASS

Bluesky — PASS


To apply these suggestions, comment: @claude please update the social posts in the frontmatter with the suggested copy from the social media review above

To re-run the social media review after updates, comment: /social-review

@dirien dirien merged commit 6d250b7 into master Apr 14, 2026
10 checks passed
@dirien dirien deleted the dirien/claude-code-frameworks branch April 14, 2026 15:06
@github-actions
Copy link
Copy Markdown
Contributor

📣 Social media post results for this blog post:

  • x: posting failed — will retry on next merge to master
  • linkedin: posting failed — will retry on next merge to master
  • bluesky: posting failed — will retry on next merge to master

@github-actions
Copy link
Copy Markdown
Contributor

📣 Social media post results for this blog post:

@github-actions
Copy link
Copy Markdown
Contributor

📣 Social media post results for this blog post:

  • x: posting failed — will retry on next merge to master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants