Skip to content

Add documentation agent skills and voice references#834

Draft
ryanycoleman wants to merge 4 commits into
strands-agents:mainfrom
ryanycoleman:docs/add-claude-skills
Draft

Add documentation agent skills and voice references#834
ryanycoleman wants to merge 4 commits into
strands-agents:mainfrom
ryanycoleman:docs/add-claude-skills

Conversation

@ryanycoleman
Copy link
Copy Markdown
Member

Description

I'm proposing a set of Agent Skills for docs planning, authoring, and validation to assist our team and community contributors who want to maintain documentation for Strands. Of these, I'm most opinionated about the voice guide which dictates approaches for varying types of content.

Related Issues

Type of Change

  • New content

Checklist

  • I have read the CONTRIBUTING document
  • My changes follow the project's documentation style
  • I have tested the documentation locally using npm run dev
  • Links in the documentation are valid and working

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 12, 2026

Documentation Preview Ready

Your documentation preview has been successfully deployed!

Preview URL: https://d3ehv1nix5p99z.cloudfront.net/pr-cms-834/docs/user-guide/quickstart/overview/

Updated at: 2026-05-12T22:10:30.893Z

Comment thread .claude/skills/docs-writer/SKILL.md Outdated
Comment thread CLAUDE.md Outdated
Comment thread CLAUDE.md Outdated
Comment thread .agents/references/terminology.md
Comment thread .agents/skills/docs-planner/SKILL.md
Comment thread .gitignore
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Comment

This is a well-thought-out set of documentation agent skills and voice references. The five-layer voice guide, terminology lock, and skill delineation (writer/reviewer/auditor/planner) show strong editorial thinking.

Review Themes
  • Scope clarity: The relationship between CLAUDE.md and the existing AGENTS.md needs clarification so contributors know which to follow. Both provide agent guidance with different scopes.
  • Forward references: The docs-writer skill references a non-existent exemplars/ directory, and the cross-agent compatibility claim in CLAUDE.md may overstate current portability.
  • Terminology coherence: "Skills" appears in the terminology lock as a banned synonym for "tools" (in SDK context), but this PR uses "skills" in the agentskills.io sense. A clarifying note would prevent confusion.
  • Graceful degradation: Skills that depend on external tools (gh CLI, web access) should specify fallback behavior more explicitly.

The voice guide in particular is excellent reference material that will help maintain consistency across contributors.

Restructure skills/references under .agents/ as the canonical source, with
.claude/ and .kiro/ directories holding symlinks back into .agents/. This
lets edits flow through any tool's expected path while keeping a single
underlying file.

Folds the now-redundant CLAUDE.md content into AGENTS.md, drops the
forward-referenced exemplars/ step from docs-writer, clarifies the "skills"
terminology overlap (SDK tools vs. agentskills.io files), notes that
src/config/navigation.yml is the authoritative navigation source for the
Astro site (mkdocs.yml is legacy), and adds STRANDS_SDK_PYTHON /
STRANDS_SDK_TYPESCRIPT env var overrides for users whose SDK clones live
outside the .build/ default.
Comment thread AGENTS.md
Comment thread .agents/skills/docs-reviewer/SKILL.md Outdated
Comment thread .agents/references/code-verification.md Outdated
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Approve

The updated PR addresses all major feedback from the previous review. The .agents/ canonical location with symlinks for .claude/ and .kiro/ is a clean tool-agnostic architecture, and the AGENTS.md updates tie everything together well.

Remaining minor items
  • Symlink portability: Windows users may need Developer Mode for symlinks to work. A one-line note in AGENTS.md would prevent confusion.
  • Review log path: docs-reviewer references .claude/review-log.md which is tool-specific in an otherwise tool-agnostic skill set.
  • Env var discoverability: The STRANDS_SDK_* env vars in code-verification.md are a nice addition but not discoverable from other docs yet.

None of these are blockers. The voice guide, terminology lock, and skill delineation are strong and ready to drive documentation consistency.

The env-var override in code-verification.md was over-engineered for a
case nobody is hitting: contributors who don't run `npm run sdk:clone`
and don't have `gh` available. Tier 1 (gh api) and Tier 2 (.build/sdk-*)
already cover the realistic paths.

Restore the skills-and-triggers table from the original CLAUDE.md so
readers can see what each skill does without opening four SKILL.md files.
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Approve

No new issues in this iteration. The env var removal simplifies code-verification.md and the skills table in AGENTS.md improves discoverability. The two minor items from the previous review (.claude/review-log.md path in docs-reviewer, Windows symlink note) remain open but are non-blocking and can be addressed in a follow-up.

This is ready to merge.

- AGENTS.md: note that the symlinks need Developer Mode or
  core.symlinks=true on Windows; suggest working in .agents/ directly
  if they don't resolve.
- docs-reviewer: point the optional review log at .agents/review-log.md
  rather than .claude/review-log.md, so the path is consistent for
  agents reaching the skill via any tool's symlink.
@github-actions
Copy link
Copy Markdown
Contributor

Assessment: Approve

All previous feedback has been addressed. The Windows symlink note and the review-log path fix were the last two items — both resolved in this commit. No new issues identified.

Ready to merge. 🚢

@notowen333
Copy link
Copy Markdown
Contributor

notowen333 commented May 12, 2026

My updates to this PR were scoped to

  1. small skills cleanup
  2. merging CLAUDE.md into AGENTS.md
  3. adding .agents/ as the canonical skills location with .kiro/ and .claude/ as symlinks

Items 2 + 3 were pursued to keep our tooling neutral.

The full content of the skills themselves was not fully reviewed. My thought was to iterate on the skills in follow up PRs. i.e. we have usage cases and can make updates based on those cases.

If other's want to do a deeper initial pass on the skills themselves, we can do that too.

Copy link
Copy Markdown
Contributor

@notowen333 notowen333 left a comment

Choose a reason for hiding this comment

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

Excited to add these skills and continue to iterate them. Left a first pass of comments

gh api repos/strands-agents/sdk-typescript/contents/src/[path]
```

**Key Python modules:**
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We can beef up this and below TS module section for better completeness


## Tier 2: Local SDK Clones

If `gh` is unavailable, check the local clones populated by `npm run sdk:clone`:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we'll be more efficient to check file system first and then fall back to GH

<!-- NEEDS-VERIFICATION: [class/method] against SDK source -->
```

Additionally, list all unverified blocks in the PR description so reviewers know what to check. Do not leave verification comments as the only safeguard on merged pages.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We don't want to raise anything in the PR description that is unverified


Mark snippet boundaries in source files:

```typescript
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

this example is confusing because it mixes the mdx and the TS snippet which is in a separate file

Informational content.
:::

:::tip
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

we can add one liner guidance for the patterns of when to use each of these


### Step 5: Competitive comparison (optional)

If the topic is covered by competitor docs (LangChain, CrewAI, Anthropic, OpenAI), fetch their equivalent page and note:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we might want to flesh out the procedure required here. Also which kinds of docs would require using this step

- **Register:** Is the tone appropriate for the content type?
- **Constraints:** Scan for banned phrases, em-dashes, passive voice, hedging. Apply type-aware overrides (passive in reference is fine; longer sentences in explanation are fine).
- **Authenticity:** Structural variety, visible editorial choices, concision.

Copy link
Copy Markdown
Contributor

@notowen333 notowen333 May 13, 2026

Choose a reason for hiding this comment

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

Can add

Narrative flow Start with why the topic matters and what use-case problems it solves. Throughout, show how to implement using Strands SDK in a self-contained, concise way.

For each code block:
- Structurally complete (Stripe principle): imports present, variables defined, copy-paste-ready without hunting for context.
- Self-explanatory (Deno principle): makes sense without surrounding prose; comments explain intent, not mechanics.
- Realistic variable names (no `foo`, `bar`, `my_var`).
Copy link
Copy Markdown
Contributor

@notowen333 notowen333 May 13, 2026

Choose a reason for hiding this comment

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

replace:

self-documenting, concise variable names (no foo, ...)

- Comments explain intent, not mechanics
- One concept per code block

### Step 3b: Apply MDX formatting
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can add a step for writing code snippets in their own files and link to the snippet guide I suggested


**Bidirectional streaming.** For real-time interfaces (voice, interactive), document both the input and output streams. Show the event loop pattern, not just the output consumption pattern.

### Version sensitivity
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think it would be more confusing than helpful to have an assortment of version minimums scattered throughout the docs themselves.

I'm OK to add the corresponding frontmatter for future use cases like 1.0/2.0, but would remove the directive to inline version requirements in prose

@notowen333
Copy link
Copy Markdown
Contributor

Note: I am finding really nice use of /goal command to combine these skills until audit passes. This is useful with coding Agents but maybe we'll need to ship a goal feature in Strands to automate skill use until completion

@notowen333
Copy link
Copy Markdown
Contributor

For automatic tagging system... me and @zastrowm spent some time reviewing what can be achieved in the automatic related page generation and decided it's better to curate links per page to ensure the best links and avoid erroneous links.

So, we'll want to add some content in these skills to add a "Explore Next/See Also" (or some other verbiage) section.

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.

2 participants