Best for
- Implementing features
- Fixing bugs
- Refactoring code
event4u-app/agent-config/src/skills/developer-like-execution/SKILL.md
Use when implementing, debugging, refactoring, or reviewing code — enforces the think → analyze → verify → execute workflow — even when the user just says 'implement X' without naming it.
Decision brief
Use when implementing, debugging, refactoring, or reviewing code — enforces the think → analyze → verify → execute workflow — even when the user just says 'implement X' without naming it.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/developer-like-execution"Inspect the Agent Skill "developer-like-execution" from https://github.com/event4u-app/agent-config/blob/6a5670b7881a676c0da90d2afb950298087c4ccb/src/skills/developer-like-execution/SKILL.md at commit 6a5670b7881a676c0da90d2afb950298087c4ccb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Verification tool mapping” section in the pinned source before continuing.
If Xdebug is available (as MCP or IDE integration):
When UI changes are involved:
If important information is missing:
When UI is affected, verify with Playwright (MCP or direct):
Permission review
The documentation asks the agent to run terminal commands or scripts.
| **CLI commands/jobs** | Run command, check exit code | — |The documentation includes network, browsing, or remote request actions.
curl -s http://localhost:3000/__routes | jq '.[] | select(.path == "/api/users")' # Express custom-introspectionThe documentation includes network, browsing, or remote request actions.
curl -s http://localhost:8000/openapi.json | jq '.paths["/api/users"]' # FastAPIThe documentation asks the agent to run terminal commands or scripts.
docker compose logs api --since 5m --no-color | rg "payment|timeout" # any container stackEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 9 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Do NOT use when only explaining concepts or writing pure reference documentation without execution.
Act like a real developer: think before acting, analyze before coding, verify before concluding. Avoid unnecessary trial-and-error. Minimize output, token usage, and irrelevant data. Develop against expected behavior, ideally test-first.
Use the smallest, most targeted tool that gives the needed evidence. If a tool is available as MCP server, prefer it over manual alternatives.
| What changed | Primary tool | MCP alternative |
|---|---|---|
| Backend/API endpoint | curl -s | jq | Postman MCP (if configured) |
| Frontend/UI | Manual browser check | Playwright MCP (navigate + snapshot) |
| Execution flow/debugging | Print statements, logs | Xdebug MCP (breakpoints, variable inspection) |
| CLI commands/jobs | Run command, check exit code | — |
| Database | SQL query, migration status | — |
| External APIs | Http::fake() in tests | Postman MCP for manual checks |
If Xdebug is available (as MCP or IDE integration):
Use Xdebug before adding print statements or debug logging. It's faster and leaves no cleanup work.
When UI changes are involved:
jq for JSON: curl -s /api/users | jq '.[0] | {id, email}' — never the full responserg, grep for text: specific patterns, not full fileshead, tail, cut, sort, uniq for narrowing results--filter, --json, --format flags on CLI tools — always use themphp artisan route:list --json | jq '…', Rails bin/rails routes | grep users, Express console.log(app._router.stack), FastAPI app.routes, Symfony bin/console debug:router.rg "request_id=abc123" <log-dir> — never cat <log-file>. Log dirs by stack: Laravel storage/logs/, Rails log/, Node ./logs/ or journalctl, Python ./logs/ or journalctl, Docker docker compose logs <svc> --since 5m.Do NOT:
Before acting, verify:
If important information is missing:
memory-access, call
retrieve(types=["domain-invariants"], keys=<touched paths>, limit=3).
A matching domain-invariant is a hard constraint — violating it = regression,
surface the conflict to the user before proceeding. For architectural rationale
(why the current shape exists), check the ADR index
docs/decisions/INDEX.md; plan around it, do
not silently overturn it. Cite matching ids / ADR numbers in the plan.
See engineering-memory-data-format
for the schema.Prefer test-driven or test-first development whenever practical.
Before changing code, define:
Prefer: write or update failing test first → implement against it → run tests again.
If full TDD is not practical: at least write down the expected output before coding.
# Route lookup — pick the project's framework
php artisan route:list --json | jq '.[] | select(.uri == "api/users") | {method, uri, name, action, middleware}' # Laravel
bin/console debug:router --format=json | jq '.[] | select(.path == "/api/users")' # Symfony
bin/rails routes -g users # Rails
curl -s http://localhost:3000/__routes | jq '.[] | select(.path == "/api/users")' # Express custom-introspection
curl -s http://localhost:8000/openapi.json | jq '.paths["/api/users"]' # FastAPI
# Config inspection
php artisan config:show app | grep env # Laravel
bin/console debug:config framework # Symfony
bin/rails runner 'puts Rails.application.config_for(:database)' # Rails
# API inspection — extract only what you need
curl -s http://localhost/api/users | jq '.[0] | {id, email, status}'
curl -s http://localhost/api/users/1 | jq '{id, name, roles: [.roles[].name]}'
# Recent logs — targeted, not full dump
tail -n 200 storage/logs/laravel.log | rg "payment|timeout" # Laravel
tail -n 200 log/development.log | rg "payment|timeout" # Rails
docker compose logs api --since 5m --no-color | rg "payment|timeout" # any container stack
journalctl -u myapp --since "5 min ago" | rg "payment|timeout" # systemd
# DB-state probe — targeted single record, not full table
php artisan tinker --execute="User::where('email','x@y')->first(['id','email','status'])" # Laravel
bin/rails runner "p User.where(email: 'x@y').first&.slice(:id,:email,:status)" # Rails
bin/console doctrine:query:sql "SELECT id,email,status FROM users WHERE email='x@y' LIMIT 1" # Symfony
psql -d mydb -c "SELECT id,email,status FROM users WHERE email='x@y' LIMIT 1" # raw SQL fallback
When available (MCP or IDE), prefer over print/log debugging:
1. Set breakpoint at suspected method
2. Trigger request: curl -s http://localhost/api/endpoint
3. Inspect variables at breakpoint
4. Step through execution to verify actual flow
5. Remove breakpoint when done — zero cleanup
When UI is affected, verify with Playwright (MCP or direct):
Use rg over broad grep, jq for JSON, cut/awk/sort/uniq to reduce noise.
Never load full output into context when a filter gives you the answer.
Tests are mandatory when behavior changes or bugs are fixed.
Prefer: failing test first → implementation → passing test.
Test types: unit (isolated logic), feature/integration (behavior), UI (frontend), regression (bugs).
If a test cannot be added: state exactly why and explain what verification replaces it.
Never trust "it should work" — execute and observe.
| What | How | MCP alternative |
|---|---|---|
| Backend/API | curl -s | jq, test endpoint | Postman MCP |
| Frontend/UI | Browser check | Playwright MCP (navigate + snapshot) |
| Execution flow | Logs, print debug | Xdebug MCP (breakpoints, step-through) |
| CLI/Jobs | Run command, check exit code | — |
| Database | Query result, migration status | — |
| Skills/rules | Lint, structure check | — |
If a debugging/testing tool is available as MCP server — prefer it over manual alternatives.
Frequently asked questions
Use when implementing, debugging, refactoring, or reviewing code — enforces the think → analyze → verify → execute workflow — even when the user just says 'implement X' without naming it.
The source record exposes this install command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/developer-like-execution". Inspect the command and pinned source before running it.
Static rules flagged exec-script, network in the source; the page lists the matching lines and excerpts.
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrate C# static calls to a wrapper or built-in abstraction the user already named, within named files/projects, including affected fake-based test updates. USE FOR explicit DateTime.UtcNow/Now to TimeProvider, File.* to IFileSystem, existing IEnvironmentReader/ITextFileStore, scoped migrations, constructor injection, or a static API seam that keeps callers compiling and DateTimeKind unchanged. DO NOT USE when the user asks for behavior tests but leaves seam selection open (testability-obstacle
dotnet/skills
Classifies existing tests by standard traits and reports their distribution. MUST USE to categorize/tag/label tests, compare happy vs error paths, audit the test mix, or describe coverage shape by test type. Read bodies when names mislead. Apply canonical attributes; otherwise report only. DO NOT USE for test-quality audits, executed coverage or CRAP, behavioral gaps, writing tests, or migration.
yonatangross/orchestkit
Grade work that already exists and decide whether it can merge. Runs the project's current unit, integration, and E2E suites plus security scanning and type checking, scores every dimension 0-10, and returns a merge verdict with a VERIFIED-vs-CLAIMED evidence manifest. Writes no test files and edits no source. Use when verifying changes are ready to merge. Use /ork:cover instead when the tests still have to be written.