Skip to content

chore(skills): add self-improving devflow skill#1288

Open
markturansky wants to merge 1 commit intoalphafrom
chore/add-devflow-skill
Open

chore(skills): add self-improving devflow skill#1288
markturansky wants to merge 1 commit intoalphafrom
chore/add-devflow-skill

Conversation

@markturansky
Copy link
Copy Markdown
Contributor

@markturansky markturansky commented Apr 11, 2026

Summary

  • Adds .claude/skills/devflow/SKILL.md — the end-to-end development workflow skill covering ticket → branch → spec → PR → review → code → deploy → verify.
  • Self-improving: the skill contains instructions to update itself whenever a failure path is discovered or a correct path is validated.
  • Seeded Known Pitfalls from existing context files and guide lessons (TESTCONTAINERS_RYUK_DISABLED, podman --no-cache, ctr import, gRPC port conflicts, generated code fixups).
  • Includes a turn counter reminder (every 10 turns) to survive context compaction.

Test plan

  • Invoke the skill with @.claude/skills/devflow and walk through a small code change to validate the workflow steps
  • Verify the turn counter reminder fires at turn 10
  • Intentionally hit a known pitfall to confirm the skill surfaces the correct path

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added comprehensive development workflow documentation including step-by-step procedures for ticket setup, code implementation, PR creation, review processes, and deployment verification with image availability checks
    • Included component-specific build and test commands with environment setup prerequisites for multiple system components
    • Added troubleshooting guide with known issues, solutions, and ongoing self-improvement tracking for discovered failure paths

Establishes the end-to-end development workflow as a Claude skill:
ticket → branch → spec → PR → review → code → deploy → verify.
Seeded Known Pitfalls from existing context files and guide lessons.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 11, 2026

📝 Walkthrough

Walkthrough

Added a new skill documentation file that outlines the complete development workflow for the Ambient Code Platform, including ticket/branch setup, implementation phases, component-specific build/test commands, known pitfalls with corrections, and a self-improving log section with turn-counter reminders.

Changes

Cohort / File(s) Summary
Devflow Skill Documentation
.claude/skills/devflow/SKILL.md
New comprehensive workflow guide including: end-to-end development phases (ticket setup through post-deployment verification), component-specific build/test quick reference commands (API server, CLI, SDK, frontend, runner, control plane), "Known Pitfalls (Self-Improving Section)" documenting specific failures and corrections (podman/RYUK requirements, kind image loading, go.sum issues, gRPC port-forward workarounds), turn counter reminder every 10 turns, and initial self-improvement log entry dated 2026-04-10.
🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Title follows Conventional Commits format (chore(skills): ...) and clearly describes the main change: adding a self-improving devflow skill documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Performance And Algorithmic Complexity ✅ Passed PR adds only markdown documentation with no algorithmic implementations, data structures, or performance-sensitive code. No O(n²) algorithms, N+1 patterns, unbounded caches, or pagination issues present.
Security And Secret Handling ✅ Passed Documentation file contains no hardcoded secrets, API keys, tokens, or sensitive credentials. Uses public registries and placeholder values.
Kubernetes Resource Safety ✅ Passed PR adds only documentation (markdown file) with no Kubernetes resource definitions, YAML specs, or container configurations. Resource safety checks are not applicable.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/add-devflow-skill
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch chore/add-devflow-skill

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
.claude/skills/devflow/SKILL.md (1)

334-340: Strengthen --no-verify guidance with a required follow-up.

Line 338 is useful as an escape hatch, but without a required follow-up it can normalize skipping quality gates.

Proposed edit
 git commit --no-verify    # skip pre-commit hooks (use sparingly)

-But prefer fixing the lint/format issue instead.
+If used, run the equivalent checks manually before push and fix failures immediately.
+But prefer fixing the lint/format issue instead.

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @.claude/skills/devflow/SKILL.md around lines 334 - 340, Update the
"Pre-commit Hooks" guidance to strengthen the --no-verify escape hatch: after
mentioning git commit --no-verify, add a required follow-up sentence
instructing the developer to run the equivalent pre-commit checks manually
(e.g., the same linters/formatters from .pre-commit-config.yaml) before pushing
and to fix any failures immediately; keep the existing "But prefer fixing the
lint/format issue instead." line afterward.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/skills/devflow/SKILL.md:

  • Around line 34-50: The fenced workflow block starting at the list of steps
    should include a language tag to satisfy markdown linting; update the
    triple-backtick fence that encloses the numbered steps (the fenced workflow
    block) to use a language like "text" (e.g., ```text) so the block is explicitly
    typed and renders consistently.
  • Around line 187-196: Replace the "TBD" steps under "5b. Update GitOps
    Repository" and "5c. Verify Deployment" with concrete commands and process: use
    skopeo inspect to obtain the immutable image digest (reference skopeo inspect
    and jq to extract .Digest), update the GitOps manifests to pin the image as
    @sha256:, commit the change and open/merge a PR; after merge, verify
    rollout by running kubectl -n ambient-code get deploy,pods and kubectl -n
    ambient-code rollout status deploy/ambient-api-server --timeout=120s, perform
    quick smoke checks and then run the component/e2e test commands referenced in
    this skill's quick reference.

Nitpick comments:
In @.claude/skills/devflow/SKILL.md:

  • Around line 334-340: Update the "Pre-commit Hooks" guidance to strengthen the
    --no-verify escape hatch: after mentioning git commit --no-verify, add a
    required follow-up sentence instructing the developer to run the equivalent
    pre-commit checks manually (e.g., the same linters/formatters from
    .pre-commit-config.yaml) before pushing and to fix any failures immediately;
    keep the existing "But prefer fixing the lint/format issue instead." line
    afterward.

</details>

<details>
<summary>🪄 Autofix (Beta)</summary>

Fix all unresolved CodeRabbit comments on this PR:

- [ ] <!-- {"checkboxId": "4b0d0e0a-96d7-4f10-b296-3a18ea78f0b9"} --> Push a commit to this branch (recommended)
- [ ] <!-- {"checkboxId": "ff5b1114-7d8c-49e6-8ac1-43f82af23a33"} --> Create a new PR with the fixes

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Path: .coderabbit.yaml

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `75e38c71-9a5a-4f83-8ebb-3d24b789f821`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 23002c1dc85b7b0d0c25c60cf261b754a5183ea8 and bab5e8704feab4f63d71d96a49efd1bf90df8995.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `.claude/skills/devflow/SKILL.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment on lines +34 to +50
```
1. Ticket (optional)
2. Branch (from ticket name if available)
3. Spec change (load + modify the component's .spec.md)
4. Commit spec → push → PR against `alpha`
5. Review (agentic: thorough PR review; human: desired but optional)
6. On spec acceptance → load the component's .guide.md (the implementation workflow)
7. Branch (from ticket name if available)
8. Commit order:
a. Guide/skill/workflow self-improvement changes (1 commit)
b. Code changes grouped by component
9. Push → PR against `alpha`
10. Review (human + bot comments; local review too)
11. On merge → await quay.io image
12. Update gitops repository with new image SHA (Skill TBD)
13. After deployment → run tests / e2e suite (TBD)
```
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.

⚠️ Potential issue | 🟡 Minor

Add a language to the fenced workflow block.

Line 34 uses a fenced code block without a language tag, which trips markdown lint and reduces rendering consistency.

Proposed edit
-```
+```text
 1. Ticket (optional)
 2. Branch (from ticket name if available)
 ...
 13. After deployment → run tests / e2e suite (TBD)
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.22.0)

[warning] 34-34: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/devflow/SKILL.md around lines 34 - 50, The fenced workflow
block starting at the list of steps should include a language tag to satisfy
markdown linting; update the triple-backtick fence that encloses the numbered
steps (the fenced workflow block) to use a language like "text" (e.g., ```text)
so the block is explicitly typed and renders consistently.

Comment on lines +187 to +196
### 5b. Update GitOps Repository

> **Skill TBD.** This step will be formalized as experience accumulates.

Get the image SHA from quay.io and update the gitops repository's image references. Due to lack of autodeploy, this is a manual step.

### 5c. Verify Deployment

After deployment, run all available tests. E2E test suite TBD.

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.

⚠️ Potential issue | 🟠 Major

Deployment section is still non-executable for an “end-to-end” skill.

Lines 187–196 leave GitOps update and post-deploy verification as TBD. That creates a real reliability gap in the documented workflow and can leave changes unverified in practice.

Proposed edit
 ### 5b. Update GitOps Repository
 
-> **Skill TBD.** This step will be formalized as experience accumulates.
-
-Get the image SHA from quay.io and update the gitops repository's image references. Due to lack of autodeploy, this is a manual step.
+Get the image digest from quay and update image references in the gitops repo in a dedicated commit:
+```bash
+# Example: capture immutable digest from the built tag
+skopeo inspect docker://quay.io/ambient_code/vteam_api_server:<sha-or-tag> | jq -r '.Digest'
+# Update gitops manifests to use `@sha256`:<digest>, commit, open PR, merge
+```
 
 ### 5c. Verify Deployment
 
-After deployment, run all available tests. E2E test suite TBD.
+After deployment, run smoke checks first, then full tests:
+```bash
+kubectl -n ambient-code get deploy,pods
+kubectl -n ambient-code rollout status deploy/ambient-api-server --timeout=120s
+# Then run component test commands from this skill's quick reference
+```
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### 5b. Update GitOps Repository
> **Skill TBD.** This step will be formalized as experience accumulates.
Get the image SHA from quay.io and update the gitops repository's image references. Due to lack of autodeploy, this is a manual step.
### 5c. Verify Deployment
After deployment, run all available tests. E2E test suite TBD.
### 5b. Update GitOps Repository
Get the image digest from quay and update image references in the gitops repo in a dedicated commit:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/devflow/SKILL.md around lines 187 - 196, Replace the "TBD"
steps under "5b. Update GitOps Repository" and "5c. Verify Deployment" with
concrete commands and process: use skopeo inspect to obtain the immutable image
digest (reference skopeo inspect and jq to extract .Digest), update the GitOps
manifests to pin the image as `@sha256`:<digest>, commit the change and open/merge
a PR; after merge, verify rollout by running kubectl -n ambient-code get
deploy,pods and kubectl -n ambient-code rollout status deploy/ambient-api-server
--timeout=120s, perform quick smoke checks and then run the component/e2e test
commands referenced in this skill's quick reference.

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.

1 participant