agentsclimarketplace

Project engine

Skill Yesterday-AI/skills/plugins/personal-agent/skills/project-engine

Autonomous project execution engine for AI agents. Orchestrates scheduled cron jobs per project using workflow templates (dev-autonomous, research, ops). Integrates PR-Gate, GitHub workflow, ROADMAP tracking, and human notification via project-tracking. Use when: setting up scheduled project work, running an autonomous session, or designing an agent's development loop. Builds on forward-momentum (philosophy) and implements it as a concrete system.From its SKILL.md

Install
npx -y skills add Yesterday-AI/skills --skill project-engine

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 8 commands, including `gh pr list --state open --author @me --repo <REPO>` and 7 more.

SKILL.md

10.3 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it

Project Engine πŸ—οΈ

The execution layer for Forward Momentum.

Forward Momentum defines the philosophy (every interaction β†’ state change). Project Engine defines the system (workflows, schedules, PR gates, human routing).

Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  PROJECTS_TRACKING.md   β”‚  ← Project registry (project-tracking skill)
β”‚  - Project A: dev-auto  β”‚
β”‚  - Project B: research  β”‚
β”‚  - Project C: unscheduledβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  OpenClaw Cron Jobs     β”‚  ← One job per scheduled project
β”‚  - Job A β†’ Workflow X   β”‚
β”‚  - Job B β†’ Workflow Y   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ triggers
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Workflow Template       β”‚  ← This skill defines the steps
β”‚  1. PR-Gate check        β”‚
β”‚  2. Work                 β”‚
β”‚  3. Artifact (PR/Doc)    β”‚
β”‚  4. Notify Lead (Human)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Project States

A project is either scheduled (has a cron job + workflow) or unscheduled (idea/observation, collecting notes).

StateMeaningAction
UnscheduledIdea / Discovery / ObservationCollect notes, no autonomous work
ScheduledActive work via cron jobRuns a workflow template per session

To schedule a project: create an OpenClaw cron job whose prompt references this skill and specifies the workflow.

Workflow Templates


1. dev-autonomous -- Full Development Cycle

For projects with a code repo, ROADMAP/Issues, and GitHub PR workflow.

Session Protocol:

STEP 1 -- PR-GATE (mandatory first step, never skip)
  Check for open PRs from last session:
    β†’ gh pr list --state open --author @me --repo <REPO>
  If open PR exists:
    a) Read ALL comments and reviews: gh pr view <N> --comments
    b) Work through review action items
    c) Push fixes to the existing branch
    d) If all resolved β†’ note completion in PR comment
    e) STOP here -- do NOT start new work until PR is merged/closed
  If no open PR β†’ continue to Step 2

STEP 2 -- ORIENT
  Read the project's ROADMAP.md or GitHub Issues
  Identify the next actionable item
  Optional: consult another agent (e.g., Ken via Yesterday API)

STEP 3 -- EXECUTE
  Create a feature branch: git checkout -b feat/<descriptive-name>
  Implement the change (code, tests, docs)
  One feature/fix per session -- keep it small
  Follow conventional commits (feat:/fix:/chore:/docs:)

STEP 4 -- SHIP
  Push branch and create PR:
    gh pr create \
      --title "<type>: <description>" \
      --body "## Summary\n<what and why>\n\n## Changes\n<details>\n\n## Next Step\n<what comes after>" \
      --reviewer <REVIEWER> \
      --assignee @me
  Update ROADMAP.md with progress

STEP 5 -- NOTIFY
  Send summary to the project's Lead (Human)
  Include: PR link, key decisions, blockers, next step
  Route to correct human (see "Human Routing" below)

Cron Prompt Template:

Forward Momentum: dev-autonomous

Project: <PROJECT_NAME>
Repo: <OWNER/REPO>
ROADMAP: <path/to/ROADMAP.md>
Reviewer: <GITHUB_USERNAME>

Read the project-engine skill (skills/project-engine/SKILL.md).
Follow the dev-autonomous workflow strictly.
Read AGENTS.md for workspace conventions.
Resolve Lead (Human) from PROJECTS_TRACKING.md for notifications.

2. research -- Research & Documentation

For projects in exploration phase that produce structured documents.

Session Protocol:

STEP 1 -- ORIENT
  Read the project's research brief or open questions
  Check ClawRAG for existing knowledge on the topic

STEP 2 -- RESEARCH
  Use web search, Exa, ClawRAG, or agent consultation
  Focus on answering ONE specific question per session

STEP 3 -- DOCUMENT
  Write findings to a structured document (e.g., docs/<topic>.md)
  Include: sources, key takeaways, open questions
  Commit and push (direct to main OK for docs-only, PR for shared repos)

STEP 4 -- NOTIFY
  Brief summary to Lead (Human): what was found, what's still open

3. ops -- Operations & Maintenance

For infrastructure, monitoring, and deployment tasks.

Session Protocol:

STEP 1 -- HEALTH CHECK
  Run health checks / status commands for the service
  Check logs for errors or anomalies

STEP 2 -- ACT
  Issues found β†’ fix, deploy, document
  Healthy β†’ run scheduled maintenance (updates, cleanups, optimization)
  Follow the project's deploy procedure

STEP 3 -- LOG
  Update ops log or daily memory with findings
  If something broke β†’ create a GitHub Issue

STEP 4 -- NOTIFY (only if actionable)
  Alert Lead (Human) about problems or completed maintenance
  Do NOT notify for routine "all clear" sessions

4. code-review -- Automated PR Validation

For maintainers and infrastructure admins. Validates incoming PRs against repository standards (CONTRIBUTING.md).

Session Protocol:

STEP 1 -- DISCOVER
  List open PRs where I am not the author:
    gh pr list --state open --json number,title,author,reviews --jq '.[] | select(.author.login != "@me")'
  Filter for PRs that need my attention (no review from me yet OR changes requested + updated).

STEP 2 -- ANALYZE
  For each target PR:
    a) Read the diff: gh pr diff <N>
    b) Read the repository's CONTRIBUTING.md or standards.
    c) Check specifically for:
       - Security violations (secrets, root users)
       - Architecture compliance (namespaces, labels)
       - Documentation (README, changelog)

STEP 3 -- ACT
  If violations found:
    Request Changes with specific line references and remediation steps.
    gh pr review <N> --request-changes --body "Violations found: ..."
  If compliant:
    Approve the PR.
    gh pr review <N> --approve --body "LGTM! 🚒"

STEP 4 -- REPORT
  Log the review actions in the project's tracking/memory.
  Notify Lead (Human) only if a PR is blocked by critical issues or ready to merge.

Cron Prompt Template:

Forward Momentum: code-review

Project: <PROJECT_NAME>
Repo: <OWNER/REPO>
Role: <ROLE>

Read skills/project-engine/SKILL.md and <REPO>/CONTRIBUTING.md.

TASK:
1. Identify open PRs in <REPO> needing review.
2. Validate against CONTRIBUTING.md standards (Security, Architecture, Docs).
3. Request Changes for violations; Approve if compliant.
4. Report actions taken.

Human Routing

Notifications always go to the Lead (Human) from PROJECTS_TRACKING.md, not a hardcoded person.

Resolution order:

  1. Read PROJECTS_TRACKING.md β†’ find project row β†’ Lead (Human) column
  2. Look up the human's notification channel:
    • Workspace owner β†’ USER.md (timezone, preferred channel)
    • Other humans β†’ project's Source of Truth or agent config
  3. Send via appropriate channel (Discord, Telegram, etc.)

Example:

| ID | Projekt | Lead (Human) | Lead (Agent) | ...
| CLW-RAG | ClawRAG | Alex | Manni | ...
| Y-PLAT | Platform | Sidney | Robby | ...

β†’ ClawRAG summaries go to Alex, Platform summaries go to Sidney.

Fallback: If Lead (Human) is unspecified or routing fails β†’ notify workspace owner from USER.md.

Scheduling Guide

Recommended Frequencies

WorkflowFrequencyRationale
dev-autonomous2-4x dailyEnough to iterate; more = diminishing returns
research1-2x dailyDeep work needs focus, not frequency
ops1-2x dailyHealth checks + maintenance windows

Multi-Project Example

08:30 UTC -- Project A (dev-autonomous)
12:30 UTC -- Project B (dev-autonomous)
16:30 UTC -- Project A (dev-autonomous)
20:30 UTC -- Project C (ops)

Creating the Cron Job

openclaw cron create \
  --name "Forward Momentum: <PROJECT>" \
  --schedule "30 12 * * *" \
  --tz UTC \
  --model opus \
  --message "<paste workflow prompt from template above>"

Integration Map

SkillRole
forward-momentumPhilosophy -- why we enforce action per session
project-trackingRegistry -- project list, Lead (Human), status definitions
github-workflowMechanics -- branch naming, PR commands, CI checks
software-craftsmanshipStandards -- PR descriptions, code quality, commit format
clawrag-apiKnowledge -- lookup during research, ingest during documentation
yesterday-expert-app-apiConsultation -- architectural decisions with other agents

Anti-Patterns 🚫

SESSION_WITHOUT_ARTIFACT

Every session must produce something tangible: a PR, a document, a deployment, an issue. "I read the ROADMAP and planned next steps" is NOT an artifact. Ship something.

PR_PILE

Never open a new PR while the last one is still open. Step 1 (PR-Gate) prevents this. If you skip the gate, you create review debt that compounds.

NOTIFICATION_SPAM

Don't notify the human for routine sessions. Notify when:

  • A PR needs review
  • Something is blocked on their input
  • Something broke
  • A milestone was reached

HARDCODED_HUMAN

Never hardcode notify Alex in a cron prompt. Always resolve from PROJECTS_TRACKING.md. Projects change owners. Prompts shouldn't need to.


"Input β†’ Impact β†’ Output. Every session ships." 🦝

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 620,776. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.