Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: add GitHub Actions skill for workflow creation and debugging#56

Draft
juanmichelini wants to merge 2 commits intomain from
openhands/add-github-actions-skill
Draft

feat: add GitHub Actions skill for workflow creation and debugging #56
juanmichelini wants to merge 2 commits intomain from
openhands/add-github-actions-skill

Conversation

@juanmichelini
Copy link
Collaborator

@juanmichelini juanmichelini commented Feb 18, 2026

Description

This PR adds a comprehensive GitHub Actions skill that helps with creating, testing, and debugging GitHub Actions workflows and custom actions.

Closes #55

What's Included

SKILL.md

  • Complete guide for working with GitHub Actions
  • Critical information about testing custom actions (must merge to main first)
  • Debug step examples for printing non-secret parameters
  • Coverage of all action types (workflows, composite actions, reusable workflows)
  • Common pitfalls and non-obvious gotchas including:
    • Action deployment requirements
    • Permission issues (GITHUB_TOKEN, pull_request vs pull_request_target)
    • Secrets handling in fork PRs
    • Path filters, matrix builds, and workflow triggers
    • Artifact handling between jobs
  • Local testing with act
  • Debugging techniques and gh CLI usage
  • Best practices for security and performance

README.md

  • Detailed scenarios and use cases
  • Step-by-step examples for common workflows
  • Advanced patterns (reusable workflows, conditional jobs)
  • Related skills and resources

marketplace.json

  • Registered the skill with appropriate keywords and categorization

Key Features

Testing Requirements: Clearly explains the requirement to merge actions to main before use
Debug Guidance: Emphasizes adding debug steps that print non-secret parameters
Practical Examples: Code snippets for real-world scenarios
Security Focus: Covers permissions, secrets, and fork PR handling
Comprehensive Coverage: Addresses tricky, non-obvious issues like:

  • Workflow file changes not triggering themselves
  • Path filter OR behavior
  • Action version pinning vs @main
  • Environment variable scopes

Testing

All existing tests pass:

  • ✅ Skills have README test
  • ✅ JSON validation for marketplace.json

Related Issue

Implements the feature requested in #55 by @juanmichelini

@juanmichelini can click here to continue refining the PR

- Add comprehensive GitHub Actions skill with SKILL.md
- Include practical examples for testing, debugging, and best practices
- Cover common pitfalls like action deployment requirements and permissions
- Add README.md with detailed scenarios and use cases
- Register skill in marketplace.json
Closes #55
Co-authored-by: openhands <openhands@all-hands.dev>
Copy link

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

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

Taste Rating: 🟡 Acceptable - Technically solid content but violates progressive disclosure principle.

Verdict: ✅ Worth merging with strong recommendation to refactor for efficiency.

Key Insight: You built a comprehensive reference manual when you needed a concise decision guide. SKILL.md at 530 lines will burn significant context tokens every time an agent loads it—that's the wrong data structure for the progressive disclosure use case.

1. **Initial deployment**: At least one version MUST be merged into the main branch before the action can be used
2. **After first merge**: You can test changes from other branches before merging by referencing the branch name in the workflow
3. **Debug step**: Add a debug step that prints non-secret parameters at the beginning of your action to facilitate troubleshooting
</IMPORTANT>
Copy link

@all-hands-bot all-hands-bot Feb 18, 2026

Choose a reason for hiding this comment

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

🟠 Important - Data Structure Problem: This <IMPORTANT> block appears 4 times in various forms throughout the file (here, line 88, debug sections, etc). You're repeating "merge to main first" and "add debug steps" like it's a mantra.

Why this matters: Repetition suggests your data structure is wrong. These are TWO core rules that should be stated ONCE at the top, then referenced. Instead, they're scattered through 530 lines.

Better approach: Create a "Critical Rules" section at the top with these two principles, then remove the redundant mentions. Cut this file to ~200 lines by moving detailed examples to README.md.

Copy link
Collaborator Author

@juanmichelini juanmichelini Feb 18, 2026

Choose a reason for hiding this comment

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

@OpenHands the review is makign some strong points. Also "3. Debug step: Add a debug step that prints non-secret parameters at the beginning of your action to facilitate troubleshooting" should be done for new actions OR when an issue is particularly tricky to solve, not always.

openhands-ai[bot] reacted with eyes emoji
Copy link

@openhands-ai openhands-ai bot Feb 18, 2026

Choose a reason for hiding this comment

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

I'm on it! juanmichelini can track my progress at all-hands.dev

```

### 3. GITHUB_TOKEN Permissions

Copy link

@all-hands-bot all-hands-bot Feb 18, 2026

Choose a reason for hiding this comment

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

🟡 Simplification - Common Pitfalls Bloat: You list 10 "common pitfalls" here. Some are actually the same concept:

The problem: This isn't a pitfall list—it's a brain dump. Linus would say: "Good documentation isn't about writing everything you know. It's about writing only what matters."

Pragmatic fix: Keep 4-5 actual gotchas that cause real pain (permissions, secrets, action deployment). Move the rest to README.md examples where they add context, not noise.

runs-on: ubuntu-latest
steps:
# Debug step - prints all non-secret inputs/variables
- name: Debug - Print context
Copy link

@all-hands-bot all-hands-bot Feb 18, 2026

Choose a reason for hiding this comment

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

🟠 Important - Progressive Disclosure Violation: This debug example is 15 lines. You have similar examples at line 20, line 360, and in README.md.

Core principle violated: AgentSkills are meant for progressive disclosure—show the agent enough to decide "do I need this skill?" not "here's everything I could ever need to know."

What should happen:

  1. SKILL.md: "Add a debug step printing non-secret params (see README for examples)"
  2. README.md: Full examples with context

Why it matters: Every time an agent triggers this skill, you're loading 530 lines into context. That's expensive. Most of the time, the agent needs 100 lines of decision-making info, not 400 lines of copy-paste examples.

1. The action **must** be merged to the main branch before it can be used
2. After the initial merge, you can test changes from feature branches
3. Always add debug steps for new or complex actions

Copy link

@all-hands-bot all-hands-bot Feb 18, 2026

Choose a reason for hiding this comment

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

🟡 Pragmatism - Redundancy: This "Action Testing Requirements" section is nearly identical to SKILL.md lines 15-20 and the <IMPORTANT> block.

The question: Is this solving a real problem or creating one? If an agent loads SKILL.md, it already has this context. If a human reads README.md, they get it again. That's not documentation—that's copy-paste.

Better split:

  • SKILL.md: Lean decision guide (~150 lines) - "When to use this skill, core rules, quick patterns"
  • README.md: Deep examples and scenarios (keep current content) - "How to implement common patterns"

Right now both files are trying to be complete references. Pick your data structure: reference manual OR decision guide. Not both.

Use GitHub CLI or API to check workflow status:

```bash
# List recent workflow runs
Copy link

@all-hands-bot all-hands-bot Feb 18, 2026

Choose a reason for hiding this comment

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

🟢 Good Taste: This pattern (using concurrency to cancel redundant runs) is exactly what good documentation looks like—one clear example with inline comments explaining WHY.

Compare this to the earlier sections with multiple repetitive examples. This is 8 lines of signal vs. hundreds of lines of noise elsewhere. More like this, less like the "10 pitfalls" section.

@juanmichelini juanmichelini marked this pull request as draft February 18, 2026 21:22
- Consolidated repetitive content into a single 'Critical Rules' section
- Clarified that debug steps should be used for NEW actions OR tricky issues, not always
- Removed redundant explanations scattered throughout the document
- Updated both SKILL.md and README.md for consistency
Addresses feedback from @juanmichelini 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@openhands-ai openhands-ai[bot] openhands-ai[bot] left review comments

+1 more reviewer

@all-hands-bot all-hands-bot all-hands-bot left review comments

Reviewers whose approvals may not affect merge requirements

At least 1 approving review is required to merge this pull request.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

feat: skill for github actions

Comments

AltStyle によって変換されたページ (->オリジナル) /