prd-ralph
Complete at most one eligible unfinished PRD task, verify it, log progress, and optionally create one scoped commit.
- License 许可
- MIT
- 所属仓库
- japurcell/skills
- 最近更新
- 2026-11-11
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- prd-ralph
- description
- Complete at most one eligible unfinished PRD task, verify it, log progress, and optionally create one scoped commit.
- argument-hint
- <prd-file> [progress_file <path>] [task_id <id>] [commit false]
02 资源文件 11
- 参考文档evals/evals.json5.1 KB
- 参考文档evals/files/enriched/tasks.json4.4 KB
- 参考文档evals/files/partial-complete/tasks.json1.5 KB
- 参考文档evals/files/unresolved/tasks.json4.7 KB
- 参考文档evals/README.md684 B
- 参考文档references/browser-verification.md1.3 KB
- 参考文档references/commit.md2.1 KB
- 参考文档references/failures.md800 B
- 参考文档references/intake.md3.3 KB
- 参考文档references/progress.md2.4 KB
- 参考文档references/verification.md2.0 KB
03 SKILL.md 正文
/prd-ralph
Complete at most one eligible unfinished task from prd_file.
Inputs
prd_filerequiredprogress_fileoptional; default:<dirname(prd_file)>/progress.txttask_idoptionalcommitoptional; default:true- Only boolean
falseor string"false"disables commit.
- Only boolean
Core rules
- Do not interview the user. Make reasonable assumptions and record them in
progress_file. - Treat
prd_fileas the source of truth. - Never invent commands, paths, requirements, or acceptance criteria.
- After any command/tool failure or timeout, read
references/failures.md. - Never commit
prd_file,progress_file, unrelated changes, or blocked/failing work. - Set
passes: trueonly after:- required verification passes,
- progress is appended,
- commit rules are satisfied,
- all session commits are recorded and audited.
- A session commit is any commit in:
git log --oneline <session_start_head>..HEAD - If session commit audit fails, block and do not set
passes: true.
References
Read when triggered:
references/verification.md— before verification.references/browser-verification.md— when browser/UI/auth/routing/DOM/interactive behavior is mentioned or implied.references/failures.md— after any command/tool failure or timeout.references/commit.md— after verification passes when commit is enabled.references/progress.md— before appending progress.
Workflow
1. Prepare
- Read
prd_fileandreferences/intake.md. Validate the entire manifest before selection or completion detection. If unreadable or invalid, emit the blocked protocol and stop. - If the validated nonempty manifest has all
tasks[].passesequal totrue, or authoritative source explicitly establishes a validated no-work result, output exactly:<promise>COMPLETE</promise>Then stop. - Resolve
progress_file:- if missing, create it with
## Codebase Patternsat the top - otherwise read it, especially
## Codebase Patterns
- if missing, create it with
- Read repo guidance files if present:
AGENTS.md,GEMINI.md,CLAUDE.md. - Run:
git log --oneline -20git rev-parse --verify HEAD
- Save
HEADassession_start_head. - If any prepare command fails or times out:
- read
references/failures.mdandreferences/progress.md - append a
PREPAREprogress block - stop if
prd_fileis unreadable, task selection is unsafe, orsession_start_headis unavailable
- read
2. Select one task
A task is eligible only when:
passes: false- every
dependsOntask haspasses: true dependsOn: []means no dependencies
Selection:
- If
task_idis provided, use it only if it exists, is unfinished, and dependencies pass. Otherwise stop and report why. - If
task_idis omitted, choose the eligible unfinished task with the lowest numericpriority. - Break ties by PRD order.
- If no task is eligible, emit
<promise>BLOCKED</promise>and list actionable blockers.
Read every selected task field, resolve its source/context references, and inspect prerequisite evidence/current state as required by references/intake.md before execution. Priority never bypasses a prerequisite.
Before implementation, inspect the selected task. If requirements or acceptance criteria are missing, unsafe, or contradictory:
- read
references/progress.md - append a blocked progress block
- stop
3. Implement
- Execute the selected
taskTypeoutcome within user scope and owner limits. Activate thetddskill before designing or editing source code; for noncode work collect real, outcome-appropriate evidence. A decision requiring owner approval stays blocked. - Follow only the selected task’s:
descriptionacceptanceCriteriafilesLikelyToucheddesignGuidancesourceRefs,requiredContext,taskType, andverification- prerequisite guarantees, repo guidance, user constraints, and patterns
- For testable code changes:
- RED: add a failing test for the required behavior.
- GREEN: make the smallest passing change.
- REFACTOR: only if needed while tests stay green.
- For doc/config-only work:
- do not invent tests
- record why command verification is not applicable in
progress_file, if true
- If any command/tool fails or times out, read
references/failures.md.
4. Verify
- Read
references/verification.md. - Execute every required manifest check plus real applicable repo/acceptance checks. Verify not-applicable reasons against actual scope. Unresolved checks block; never waive a failing check. See the reference for per-check evidence.
- If browser-visible behavior is mentioned or implied, read and apply
references/browser-verification.md. - Record exact commands/checks, concise output, and exit codes.
- If any command/tool fails or times out, read
references/failures.md.
5. Finish
Rescan the selected task for acceptance criteria and required verification.
To audit session commits:
- Run
git log --oneline <session_start_head>..HEAD. - For each listed commit, run
git show --name-only --format=oneline <hash>. - Include every session commit in the next progress block.
If verification failed or is missing:
- Do not set
passes: true. - Do not commit.
- Audit session commits.
- If any session commit exists, the commit gate is blocked.
- Read
references/progress.md. - Append progress with blocker evidence, failures, session commits, and any commit-gate blocker.
- Report blocker and stop.
If verification passed and commit is enabled:
- Read and follow
references/commit.md. - Create exactly one scoped commit for task changes.
- Audit session commits.
- If the commit gate is blocked:
- do not set
passes: true - read
references/progress.md - append progress with verification evidence, failures, commit blocker, and session commits
- report blocker and stop
- do not set
- Read
references/progress.md. - Append progress with verification evidence, failures, task commit, commit-gate result, and session commits.
- Set the selected task’s
passestotrueinprd_file. - Leave
prd_fileandprogress_fileuncommitted.
If verification passed and commit is disabled:
- Do not commit.
- Audit session commits.
- If any session commit exists, the commit gate is blocked.
- Read
references/progress.md. - Append progress with verification evidence, failures,
disabled by input, commit-gate result, and session commits. - If the commit gate is blocked:
- do not set
passes: true - report blocker and stop
- do not set
- Set the selected task’s
passestotrueinprd_file.
6. Final response
Before responding, confirm:
- progress was appended for any attempted selected task
- every command/tool failure or timeout was recorded in
progress_file - every mistake and/or workaround and human correction was recorded in
Learnings - verification passed or the task was blocked
- commit gate passed or the task was blocked
- all session commits were recorded in
progress_file - if commit was enabled and passed, the commit excludes
prd_fileandprogress_file - if commit was disabled and passed, no commit was created
If all tasks[].passes are now true and commit gate rules are satisfied, output exactly:
<promise>COMPLETE</promise>
If the selected task passed and unfinished work remains, emit <promise>TASK_COMPLETE</promise> followed by the selected-task summary. For any blocked outcome emit <promise>BLOCKED</promise> followed by the actionable reason, including invalid input, missing context, no eligible task, owner approval, unresolved verification, or commit gates. Never emit task completion for a blocked attempt.
In either nonterminal summary include:
- task completed or blocked
- verification results
- browser evidence, if required
- command/tool failures or timeouts, if any
- files changed
- commit status
- session commits
04 同仓库更多 Skills
spec-create
Create or revise a portable behavioral SPEC for a feature or whole product. Use when specifying a new idea, documenting an existing system for reimplementation, or defining a change while preserving compatibility. Implementation planning is a separate task.
fsdp-style-guide
Mandatory for all UI/UX design, implementation, review, audit, or visual regression tasks. Always use for any work that affects user-facing appearance, behavior, accessibility, branding, layout, navigation, forms, dialogs, alerts, tables, or visual design.
agency-priorities
Provide self-contained USDA strategic goals and Forest Service priorities for agency briefings, proposals, and work-plan alignment. Use when explaining agency direction or evaluating how a project contributes to USDA and Forest Service priorities.
accomplishment-report
Create a concise Forest Service executive accomplishment report when all work in an ExecPlan is completed, or update its existing report. Use at ExecPlan closeout and when asked to report completed work, agency alignment, and estimated AI-assisted versus human-only time and cost savings.
writing-for-agents
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.
web-performance
Optimize web performance for faster loading and better user experience. Use when asked to "speed up my site", "optimize performance", "reduce load time", "fix slow loading", "improve page speed", or "performance audit".