Skip to content

Improve/skill review optimization#1

Open
yogesh-tessl wants to merge 2 commits into
Eskapeum:mainfrom
yogesh-tessl:improve/skill-review-optimization
Open

Improve/skill review optimization#1
yogesh-tessl wants to merge 2 commits into
Eskapeum:mainfrom
yogesh-tessl:improve/skill-review-optimization

Conversation

@yogesh-tessl
Copy link
Copy Markdown

@yogesh-tessl yogesh-tessl commented Apr 16, 2026

Hey @Eskapeum 👋

25+ design styles from Liquid Glass to Cyberpunk, plus a full Ralph OG autonomous loop with Xcode MCP integratio. This is a seriously thorough iOS skill for a v1.0 release. The structured approach to visual verification via SwiftUI preview capture during the dev loop is a nice touch.

I ran your skills through tessl skill review at work and found some targeted improvements. Here's the full before/after:

score_card
Changes summary

native-ios-app (+31%):

Description improvements (67% → 100%):

  • Added specific concrete actions: "scaffold project structures", "configure Xcode MCP tools", "apply visual design styles", "run autonomous build-test-commit loops", "capture SwiftUI previews"
  • Added natural trigger terms users would actually say: "iPhone app", ".swift files", "Xcode project", "app UI", "iOS simulators"
  • Replaced jargon ("Ralph OG autonomous development", "Xcode 26.3 MCP integration") with plain language explaining what they enable
  • Formatted description as a quoted string (standard frontmatter format)

Content improvements (57% → 100%):

  • Reduced from 390 → 210 lines by removing content Claude already knows (MVVM pattern explanation, SwiftUI materials reference, accessibility basics, custom blur effect code)
  • Added validation checkpoints and error recovery to all workflows ("If build fails → fix → rebuild. Do not proceed until green")
  • Referenced actual template/script files (PROMPT.ios.template.md, loop.ios.sh, etc.) instead of just describing what commands do
  • Consolidated troubleshooting into a compact table
  • Added tabIdentifier note to MCP tools table (call XcodeListWindows first)
  • Removed version frontmatter key (was flagged as unknown)

Honest disclosure. I work at https://github.com/tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute.

I also added a lightweight GitHub Action that auto-reviews any skill.md changed in a PR (includes min permissions, uses a pinned action version, only posts a review comment).

This means that it gives you and your contributors an instant quality signal before you have to review yourself (no signup, no tokens needed).

Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at this Tessl guide (https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me - @yogesh-tessl (https://github.com/yogesh-tessl) - if you hit any snags.

Thanks in advance 🙏

Summary by CodeRabbit

  • Chores

    • Added automated skill review workflow for pull requests.
  • Documentation

    • Simplified iOS app development guidance with SwiftUI and Xcode MCP integration.
    • Reorganized command reference with clearer build, preview, and status instructions.
    • Streamlined troubleshooting section with problem-solution format.
    • Made autonomous development loops optional in skill scope.

Hey @Eskapeum 👋

I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after:

![score_card](score_card.png)

| Skill | Before | After | Change |
|-------|--------|-------|--------|
| native-ios-app | 68% | 99% | +31% |

<details>
<summary>Changes summary</summary>

**native-ios-app (+31%)**:

*Description improvements (67% → 100%):*
- Added specific concrete actions: "scaffold project structures", "configure Xcode MCP tools", "apply visual design styles", "run autonomous build-test-commit loops", "capture SwiftUI previews"
- Added natural trigger terms users would actually say: "iPhone app", ".swift files", "Xcode project", "app UI", "iOS simulators"
- Replaced jargon ("Ralph OG autonomous development", "Xcode 26.3 MCP integration") with plain language explaining what they enable
- Formatted description as a quoted string (standard frontmatter format)

*Content improvements (57% → 100%):*
- Reduced from 390 → 210 lines by removing content Claude already knows (MVVM pattern explanation, SwiftUI materials reference, accessibility basics, custom blur effect code)
- Added validation checkpoints and error recovery to all workflows ("If build fails → fix → rebuild. Do not proceed until green")
- Referenced actual template/script files (PROMPT.ios.template.md, loop.ios.sh, etc.) instead of just describing what commands do
- Consolidated troubleshooting into a compact table
- Added `tabIdentifier` note to MCP tools table (call `XcodeListWindows` first)
- Removed `version` frontmatter key (was flagged as unknown)

</details>

Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute.

Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me - [@yogesh-tessl](https://github.com/yogesh-tessl) - if you hit any snags.

Thanks in advance 🙏
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 16, 2026

📝 Walkthrough

Walkthrough

Added a new GitHub Actions workflow for automated skill review on pull requests affecting SKILL.md files. Updated SKILL.md documentation to refocus iOS app development guidance toward SwiftUI and Xcode MCP integration, removing Ralph OG as a requirement, simplifying design patterns and prerequisites, and restructuring command documentation with consolidated troubleshooting guidance.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow
.github/workflows/skill-preview.yml
New workflow triggered on pull requests modifying SKILL.md files, runs skill-review automation on ubuntu-latest with restricted permissions (pull-requests: write, contents: read).
Skill Documentation
SKILL.md
Restructured iOS app development guidance: reframed prerequisites, replaced Ralph OG requirement with optional autonomous loops, reorganized MCP tooling sections, added Build and Preview Commands section with revised command workflows, simplified design-styles section with token-first approach, consolidated troubleshooting into problem/solution table format, and updated resource references.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A workflow springs to life so bright,
Reviewing skills with automated might,
While SwiftUI dances with MCP's grace,
Our iOS paths find their place—
Ralph OG rests, simplicity wins the race!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Improve/skill review optimization' is vague and uses generic phrasing that doesn't clearly convey the specific changes made in the pull request. Consider a more specific title that reflects the main objectives, such as 'Refactor SKILL.md content and add skill-review GitHub Action' or 'Improve iOS skill documentation and add automated skill review workflow'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown

@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: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@SKILL.md`:
- Line 105: The docs mention executing .ralph-og/loop.sh but never show how it
is created; update the instructions around the `loop.sh` reference (and the
similar section at lines ~125-129) to explicitly create the file from the
provided script before running it by adding a step that copies or symlinks
`scripts/loop.ios.sh` to `.ralph-og/loop.sh` and makes it executable (e.g., copy
or ln -s then chmod +x) so the referenced `.ralph-og/loop.sh` exists and is
runnable.
- Line 74: The fenced code block in SKILL.md is missing a language identifier
(triggering MD040); update the opening fence to include a language specifier
(e.g., change ``` to ```text) so the snippet is properly labeled and markdown
linting passes — locate the standalone triple-backtick block around the project
tree sample and add "text" (or another appropriate language) after the opening
fence.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4072bb8b-ec10-4721-b385-3d3144c27a1c

📥 Commits

Reviewing files that changed from the base of the PR and between 3f6de5d and 63cba6f.

📒 Files selected for processing (2)
  • .github/workflows/skill-preview.yml
  • SKILL.md

Comment thread SKILL.md
### Project Structure
### Standard Project Structure

```
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Specify a language for the fenced code block.

This block triggers MD040 and breaks markdown linting consistency.

Suggested fix
-```
+```text
 MyApp/
 ├── MyApp.xcodeproj/
 ...
 └── .design-system/             # Design tokens and styles
</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] 74-74: 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 `@SKILL.md` at line 74, The fenced code block in SKILL.md is missing a language
identifier (triggering MD040); update the opening fence to include a language
specifier (e.g., change ``` to ```text) so the snippet is properly labeled and
markdown linting passes — locate the standalone triple-backtick block around the
project tree sample and add "text" (or another appropriate language) after the
opening fence.

Comment thread SKILL.md
| `PROMPT.md` | Loop prompt with startup ritual and rules — see [templates/PROMPT.ios.template.md](templates/PROMPT.ios.template.md) |
| `feature-list.json` | Atomic features with acceptance criteria — see [templates/feature-list.ios.template.json](templates/feature-list.ios.template.json) |
| `init.sh` | Environment verification — see [templates/init.ios.template.sh](templates/init.ios.template.sh) |
| `loop.sh` | Autonomous loop runner — see [scripts/loop.ios.sh](scripts/loop.ios.sh) |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Clarify how .ralph-og/loop.sh is created before run instructions.

The doc references scripts/loop.ios.sh but tells users to execute .ralph-og/loop.sh directly. Add an explicit copy/symlink step (or run path) to avoid a broken first run.

Suggested fix
 ### Setup
 
 Creates `.ralph-og/` with iOS-specific configuration:
@@
 | `loop.sh` | Autonomous loop runner — see [scripts/loop.ios.sh](scripts/loop.ios.sh) |
 | `progress.txt` | Work log tracking completed features |
+
+After scaffold:
+```bash
+cp scripts/loop.ios.sh .ralph-og/loop.sh
+chmod +x .ralph-og/loop.sh
+```

Also applies to: 125-129

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

In `@SKILL.md` at line 105, The docs mention executing .ralph-og/loop.sh but never
show how it is created; update the instructions around the `loop.sh` reference
(and the similar section at lines ~125-129) to explicitly create the file from
the provided script before running it by adding a step that copies or symlinks
`scripts/loop.ios.sh` to `.ralph-og/loop.sh` and makes it executable (e.g., copy
or ln -s then chmod +x) so the referenced `.ralph-og/loop.sh` exists and is
runnable.

Comment thread SKILL.md
Comment on lines +150 to +153
Running `/native-ios-app style <name>` generates:
1. `.design-system/tokens.swift` — colors, typography, spacing, shadows, corner radii, animation curves
2. `.design-system/extensions.swift` — SwiftUI view extensions for the chosen style
3. Updates existing components if present
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only verification: confirm where `/native-ios-app style` is implemented
# and whether it writes `.design-system/tokens.swift` and `.design-system/extensions.swift`.

set -euo pipefail

echo "== Locate style command implementation candidates =="
rg -n -C2 '/native-ios-app style|style <name>|tokens.swift|extensions.swift'

echo
echo "== Locate template/script logic that writes design-system outputs =="
rg -n -C3 'design-system|tokens\.swift|extensions\.swift|mkdir .*design-system|cat > .*tokens\.swift|cat > .*extensions\.swift' templates scripts styles GUIDE.md SKILL.md 2>/dev/null || true

echo
echo "== Locate shell/template files that may define style generation =="
fd -i 'style|design|ios' templates scripts styles

Repository: Eskapeum/native-ios-app-skill

Length of output: 6852


🏁 Script executed:

# Find the main script that handles the style command
fd -type f -name "*.sh" -o -name "*.py" scripts/ | head -20

Repository: Eskapeum/native-ios-app-skill

Length of output: 243


🏁 Script executed:

# Search for where the style subcommand is handled
rg -n "style" scripts/ -A 5 -B 2

Repository: Eskapeum/native-ios-app-skill

Length of output: 55


🏁 Script executed:

# Check if there's a main entry point script
cat scripts/loop.ios.sh | head -100

Repository: Eskapeum/native-ios-app-skill

Length of output: 3114


🏁 Script executed:

# Find all shell scripts in the repo root and scripts/
find . -maxdepth 2 -name "*.sh" -type f | head -20

Repository: Eskapeum/native-ios-app-skill

Length of output: 127


🏁 Script executed:

# Look for the main entry point or style implementation
rg -n "style.*name|subcommand.*style" --max-count=20

Repository: Eskapeum/native-ios-app-skill

Length of output: 245


🏁 Script executed:

# Check styles directory structure
ls -la styles/

Repository: Eskapeum/native-ios-app-skill

Length of output: 246


🏁 Script executed:

# Look for main entry point scripts
ls -la | grep -E "\.sh|\.py|native-ios-app"

Repository: Eskapeum/native-ios-app-skill

Length of output: 55


🏁 Script executed:

# Search for any Python files in the repo
find . -name "*.py" -type f

Repository: Eskapeum/native-ios-app-skill

Length of output: 55


🏁 Script executed:

# Check if there's a main command handler or CLI
rg -n "def.*style|case.*style" --max-count=20

Repository: Eskapeum/native-ios-app-skill

Length of output: 55


🏁 Script executed:

# Look at the repository root structure
tree -L 2 -a

Repository: Eskapeum/native-ios-app-skill

Length of output: 614


🏁 Script executed:

# Check SKILL.md and README to understand how native-ios-app is invoked
head -50 README.md

Repository: Eskapeum/native-ios-app-skill

Length of output: 1357


🏁 Script executed:

# Check if there's any documentation about how these commands work
rg -n "native-ios-app|MCP|skill|claude" README.md GUIDE.md --max-count=10

Repository: Eskapeum/native-ios-app-skill

Length of output: 1355


The /native-ios-app style command lacks implementation—no code generates the promised .design-system/tokens.swift or .design-system/extensions.swift files.

SKILL.md lines 150–153 promise that running /native-ios-app style <name> will generate both .design-system/tokens.swift and .design-system/extensions.swift, but no implementation exists for this command in the repository. The styles/ directory contains only README.md documentation (no generation code), and there are no shell scripts, Python handlers, or template logic that actually create these files. Users following the skill documentation will encounter failures during init/style flows.

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