fix: multiple community-reported issues

- feat(plugin.json): add agents declaration to make 9 agents visible
  in /agents command (fixes #66, closes PR #67)

- fix(backend-patterns): correct requirePermission HOF pattern to
  properly wrap handlers instead of expecting Request directly
  (fixes #54, closes PR #63)

- docs(user-CLAUDE): add privacy guideline about redacting secrets
  from logs before sharing (fixes #38, closes PR #39)

- fix(eval-harness): add mandatory frontmatter with name, description,
  and tools fields (closes PR #58)
This commit is contained in:
Affaan Mustafa
2026-01-25 15:43:48 -08:00
parent 660e0d3bad
commit b9b7831ef5
4 changed files with 26 additions and 10 deletions

View File

@@ -22,6 +22,7 @@
"automation", "automation",
"best-practices" "best-practices"
], ],
"agents": "./agents",
"commands": "./commands", "commands": "./commands",
"skills": "./skills" "skills": "./skills"
} }

View File

@@ -58,6 +58,10 @@ Located in `~/.claude/agents/`:
## Personal Preferences ## Personal Preferences
### Privacy
- Always redact logs; never paste secrets (API keys/tokens/passwords/JWTs)
- Review output before sharing - remove any sensitive data
### Code Style ### Code Style
- No emojis in code, comments, or documentation - No emojis in code, comments, or documentation
- Prefer immutability - never mutate objects or arrays - Prefer immutability - never mutate objects or arrays

View File

@@ -395,6 +395,7 @@ export function hasPermission(user: User, permission: Permission): boolean {
} }
export function requirePermission(permission: Permission) { export function requirePermission(permission: Permission) {
return (handler: (request: Request, user: User) => Promise<Response>) => {
return async (request: Request) => { return async (request: Request) => {
const user = await requireAuth(request) const user = await requireAuth(request)
@@ -402,14 +403,18 @@ export function requirePermission(permission: Permission) {
throw new ApiError(403, 'Insufficient permissions') throw new ApiError(403, 'Insufficient permissions')
} }
return user return handler(request, user)
}
} }
} }
// Usage // Usage - HOF wraps the handler
export const DELETE = requirePermission('delete')(async (request: Request) => { export const DELETE = requirePermission('delete')(
// Handler with permission check async (request: Request, user: User) => {
}) // Handler receives authenticated user with verified permission
return new Response('Deleted', { status: 200 })
}
)
``` ```
## Rate Limiting ## Rate Limiting

View File

@@ -1,3 +1,9 @@
---
name: eval-harness
description: Formal evaluation framework for Claude Code sessions implementing eval-driven development (EDD) principles
tools: Read, Write, Edit, Bash, Grep, Glob
---
# Eval Harness Skill # Eval Harness Skill
A formal evaluation framework for Claude Code sessions, implementing eval-driven development (EDD) principles. A formal evaluation framework for Claude Code sessions, implementing eval-driven development (EDD) principles.