feat: add claude code skills and subagents for CDK development by pnilan · Pull Request #913 · airbytehq/airbyte-python-cdk

Actionable comments posted: 3

🧹 Nitpick comments (3)
.claude/skills/create-pr/SKILL.md (1)

68-88: Fenced code block missing a language identifier (MD040)

The PR body template block at line 68 has no language tag, which triggers the markdownlint MD040 warning. Wdyt — add markdown to keep linting clean?

✏️ Proposed fix
-   ```
+   ```markdown
    ## What
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/create-pr/SKILL.md around lines 68 - 88, The fenced code
block in the PR body template (the triple-backtick block containing "##
What/How/Changes/Recommended Review Order") lacks a language tag and triggers
markdownlint MD040; update that block by adding a language identifier (e.g.,
change the opening "```" to "```markdown") so the block is explicitly marked as
Markdown and the linter warning is resolved.
.claude/skills/diagram/SKILL.md (1)

77-77: Several fenced code blocks are missing language identifiers (MD040)

Lines 77, 110, 156, and 232 each open a code block without a language tag, which triggers the markdownlint MD040 warning. Wdyt — text or plaintext would silence the warnings without implying a specific language for the pseudo-code/template blocks?

✏️ Proposed fixes
-   ```
+   ```text
    Task(subagent_type=...
-   ```
+   ```
    Flow diagrams saved to: ...
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/diagram/SKILL.md at line 77, Several fenced code blocks in
SKILL.md open without a language tag (MD040); update each opening
triple-backtick to include a neutral language identifier like text or plaintext.
Specifically, locate the blocks that begin with the snippets
"Task(subagent_type=..." and "Flow diagrams saved to: ..." (and the other two
blocks at the noted positions) and change their fences from ``` to ```text (or
```plaintext) so markdownlint MD040 warnings are silenced while keeping the
content as plain text.
.claude/skills/explain/SKILL.md (1)

98-102: Fenced code block missing a language identifier (MD040)

The gh api command block at line 98 has no language tag. Wdyt — adding bash here would both satisfy markdownlint and give syntax highlighting for the shell commands?

✏️ Proposed fix
-```
+```bash
 gh api repos/airbytehq/airbyte/contents/airbyte-integrations/connectors/source-{name} --jq '.[].name'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/explain/SKILL.md around lines 98 - 102, Add a language
identifier to the fenced code block containing the three gh api commands by
changing the opening fence from ``` to ```bash so the block reads ```bash and
provides shell syntax highlighting for the commands `gh api
repos/airbytehq/airbyte/contents/airbyte-integrations/connectors/source-{name}`
and the subsequent manifest/metadata decode lines.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/skills/create-pr/SKILL.md:
- Around line 84-88: The heredoc terminator `EOF` in the gh pr create example in
SKILL.md can be broken by indentation; update the example to use a heredoc-safe
approach by replacing the indented `gh pr create --body "$(cat <<'EOF' ... EOF
)"` pattern with a more robust `--body-file` invocation (e.g., using process
substitution or a temporary file) so the `<generated description>` is provided
reliably; locate the example containing the `gh pr create` command and `EOF` and
swap it to use `--body-file` (or an equivalent temp-file/printf approach) and
update the explanatory text accordingly.

In @.claude/skills/diagram/SKILL.md:
- Around line 76-82: The Task(...) invocations use an undefined subagent_type
"codebase-analyzer"; update those Task calls to use the existing agent name
"cdk-code-researcher" so the subagent resolves properly (replace
subagent_type="codebase-analyzer" with subagent_type="cdk-code-researcher" in
both Task(...) occurrences referenced in SKILL.md); ensure you update both
instances (the one around the "Trace the data flow..." prompt and the second
occurrence later in the file).

In @.claude/skills/generate-pr-description/SKILL.md:
- Line 40: Fix the typo in the SKILL.md template string: find the line
containing "only include files with significant changes. avoid including tests,
changelogs, documentation, and other files with trivial cahnges" and replace
"cahnges" with "changes" so the ordered list guidance reads correctly.

---

Nitpick comments:
In @.claude/skills/create-pr/SKILL.md:
- Around line 68-88: The fenced code block in the PR body template (the
triple-backtick block containing "## What/How/Changes/Recommended Review Order")
lacks a language tag and triggers markdownlint MD040; update that block by
adding a language identifier (e.g., change the opening "```" to "```markdown")
so the block is explicitly marked as Markdown and the linter warning is
resolved.

In @.claude/skills/diagram/SKILL.md:
- Line 77: Several fenced code blocks in SKILL.md open without a language tag
(MD040); update each opening triple-backtick to include a neutral language
identifier like text or plaintext. Specifically, locate the blocks that begin
with the snippets "Task(subagent_type=..." and "Flow diagrams saved to: ..."
(and the other two blocks at the noted positions) and change their fences from
``` to ```text (or ```plaintext) so markdownlint MD040 warnings are silenced
while keeping the content as plain text.

In @.claude/skills/explain/SKILL.md:
- Around line 98-102: Add a language identifier to the fenced code block
containing the three gh api commands by changing the opening fence from ``` to
```bash so the block reads ```bash and provides shell syntax highlighting for
the commands `gh api
repos/airbytehq/airbyte/contents/airbyte-integrations/connectors/source-{name}`
and the subsequent manifest/metadata decode lines.