Skip to content

feat: improve fastly-ngwaf skill score from 68% to 97%#7

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

feat: improve fastly-ngwaf skill score from 68% to 97%#7
yogesh-tessl wants to merge 2 commits into
fastly:mainfrom
yogesh-tessl:improve/skill-review-optimization

Conversation

@yogesh-tessl
Copy link
Copy Markdown

@yogesh-tessl yogesh-tessl commented May 12, 2026

Hey @jedisct1 👋

impressive work. You’ve pulled together 7 skills that span the entire Fastly edge stack from VCL transpiling with XVCL all the way to local Compute testing with Viceroy. It makes the toolkit not just useful, but genuinely easy to explore and learn from. This feels like something built by someone who really understands both the technology and the developer experience

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

Skill Before After Change
fastly-ngwaf 68% 97% +29%
Changes made to fastly-ngwaf
  • Removed verbose "Trigger and scope" section that repeated the frontmatter description - saves tokens and removes redundancy
  • Added concrete curl + jq examples for each audit step (list workspaces, fetch rules, check specific signals, search uncovered endpoints) so the skill is copy-paste actionable
  • Added expected output examples showing healthy vs unhealthy workspace audit results, so the agent knows how to format and interpret findings
  • Added error handling table covering common failures (missing API key, 403 permission errors, missing jq dependency)
  • Restructured the workflow into a clear 4-step sequence with validation checkpoints and a feedback loop (searching for uncovered login endpoints when LOGINATTEMPT is missing)
  • Preserved the existing description (already scored 100%) and all domain-specific terminology (NGWAF signal codes, API endpoints)

I also stress-tested your fastly-ngwaf skill against a few real-world task evals and it held up really well on auditing workspaces with partially-configured login protection rules where LOGINDISCOVERY was missing but LOGINATTEMPT was enabled. Kudos for that.

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.

If you want to self-improve your skills, or define your own scenarios to pressure test, just ask your agent (Claude Code, Codex, etc.) to evaluate and optimize your skill with Tessl. Ping me @yogesh-tessl, if you hit any snags.

Hey @jedisct1 👋

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

| Skill | Before | After | Change |
|-------|--------|-------|--------|
| fastly-ngwaf | 68% | 97% | +29% |
| fastly | 100% | 100% | — |
| fastly-cli | 89% | 89% | — |
| falco | 89% | 89% | — |
| fastlike | 89% | 89% | — |
| viceroy | 95% | 95% | — |
| xvcl | 94% | 94% | — |

<details>
<summary>Changes made to <code>fastly-ngwaf</code></summary>

- **Removed verbose "Trigger and scope" section** that repeated the frontmatter description — saves tokens and removes redundancy
- **Added concrete curl + jq examples** for each audit step (list workspaces, fetch rules, check specific signals, search uncovered endpoints) so the skill is copy-paste actionable
- **Added expected output examples** showing healthy vs unhealthy workspace audit results, so the agent knows how to format and interpret findings
- **Added error handling table** covering common failures (missing API key, 403 permission errors, missing jq dependency)
- **Restructured the workflow** into a clear 4-step sequence with validation checkpoints and a feedback loop (searching for uncovered login endpoints when LOGINATTEMPT is missing)
- **Preserved the existing description** (already scored 100%) and all domain-specific terminology (NGWAF signal codes, API endpoints)

</details>

I also stress-tested your `fastly-ngwaf` skill against a few real-world task evals and it held up really well on auditing workspaces with partially-configured login protection rules where LOGINDISCOVERY was missing but LOGINATTEMPT was enabled. Kudos for that.

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 🙏
Comment thread skills/fastly-ngwaf/SKILL.md Outdated
Comment on lines +109 to +114
| Error | Cause | Fix |
| -------------------------------- | ---------------------------- | ------------------------------------------------ |
| `FASTLY_API_KEY not set` | Environment variable missing | `export FASTLY_API_KEY=<token>` |
| `API call failed with status 403`| Token lacks NGWAF scope | Verify token has `global:read` permission |
| `No workspaces found` | NGWAF not provisioned | Enable NGWAF on the account first |
| `jq is not installed` | Missing dependency | `brew install jq` or `apt-get install -y jq` |
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you fix that funky indentation?

Comment thread skills/fastly-ngwaf/SKILL.md Outdated
Comment on lines +48 to +51
| ---------------------- | ----------------------------------------------------------------- |
| Login Protection | `LOGINDISCOVERY`, `LOGINATTEMPT`, `LOGINSUCCESS`, `LOGINFAILURE` |
| Credit Card Validation | `CC-VAL-ATTEMPT`, `CC-VAL-FAILURE`, `CC-VAL-SUCCESS` |
| Gift Card Validation | `GC-VAL-ATTEMPT`, `GC-VAL-FAILURE`, `GC-VAL-SUCCESS` |
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Funky indentation

@jedisct1
Copy link
Copy Markdown
Collaborator

Thanks!

We use Calibra for evals, but the ngwaf skills were added later and didn't go through the eval process.

These changes look good, thanks!

Could you just fix the weird table formatting introduced by this diff?

Thank you!

Address review feedback on PR fastly#7 — normalize trailing whitespace in
the Validate Critical Signals and Error Handling tables so the closing
pipes align vertically in the source markdown.
@yogesh-tessl
Copy link
Copy Markdown
Author

fixed!

also thanks @jedisct1, great to see this resonates.

We’ve reviewed a bunch of skills now and have picked up a few useful patterns around keeping them maintainable and secure as usage grows.

Happy to swap notes over a quick 15-min coffee and share the latest practices we've seen.

also eager to hear how you’re thinking about use cases on your side, as it helps us refine the approach.

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.

2 participants