Integrate Burgess Principle advocacy toolkit and enhance README#409
Integrate Burgess Principle advocacy toolkit and enhance README#409ljbudgie wants to merge 24 commits intoVoltAgent:mainfrom
Conversation
Integrate the full Advocate Companion toolkit (from ljbudgie/advocate-companion) as Burgess-enhanced skills: Contract Review, Reasonable Adjustments, DSAR Request, and Human Review Request. All skills are optional and independent. Original skills remain untouched. Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/cfefb717-af4f-4e4a-8955-c0d0a724bd9d Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Add Burgess Principle advocacy toolkit as optional upgrade layer
Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/8a129fda-f484-4e68-820c-bba11a75ecb4 Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
…nciple-section Add Burgess Principle Layer section to README.md
…llapse details, add Burgess ToC Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/f66e9831-6e99-45c5-bedd-b8c5ed594faf Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Add "See also" cross-reference sections to all category files
- Fix sed & character bug causing garbled View all links in README.md - Add ToC count automation (previously required manual updates) - Fix Discover N+ regex to correctly match literal + character - Rebuild all View all links with correct display names - Reconcile all skill counts (badge, header, ToC, View all links) Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/b2317cf8-8554-44b9-be0f-9bc22959a6c9 Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
…EADME polish - Add automated link-checking CI workflow (weekly lychee scan) - Add enhanced PR validation CI (format, duplicates, sort order, count sync) - Add "Recently Added" section to README.md for better new skill visibility - Add "Which Burgess Skill Should I Use?" decision guide - Add CHANGELOG.md for tracking collection changes - Rebalance ToC grid to eliminate empty cells - Add "Back to top" navigation link at end of README Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/b2317cf8-8554-44b9-be0f-9bc22959a6c9 Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/b2317cf8-8554-44b9-be0f-9bc22959a6c9 Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Fix garbled links, add CI workflows, improve discoverability
Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/65d81330-ac8e-40eb-bc51-2ab6686d9e3f Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
…rgess-layer Replace verbose Burgess section with prominent callout in README
Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/7047f9a7-094b-44fb-acd0-aa444c85adf5 Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
…w-bots Add Burgess-certified coding-agent-review skill
Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/b1f3f606-a99e-4ca9-b8bc-0bd8e5aa73a6 Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Add FOI Request Burgess skill
Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/bacbae17-6d2b-466a-8f1d-97bc9668f4bc Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Add 'Why This Liberates the AI' context document to Burgess toolkit
- Create TRADEMARKS.md with clear machine-readable distinction - Update LICENSE with trademark notice - Update README.md attribution and license sections - Update burgess/README.md attribution section - Update CONTRIBUTING.md with licensing & trademarks section Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/78ef759b-943f-4a64-af99-37e03d06699f Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Clarify licensing: code is free (MIT), name is not (protected trademark)
Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/0160d76e-ae0d-473a-aafc-35ebadcbe3fd Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Add 8 new Burgess Principle skills from burgess-principle repo
…ation doc Agent-Logs-Url: https://github.com/ljbudgie/awesome-openclaw-skills/sessions/7f2f47ff-64ee-442f-87bc-2e245ecfa774 Co-authored-by: ljbudgie <218362452+ljbudgie@users.noreply.github.com>
Add context doc: How the Burgess Layer Elevates the AI
📝 WalkthroughWalkthroughThe PR introduces a comprehensive community governance framework including GitHub issue templates for link reporting, categories, security concerns, and removals; adds GitHub Actions workflows for automated link checking and PR validation; establishes CODE_OF_CONDUCT and trademark guidelines; introduces a "Burgess Principle" advocacy toolkit with 15+ skills and supporting documentation; and synchronizes skill counts across all categories using a new bash script. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 12
🧹 Nitpick comments (4)
burgess/skills/coding-agent-review/README.md (1)
56-62: Consider varying sentence structure for better readability.Three consecutive bullet points begin with "You want to..." which creates a slightly repetitive pattern. While this doesn't harm clarity, varying the sentence structure could improve flow.
✨ Optional rewording for variety
- An AI coding agent has made changes you want to review before merging - A bot opened a pull request and you want to know what needs human attention -- You want to ensure accessibility, privacy, or security changes get a real person's review +- Accessibility, privacy, or security changes need verification by a real person - Your team uses AI agents for routine coding and you need a human-review checkpoint -- You want to apply the Burgess Principle to your development workflow +- Applying the Burgess Principle to your development workflow is a priority🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@burgess/skills/coding-agent-review/README.md` around lines 56 - 62, The three consecutive bullets under the "When to Use This Skill" section are repetitive because they all begin with "You want to...", so edit the README.md bullets in that section to vary sentence openings and improve flow (for example, rephrase one or more bullets to start with different verbs or clauses); locate the "When to Use This Skill" heading and update the three bullets that currently start with "You want to..." so each uses a distinct sentence structure while preserving the original meaning.burgess/skills/enforcement-agent-response/README.md (1)
20-36: Consider clarifying jurisdiction scope for enforcement agent rules.The skill references UK-specific terminology (PCN, council tax, Equality Act 2010) and enforcement practices that vary significantly between England/Wales, Scotland, and Northern Ireland. Unlike the benefits-claim-assistance README which includes an explicit country support table, this README doesn't clarify jurisdictional scope. This may not be critical if the SKILL.md implementation handles jurisdiction identification, but consider whether explicit guidance would help users.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@burgess/skills/enforcement-agent-response/README.md` around lines 20 - 36, The README references UK-specific terms (PCN, council tax, Equality Act 2010) but lacks jurisdiction scope; add a short "Jurisdiction / Supported Regions" section (or a country support table similar to the benefits-claim-assistance README) near the top or under "Example Prompts" that explicitly states which UK jurisdictions (England & Wales, Scotland, Northern Ireland) the skill covers, notes any differences in enforcement rules per jurisdiction, and clarifies whether SKILL.md logic will attempt automatic jurisdiction detection for inputs mentioning council tax/PCN/Equality Act 2010.burgess/skills/medical-device-review/SKILL.md (1)
20-22: Minimize required identifiers in first-draft letters.Line 20 currently pushes serial/patient identifiers by default. Consider making those explicitly optional/minimal unless needed to locate records.
✏️ Suggested wording
- - Identifies the specific device by type, model, and serial number or patient reference + - Identifies the specific device by type and model, and includes serial number or patient reference only when necessary for record matching🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@burgess/skills/medical-device-review/SKILL.md` around lines 20 - 22, Update the SKILL.md bullet that currently reads "Identifies the specific device by type, model, and serial number or patient reference" to require only minimal identifiers in first-draft letters (e.g., type and model preferred; serial number or patient reference optional and included only when necessary to locate records), and adjust the related bullet "Asks the clinical team to confirm whether a human clinician personally reviewed the specific facts..." (the Burgess binary) to request confirmation of human review without mandating patient/serial identifiers; ensure the bullet "Requests that the human review includes the user's exact profile..." clarifies that exact profile and logged device data are requested only when essential and otherwise redacted or summarized to protect identifiers.burgess/skills/reasonable-adjustments/README.md (1)
11-13: Align the Burgess Principle quote with the canonical parent README wording.This definition is slightly narrower than
burgess/README.md, which can create interpretation drift across docs.Suggested wording alignment
-> **"Was a human member of the team able to personally review the specific facts of my specific case?"** +> **"Was a human member of the team able to personally review the specific facts and implications of this for my individual situation?"**🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@burgess/skills/reasonable-adjustments/README.md` around lines 11 - 13, Update the Burgess Principle wording in this README to match the canonical parent by replacing the narrower sentence under the quoted question "Was a human member of the team able to personally review the specific facts of my specific case?" with the exact phrasing used in burgess/README.md so both documents use the same definition and avoid drift; locate the quoted heading in reasonable-adjustments/README.md and modify the following paragraph to mirror the parent README's text verbatim.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/link-check.yml:
- Around line 16-21: Replace mutable GitHub Action tags with their corresponding
full commit SHAs to harden supply-chain integrity: update the uses entries
(e.g., actions/checkout@v4 and lycheeverse/lychee-action@v2) to use the full
commit SHA for each action (and any other mutable tags like `@v7` found in the
workflow), ensuring you fetch the exact commit from the action's repository and
replace the tag string with that SHA in the workflow.
In @.github/workflows/pr-validate.yml:
- Around line 42-51: The duplicate-skill check only greps README.md (in the
"Check for duplicate skills" step and variable duplicates) and thus misses
repeats inside category files; update the workflow to search across category
markdown files (e.g., all category/*.md or a glob like categories/**/*.md and
README.md) instead of just README.md, aggregate skill names from those files
into the same grep pipeline that produces the duplicates variable, and emit the
same warning when duplicates is non-empty so category-level data-quality
duplicates (like code-stats, db-readonly, hackathon-manager) are detected.
- Around line 82-83: The command substitution for actual currently uses "grep -c
... || echo 0" which can produce a double-line value like '0\n0'; change the
fallback to a no-op (use "|| true") so only grep's stdout is captured, i.e.,
update the actual assignment to use grep -c ... || true; likewise update similar
constructs (e.g., the header assignment using "|| echo '?'") to use "|| true" so
command substitutions capture only the intended grep output and not additional
echoed fallbacks.
In `@burgess/skills/benefits-claim-assistance/SKILL.md`:
- Line 18: Step 2 currently conflates institutions and laws; update the wording
in SKILL.md Step 2 ("2. Identify the relevant benefits system and
legislation...") to explicitly separate administering agencies/processes from
applicable legislation—for example, change to "Identify the relevant
administering agency or process for benefits (e.g., DWP, SSA) and the specific
applicable legislation or appeal process (e.g., Mandatory Reconsideration)"—so
the country-mapping step captures both the authority and the legal framework
distinctly.
In `@burgess/skills/burgess-config.md`:
- Around line 28-30: The current example using "cp -r burgess/skills/*" can copy
non-directory files like burgess-config.md into the skills destination; change
the instructions to create the destination directory first (use mkdir -p for
~/.openclaw/skills) and copy directories only by targeting directories (e.g.,
use a pattern that selects directories such as burgess/skills/*/ or use find to
copy only directories) so only skill folders are copied; update both occurrences
that show the bulk-copy command accordingly.
In `@burgess/skills/dsar-request/SKILL.md`:
- Line 22: Replace the hardcoded example phrase "States the legal timeframe for
a response (e.g. 30 days under UK/EU GDPR)" with a jurisdiction-agnostic wording
such as "States the statutory timeframe for a response under applicable law"
(and make the same replacement for the similar instance around line 34); ensure
the SKILL.md bullet uses "statutory timeframe under applicable law" instead of a
fixed day count so it reads generically across jurisdictions.
In `@burgess/skills/enforcement-agent-response/SKILL.md`:
- Around line 20-22: Update the bullet "Requests confirmation that no forced
entry will be attempted, noting that for most civil debts bailiffs do not have
the legal right to force entry" to make the forced-entry statement
jurisdiction-conditional: rephrase it to indicate that forced-entry rules vary
by jurisdiction (e.g., "where applicable under local law" or "in jurisdictions
where bailiffs lack the power to force entry, such as the UK") and add a
placeholder or note to surface the relevant jurisdiction when the skill
generates the message so the statement is only asserted when appropriate.
In `@CODE_OF_CONDUCT.md`:
- Line 32: Replace the current public-reporting sentence in CODE_OF_CONDUCT.md
("Instances of abusive... opening an issue or contacting the maintainers
directly") with an explicit private reporting channel and make it the primary
option: add a dedicated confidential contact method (e.g., a private email
address or a secure web form) and instruct reporters to use that first, then
note that public issues are an alternative if the private channel is not
available; update the sentence and any nearby examples so the private channel is
clearly highlighted and preferred.
In `@CONTRIBUTING.md`:
- Line 55: The LICENSE file currently lists "Copyright (c) 2026 VoltAgent" which
doesn't match the repository owner; update the copyright holder string in the
LICENSE file to "ljbudgie" (or "Copyright (c) 2026 ljbudgie") so it matches the
repository owner referenced elsewhere, ensuring any other occurrences of
"VoltAgent" in the LICENSE are replaced consistently and preserving the rest of
the license text and year.
In `@README.md`:
- Around line 11-19: The README contains inconsistent skill totals: the header
string "Discover 5100+ community-built OpenClaw skills", the Skills Count badge
(alt/label showing "skills-5143"), and the narrative total "5,211" are out of
sync; choose a single authoritative total (or make the count dynamic) and update
all occurrences to match it—specifically change the header text "Discover
5100+...", the badge label/value for "Skills Count" (`skills-5143`), and the
narrative total "5,211" to the same number or wire them to a single source so
they stay consistent.
- Around line 204-210: The cp command in the README uses a glob that matches
both files and directories (cp -r burgess/skills/* ~/.openclaw/skills/), which
will accidentally copy top-level files like burgess-config.md; update the
example to only match directories by changing the glob to cp -r
burgess/skills/*/ ~/.openclaw/skills/ so only skill directories are copied, and
update the adjacent single-skill example if needed to preserve clarity.
In `@scripts/sync-skill-counts.sh`:
- Around line 59-62: The loop can fail under set -e because grep may return a
non-zero exit status when there are no matches; update the count assignment in
the loop (where variables like CATEGORIES_DIR, basename_no_ext, count, total are
used) to tolerate that by capturing grep output with a fallback: use
count=$(grep -c "^- \[" "$file" || true) and then normalize to zero if empty
(e.g. count=${count:-0}) before adding to total, so files with zero skills don't
cause the script to exit.
---
Nitpick comments:
In `@burgess/skills/coding-agent-review/README.md`:
- Around line 56-62: The three consecutive bullets under the "When to Use This
Skill" section are repetitive because they all begin with "You want to...", so
edit the README.md bullets in that section to vary sentence openings and improve
flow (for example, rephrase one or more bullets to start with different verbs or
clauses); locate the "When to Use This Skill" heading and update the three
bullets that currently start with "You want to..." so each uses a distinct
sentence structure while preserving the original meaning.
In `@burgess/skills/enforcement-agent-response/README.md`:
- Around line 20-36: The README references UK-specific terms (PCN, council tax,
Equality Act 2010) but lacks jurisdiction scope; add a short "Jurisdiction /
Supported Regions" section (or a country support table similar to the
benefits-claim-assistance README) near the top or under "Example Prompts" that
explicitly states which UK jurisdictions (England & Wales, Scotland, Northern
Ireland) the skill covers, notes any differences in enforcement rules per
jurisdiction, and clarifies whether SKILL.md logic will attempt automatic
jurisdiction detection for inputs mentioning council tax/PCN/Equality Act 2010.
In `@burgess/skills/medical-device-review/SKILL.md`:
- Around line 20-22: Update the SKILL.md bullet that currently reads "Identifies
the specific device by type, model, and serial number or patient reference" to
require only minimal identifiers in first-draft letters (e.g., type and model
preferred; serial number or patient reference optional and included only when
necessary to locate records), and adjust the related bullet "Asks the clinical
team to confirm whether a human clinician personally reviewed the specific
facts..." (the Burgess binary) to request confirmation of human review without
mandating patient/serial identifiers; ensure the bullet "Requests that the human
review includes the user's exact profile..." clarifies that exact profile and
logged device data are requested only when essential and otherwise redacted or
summarized to protect identifiers.
In `@burgess/skills/reasonable-adjustments/README.md`:
- Around line 11-13: Update the Burgess Principle wording in this README to
match the canonical parent by replacing the narrower sentence under the quoted
question "Was a human member of the team able to personally review the specific
facts of my specific case?" with the exact phrasing used in burgess/README.md so
both documents use the same definition and avoid drift; locate the quoted
heading in reasonable-adjustments/README.md and modify the following paragraph
to mirror the parent README's text verbatim.
🪄 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: 14a17916-bef8-4b25-b5dd-7d6abc2952ba
📒 Files selected for processing (72)
.github/ISSUE_TEMPLATE/broken-link.yml.github/ISSUE_TEMPLATE/new-category.yml.github/ISSUE_TEMPLATE/security-concern.yml.github/ISSUE_TEMPLATE/skill-removal.yml.github/workflows/link-check.yml.github/workflows/pr-validate.ymlCHANGELOG.mdCODE_OF_CONDUCT.mdCONTRIBUTING.mdLICENSEREADME.mdTRADEMARKS.mdburgess/README.mdburgess/context/design-principles.mdburgess/context/how-this-elevates-the-ai.mdburgess/context/why-this-liberates-the-ai.mdburgess/skills/benefits-claim-assistance/README.mdburgess/skills/benefits-claim-assistance/SKILL.mdburgess/skills/burgess-config.mdburgess/skills/coding-agent-review/README.mdburgess/skills/coding-agent-review/SKILL.mdburgess/skills/contract-review/README.mdburgess/skills/contract-review/SKILL.mdburgess/skills/copyright-dmca-counter-notice/README.mdburgess/skills/copyright-dmca-counter-notice/SKILL.mdburgess/skills/council-tax-pcn-dispute/README.mdburgess/skills/council-tax-pcn-dispute/SKILL.mdburgess/skills/direct-debit-refund/README.mdburgess/skills/direct-debit-refund/SKILL.mdburgess/skills/dsar-request/README.mdburgess/skills/dsar-request/SKILL.mdburgess/skills/enforcement-agent-response/README.mdburgess/skills/enforcement-agent-response/SKILL.mdburgess/skills/foi-request/README.mdburgess/skills/foi-request/SKILL.mdburgess/skills/human-review-request/README.mdburgess/skills/human-review-request/SKILL.mdburgess/skills/media-libel-review/README.mdburgess/skills/media-libel-review/SKILL.mdburgess/skills/medical-device-review/README.mdburgess/skills/medical-device-review/SKILL.mdburgess/skills/music-copyright-dispute/README.mdburgess/skills/music-copyright-dispute/SKILL.mdburgess/skills/reasonable-adjustments/README.mdburgess/skills/reasonable-adjustments/SKILL.mdcategories/ai-and-llms.mdcategories/apple-apps-and-services.mdcategories/browser-and-automation.mdcategories/calendar-and-scheduling.mdcategories/clawdbot-tools.mdcategories/cli-utilities.mdcategories/coding-agents-and-ides.mdcategories/communication.mdcategories/data-and-analytics.mdcategories/devops-and-cloud.mdcategories/gaming.mdcategories/git-and-github.mdcategories/health-and-fitness.mdcategories/image-and-video-generation.mdcategories/marketing-and-sales.mdcategories/moltbook.mdcategories/pdf-and-documents.mdcategories/personal-development.mdcategories/productivity-and-tasks.mdcategories/search-and-research.mdcategories/security-and-passwords.mdcategories/shopping-and-e-commerce.mdcategories/smart-home-and-iot.mdcategories/speech-and-transcription.mdcategories/transportation.mdcategories/web-and-frontend-development.mdscripts/sync-skill-counts.sh
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Link Checker | ||
| id: lychee | ||
| uses: lycheeverse/lychee-action@v2 | ||
| with: |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Workflow action refs that are NOT pinned to 40-char SHAs:"
rg -nP '^\s*-?\s*uses:\s*[^@]+@(?![0-9a-f]{40}$).+$' .github/workflows
echo
echo "Workflow action refs pinned to 40-char SHAs:"
rg -nP '^\s*-?\s*uses:\s*[^@]+@[0-9a-f]{40}$' .github/workflowsRepository: VoltAgent/awesome-openclaw-skills
Length of output: 548
Pin GitHub Actions to full commit SHAs.
Using mutable tags (@v4, @v2, @v7) weakens supply-chain integrity if tags are retargeted.
🔒 Example hardening
- - uses: actions/checkout@v4
+ - uses: actions/checkout@<40-char-commit-sha>
...
- uses: lycheeverse/lychee-action@v2
+ uses: lycheeverse/lychee-action@<40-char-commit-sha>
...
- uses: actions/github-script@v7
+ uses: actions/github-script@<40-char-commit-sha>🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/link-check.yml around lines 16 - 21, Replace mutable
GitHub Action tags with their corresponding full commit SHAs to harden
supply-chain integrity: update the uses entries (e.g., actions/checkout@v4 and
lycheeverse/lychee-action@v2) to use the full commit SHA for each action (and
any other mutable tags like `@v7` found in the workflow), ensuring you fetch the
exact commit from the action's repository and replace the tag string with that
SHA in the workflow.
| - name: Check for duplicate skills | ||
| shell: bash | ||
| run: | | ||
| # Extract all skill names from README.md and check for duplicates | ||
| duplicates=$(grep -oP '^\- \[\K[^\]]+' README.md | sort | uniq -d) | ||
|
|
||
| if [ -n "$duplicates" ]; then | ||
| echo "::warning::Possible duplicate skill names found in README.md:" | ||
| echo "$duplicates" | ||
| fi |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Duplicates when scanning README (includes presentation-layer repeats):"
grep -oP '^- \[\K[^\]]+' README.md | LC_ALL=C sort -f | uniq -di | head -20 || true
echo
echo "Duplicates when scanning canonical category files only:"
grep -h -oP '^- \[\K[^\]]+' categories/*.md | LC_ALL=C sort -f | uniq -di | head -20 || trueRepository: VoltAgent/awesome-openclaw-skills
Length of output: 430
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "=== README structure (first 100 lines) ==="
head -100 README.md
echo
echo "=== Check for 'Recently Added' section ==="
grep -n "Recently Added" README.md || echo "Not found"
echo
echo "=== List category files ==="
ls -la categories/*.md 2>/dev/null || echo "Directory does not exist or no .md files"
echo
echo "=== Show sample duplicates from README (first occurrence of each) ==="
for dup in agent-browser agent-rate-limiter apple-music; do
echo "--- Occurrences of '$dup' in README ---"
grep -n "\[$dup\]" README.md || true
done
echo
echo "=== Show sample duplicates from category files ==="
for dup in code-stats db-readonly hackathon-manager; do
echo "--- Occurrences of '$dup' ---"
grep -rn "\[$dup\]" categories/ 2>/dev/null || echo "Not found in categories"
doneRepository: VoltAgent/awesome-openclaw-skills
Length of output: 9814
Duplicate check will miss data quality issues in category files.
The current workflow only scans README.md, which contains a "Recently Added" section that intentionally repeats skills listed in categories. This catches 3 presentation-layer duplicates, but misses 9 actual data quality issues that exist within the category files (e.g., code-stats, db-readonly, and hackathon-manager each appear multiple times in their respective category markdown files).
♻️ Proposed fix
- # Extract all skill names from README.md and check for duplicates
- duplicates=$(grep -oP '^\- \[\K[^\]]+' README.md | sort | uniq -d)
+ # Extract from canonical source files to catch all real duplicates
+ duplicates=$(grep -h -oP '^- \[\K[^\]]+' categories/*.md | LC_ALL=C sort -f | uniq -di)
if [ -n "$duplicates" ]; then
- echo "::warning::Possible duplicate skill names found in README.md:"
+ echo "::warning::Possible duplicate skill names found across category files:"
echo "$duplicates"
fi🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/pr-validate.yml around lines 42 - 51, The duplicate-skill
check only greps README.md (in the "Check for duplicate skills" step and
variable duplicates) and thus misses repeats inside category files; update the
workflow to search across category markdown files (e.g., all category/*.md or a
glob like categories/**/*.md and README.md) instead of just README.md, aggregate
skill names from those files into the same grep pipeline that produces the
duplicates variable, and emit the same warning when duplicates is non-empty so
category-level data-quality duplicates (like code-stats, db-readonly,
hackathon-manager) are detected.
| actual=$(grep -c "^- \[" "$file" || echo 0) | ||
| header=$(grep -oP '^\*\*\K[0-9]+(?= skills\*\*)' "$file" || echo "?") |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
tmp="$(mktemp)"
actual="$(grep -c '^- \[' "$tmp" || echo 0)"
printf 'actual (quoted): %q\n' "$actual"
rm -f "$tmp"Repository: VoltAgent/awesome-openclaw-skills
Length of output: 101
grep -c ... || echo 0 produces a malformed count string with embedded newline.
When a pattern has zero matches, grep -c outputs 0 and exits with code 1. This triggers the || echo 0 clause, causing the command substitution to capture both outputs: 0 (from grep) and 0 (from echo), resulting in actual='0\n0'.
🐛 Proposed fix
- actual=$(grep -c "^- \[" "$file" || echo 0)
+ actual=$(grep -c "^- \[" "$file" || true)This ensures the count is always a clean single value: either the output of grep -c (which already outputs 0 for no matches) or nothing from true.
📝 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.
| actual=$(grep -c "^- \[" "$file" || echo 0) | |
| header=$(grep -oP '^\*\*\K[0-9]+(?= skills\*\*)' "$file" || echo "?") | |
| actual=$(grep -c "^- \[" "$file" || true) | |
| header=$(grep -oP '^\*\*\K[0-9]+(?= skills\*\*)' "$file" || echo "?") |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/pr-validate.yml around lines 82 - 83, The command
substitution for actual currently uses "grep -c ... || echo 0" which can produce
a double-line value like '0\n0'; change the fallback to a no-op (use "|| true")
so only grep's stdout is captured, i.e., update the actual assignment to use
grep -c ... || true; likewise update similar constructs (e.g., the header
assignment using "|| echo '?'") to use "|| true" so command substitutions
capture only the intended grep output and not additional echoed fallbacks.
| ## How you work | ||
|
|
||
| 1. Ask the user to describe their situation: which benefit was applied for, what decision was made, and why they believe it does not reflect their circumstances. | ||
| 2. Identify the relevant benefits system and legislation for their country (e.g. DWP and Mandatory Reconsideration in the UK, Social Security Administration in the US). |
There was a problem hiding this comment.
Separate agencies/processes from legislation in the country-mapping step.
The examples mix institutions with legislation, which can blur output accuracy.
Proposed wording fix
-2. Identify the relevant benefits system and legislation for their country (e.g. DWP and Mandatory Reconsideration in the UK, Social Security Administration in the US).
+2. Identify the relevant benefits system, decision process, and legal framework for their country (e.g. DWP + Mandatory Reconsideration + Equality Act context in the UK; SSA + reconsideration/appeals framework in the US).📝 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.
| 2. Identify the relevant benefits system and legislation for their country (e.g. DWP and Mandatory Reconsideration in the UK, Social Security Administration in the US). | |
| 2. Identify the relevant benefits system, decision process, and legal framework for their country (e.g. DWP + Mandatory Reconsideration + Equality Act context in the UK; SSA + reconsideration/appeals framework in the US). |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@burgess/skills/benefits-claim-assistance/SKILL.md` at line 18, Step 2
currently conflates institutions and laws; update the wording in SKILL.md Step 2
("2. Identify the relevant benefits system and legislation...") to explicitly
separate administering agencies/processes from applicable legislation—for
example, change to "Identify the relevant administering agency or process for
benefits (e.g., DWP, SSA) and the specific applicable legislation or appeal
process (e.g., Mandatory Reconsideration)"—so the country-mapping step captures
both the authority and the legal framework distinctly.
| # Enable all Burgess skills at once | ||
| cp -r burgess/skills/* ~/.openclaw/skills/ | ||
| ``` |
There was a problem hiding this comment.
cp -r burgess/skills/* can copy non-skill files into the skills directory.
Line 29 can include burgess-config.md alongside skill folders. Safer to copy directories only and create destination directories first.
🛠️ Proposed command fix
# Enable all Burgess skills at once
-cp -r burgess/skills/* ~/.openclaw/skills/
+mkdir -p ~/.openclaw/skills
+cp -r burgess/skills/*/ ~/.openclaw/skills/-cp -r burgess/skills/contract-review <your-project>/skills/
+mkdir -p <your-project>/skills
+cp -r burgess/skills/contract-review <your-project>/skills/Also applies to: 44-46
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@burgess/skills/burgess-config.md` around lines 28 - 30, The current example
using "cp -r burgess/skills/*" can copy non-directory files like
burgess-config.md into the skills destination; change the instructions to create
the destination directory first (use mkdir -p for ~/.openclaw/skills) and copy
directories only by targeting directories (e.g., use a pattern that selects
directories such as burgess/skills/*/ or use find to copy only directories) so
only skill folders are copied; update both occurrences that show the bulk-copy
command accordingly.
|
|
||
| ## Enforcement | ||
|
|
||
| Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported by opening an issue or contacting the maintainers directly. All complaints will be reviewed and investigated promptly and fairly. |
There was a problem hiding this comment.
Provide an explicit private reporting channel (email/form) instead of suggesting public issues.
Current wording can lead reporters to disclose sensitive incidents publicly. Add a dedicated confidential contact path and make it the primary option.
Suggested wording update
-Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported by opening an issue or contacting the maintainers directly. All complaints will be reviewed and investigated promptly and fairly.
+Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported confidentially at [INSERT_CONTACT_EMAIL_OR_FORM]. Public issues should not be used for incident reports. All complaints will be reviewed and investigated promptly and fairly.📝 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.
| Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported by opening an issue or contacting the maintainers directly. All complaints will be reviewed and investigated promptly and fairly. | |
| Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported confidentially at [INSERT_CONTACT_EMAIL_OR_FORM]. Public issues should not be used for incident reports. All complaints will be reviewed and investigated promptly and fairly. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CODE_OF_CONDUCT.md` at line 32, Replace the current public-reporting sentence
in CODE_OF_CONDUCT.md ("Instances of abusive... opening an issue or contacting
the maintainers directly") with an explicit private reporting channel and make
it the primary option: add a dedicated confidential contact method (e.g., a
private email address or a secure web form) and instruct reporters to use that
first, then note that public issues are an alternative if the private channel is
not available; update the sentence and any nearby examples so the private
channel is clearly highlighted and preferred.
| We only include skills whose security status on [ClawHub](https://www.clawhub.ai/) is **not flagged as suspicious**. Skills that are marked as suspicious on ClawHub will not be accepted into this list. | ||
|
|
||
| If you believe a skill currently in this list has a security concern or should be flagged, please [open an issue](https://github.com/VoltAgent/awesome-clawdbot-skills/issues) so we can review and remove it. | ||
| If you believe a skill currently in this list has a security concern or should be flagged, please [open an issue](https://github.com/ljbudgie/awesome-openclaw-skills/issues) so we can review and remove it. |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Find all copyright and attribution references to verify consistency.
echo "=== Copyright notices in LICENSE and documentation ==="
rg -n "Copyright.*VoltAgent|Copyright.*ljbudgie|Copyright.*Burgess" --type=md
echo -e "\n=== Repository owner references ==="
rg -n "github\.com/(VoltAgent|ljbudgie)/" --type=md --type=ymlRepository: VoltAgent/awesome-openclaw-skills
Length of output: 796
🏁 Script executed:
#!/bin/bash
# Check the LICENSE file content to verify copyright holder
echo "=== LICENSE file content ==="
cat LICENSE
echo -e "\n=== Repository URLs in codebase ==="
rg "github\.com/(VoltAgent|ljbudgie)" -type md
echo -e "\n=== Check CONTRIBUTING.md context ==="
sed -n '50,60p' CONTRIBUTING.mdRepository: VoltAgent/awesome-openclaw-skills
Length of output: 2246
Update copyright holder in LICENSE file to match repository owner.
Repository URLs reference ljbudgie/awesome-openclaw-skills, but the LICENSE file shows Copyright (c) 2026 VoltAgent. Update the copyright holder to match the repository owner (ljbudgie).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@CONTRIBUTING.md` at line 55, The LICENSE file currently lists "Copyright (c)
2026 VoltAgent" which doesn't match the repository owner; update the copyright
holder string in the LICENSE file to "ljbudgie" (or "Copyright (c) 2026
ljbudgie") so it matches the repository owner referenced elsewhere, ensuring any
other occurrences of "VoltAgent" in the LICENSE are replaced consistently and
preserving the rest of the license text and year.
| <strong>Discover 5100+ community-built OpenClaw skills, organized by category. | ||
| </strong> | ||
| <br /> | ||
| <br /> | ||
| </div> | ||
|
|
||
| [](https://awesome.re) | ||
| [](#table-of-contents) | ||
| [](https://github.com/VoltAgent/awesome-clawdbot-skills/pulls?q=is%3Apr+is%3Amerged+sort%3Aupdated-desc) | ||
| [](#table-of-contents) | ||
| [](https://github.com/ljbudgie/awesome-openclaw-skills/pulls?q=is%3Apr+is%3Amerged+sort%3Aupdated-desc) |
There was a problem hiding this comment.
Skill totals are now inconsistent across the same README.
Line 11 (5100+) and Line 18 (5143) no longer match the narrative total stated later (Line 87 says 5,211). Please sync these values to one source of truth to avoid confusion.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` around lines 11 - 19, The README contains inconsistent skill
totals: the header string "Discover 5100+ community-built OpenClaw skills", the
Skills Count badge (alt/label showing "skills-5143"), and the narrative total
"5,211" are out of sync; choose a single authoritative total (or make the count
dynamic) and update all occurrences to match it—specifically change the header
text "Discover 5100+...", the badge label/value for "Skills Count"
(`skills-5143`), and the narrative total "5,211" to the same number or wire them
to a single source so they stay consistent.
| ```bash | ||
| # Enable all Burgess skills | ||
| cp -r burgess/skills/* ~/.openclaw/skills/ | ||
|
|
||
| # Or enable just one | ||
| cp -r burgess/skills/contract-review ~/.openclaw/skills/ | ||
| ``` |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Top-level files under burgess/skills (these would be copied by '*' wildcard):"
find burgess/skills -maxdepth 1 -type f -printRepository: VoltAgent/awesome-openclaw-skills
Length of output: 187
Wildcard in copy command can include non-skill files.
At line 206, cp -r burgess/skills/* ~/.openclaw/skills/ matches both files and directories. The directory contains burgess-config.md at the top level, which would be copied unintentionally. Use burgess/skills/*/ to match directories only.
♻️ Proposed fix
-# Enable all Burgess skills
-cp -r burgess/skills/* ~/.openclaw/skills/
+# Enable all Burgess skills (directories only)
+cp -r burgess/skills/*/ ~/.openclaw/skills/🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` around lines 204 - 210, The cp command in the README uses a glob
that matches both files and directories (cp -r burgess/skills/*
~/.openclaw/skills/), which will accidentally copy top-level files like
burgess-config.md; update the example to only match directories by changing the
glob to cp -r burgess/skills/*/ ~/.openclaw/skills/ so only skill directories
are copied, and update the adjacent single-skill example if needed to preserve
clarity.
| for file in "$CATEGORIES_DIR"/*.md; do | ||
| basename_no_ext="$(basename "$file" .md)" | ||
| count=$(grep -c "^- \[" "$file") | ||
| total=$((total + count)) |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
tmp="$(mktemp)"
printf '%s\n' 'no skill bullet here' > "$tmp"
set +e
out="$(grep -c "^- \[" "$tmp")"
status=$?
set -e
echo "grep output: $out"
echo "grep exit status: $status # expected: 1 when no matches"
rm -f "$tmp"Repository: VoltAgent/awesome-openclaw-skills
Length of output: 142
Add guard to prevent script failure when a category file contains zero skills.
With set -e, grep -c returns exit code 1 when no matches are found, which can cause the script to exit prematurely even though the count value (0) is correct.
Fix
- count=$(grep -c "^- \[" "$file")
+ count=$(grep -c "^- \[" "$file" || true)📝 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.
| for file in "$CATEGORIES_DIR"/*.md; do | |
| basename_no_ext="$(basename "$file" .md)" | |
| count=$(grep -c "^- \[" "$file") | |
| total=$((total + count)) | |
| for file in "$CATEGORIES_DIR"/*.md; do | |
| basename_no_ext="$(basename "$file" .md)" | |
| count=$(grep -c "^- \[" "$file" || true) | |
| total=$((total + count)) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@scripts/sync-skill-counts.sh` around lines 59 - 62, The loop can fail under
set -e because grep may return a non-zero exit status when there are no matches;
update the count assignment in the loop (where variables like CATEGORIES_DIR,
basename_no_ext, count, total are used) to tolerate that by capturing grep
output with a fallback: use count=$(grep -c "^- \[" "$file" || true) and then
normalize to zero if empty (e.g. count=${count:-0}) before adding to total, so
files with zero skills don't cause the script to exit.
This pull request introduces several important improvements to project governance, automation, and documentation. It adds new workflows for automated validation and link checking, expands issue reporting templates, clarifies licensing and trademark information, and updates project metadata to reflect the new repository and the addition of the Burgess Principle. These changes collectively enhance the project's reliability, maintainability, and community standards.
Automation and CI/CD Enhancements:
lycheeto detect and report broken links, with logic to avoid duplicate issues. (.github/workflows/link-check.yml).github/workflows/pr-validate.yml)Issue Reporting Improvements:
.github/ISSUE_TEMPLATE/broken-link.yml,new-category.yml,security-concern.yml,skill-removal.yml) [1] [2] [3] [4]Licensing, Governance, and Documentation:
CODE_OF_CONDUCT.mdbased on the Contributor Covenant, emphasizing inclusivity and the Burgess Principle.LICENSEand added trademark notice clarifying that the code is MIT-licensed but the "Burgess Principle" name and mark are protected.CONTRIBUTING.mdto clarify the repository's trademark policy and update references to the new repository location. [1] [2]CHANGELOG.mdto track notable changes using the Keep a Changelog format.Project Metadata and Branding:
README.mdto reflect the new repository (ljbudgie/awesome-openclaw-skills), adjust skill counts, and introduce the Burgess Principle as an optional human-review upgrade layer. [1] [2]Summary by CodeRabbit
New Features
Documentation
Chores