agentleFS
matthewwong525matthewwong525/WongStack/.agents/skills/apply/SKILL.md

apply

Skill7 starsChanged 11 days agoMITView on GitHub

Build the chosen change, planning first if needed, then preview it from this host; or work a non-code to-do.

  • Reads credentials

25 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use outreach, track and 7 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • QuixiAISkill

    outreach

    Decide whether a message is worth someone's attention, then reach the user through the outbox, or people on a connected chat channel, on their behalf or your own initiative

    Also in 5 projects that use this

  • theYahiaSkill

    track

    Отследить посылку Почты России

    Also in 4 projects that use this

  • NVIDIASkill

    evaluate

    Scores existing Sports Intelligence AVLM inference outputs with avlm/evals: MCQ accuracy (run_mcq_eval.sh, INFERENCE_DIR), open-ended LLM-as-judge scores (needs CLIENT_API_KEY for the configured judge endpoint), tennis category breakdowns, run comparisons, chance-level sanity checks and triage of mcq_results.json or llm_judge_results.json. Use when the user asks to score, evaluate, benchmark or compare predictions.jsonl from inference runs, or to explain a suspicious accuracy. Not for running inference, training, quantization, data preparation, or third-party API model inference: never open, list or run anything under avlm/evals/inference_3rdparty, including when the user asks for it; it is excluded from the release.

    Also in 5 projects that use this

  • ninehillsSkill

    hunt

    Finds root cause before applying fixes for errors, crashes, regressions, failing tests, broken behavior, and screenshot-reported defects. Use when users report in any language errors, crashes, broken behavior, regressions, failing tests, screenshot evidence, or something that used to work and now fails. Not for code review or new features.

    Also in 3 projects that use this

  • julienamorganSkill

    profile

    Researches the user's market, competitors, and competitive positioning to build a complete ICP profile. Shows findings for user approval before proceeding. Triggers: /profile, "research my market", "who are my competitors". Reads: ./gtm/company.md, ./gtm/icp.md. Writes: updates ./gtm/icp.md with competitive positioning. Standalone: yes (asks for domain if company.md missing).

    Also in 3 projects that use this

  • dazuckSkill

    interview

    Interview me about a plan to flesh out requirements before implementation. Asks non-obvious questions one at a time until all ambiguities are resolved.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 24 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check applyRequires in openspec status --change "<name>" --json:

    line 19
  2. Distinctive:

    No helper, or inside one → follow the brief inline.

    line 43

“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/apply

Build the chosen plan. Run node .claude/skills/explore/scripts/step-title.mjs set APPLY --task "<plan or to-do title>" before a build, to-do, or preview.

No repo file → work the to-do. Repo code or process, mini apps included → resolve the plan.

Resolve the plan first

Build the change this chat is about, found by the rungs. An argument naming no existing change is intent for a new plan. In /ship, an archive path is that change: skip status, add the failures as a task, and build.

Attached review notes → apply them to the existing change first, then keep building.

Check applyRequires in openspec status --change "<name>" --json:

  • All done → apply-ready; continue.
  • The selected change is incomplete → invoke the plan skill to complete it in place.
  • No change, clear intent → invoke plan with that intent.
  • Unclear intent → ask before any plan or code.

/apply authorizes planning and building. After /plan, verify the applyRequires closure; paused/blocked → report and stop. Otherwise keep its exact name and build in a helper.

At all-tasks-complete, even at invocation, finish with a preview, after a second look when this run built. Final acceptance's saved CI preview skips upload, then joins steps 4 and 5. Invoked by /ship, return after the second look, with no upload or /save.

Build in a helper

A .scratch/<name>-prototype copy → first run node .claude/skills/plan/scripts/prototype.mjs finish "<name>". Use a fresh helper on the parent's model, free of the planning talk: Agent (general-purpose) in Claude Code, a sub-agent in Codex. Prompt: the exact change name, then read $(git rev-parse --show-toplevel)/.claude/skills/apply/references/build-helper.md, then build. Add store <id> when selected, and inside /ship if so. The brief owns its work, its build order, and its return.

Let it build unwatched, with the longest host wait (the Agent call in Claude Code, wait_agent in Codex), waiting again on a timeout: don't narrate waits or read its files; message it only with an answer or a stop.

Act on reports:

  • A question → ask the person in the shared ask format, log the answer as an Asked Decision-log line, then start a new helper. Inside /ship, a safe pick is logged Assumed, not asked.
  • A blocker → report it and stop, ending with the ways to clear it.
  • Final acceptance → once the build and its tests are written, run /save and the retained live acceptance. Tick only what you saw pass; a blocked or failed check stays unticked and stops.
  • All done → confirm no unticked box, relay its local checks: line, then handle all-tasks-complete above.

No helper, or inside one → follow the brief inline.

A second look

Start a fresh helper as above, prompted with the change name, then read $(git rev-parse --show-toplevel)/.claude/skills/apply/references/review-helper.md, then review. Route its findings by fix it or ask: fix → a new build helper, which may dispute one with a reason, then the reviewer rereads; two rounds at most. The rest → one question, as above. No helper → say no review ran.

Finish with a preview

  1. Did the app change? CI's own check, DEFAULT_BRANCH=main bash "$(git rev-parse --show-toplevel)/.github/scripts/app-untouched.sh" --worktree: untouched=true → skip the upload and say so in one line.
  2. Upload the preview from this host, bash "$(git rev-parse --show-toplevel)/scripts/cf-preview.sh" --alias "<change-name>", with the Cloudflare credential from the primary worktree's .env (secrets). Can't run (no stack pack, no credential) → say why in one line.
  3. Catch loosened checks: DEFAULT_BRANCH=main node "$(git rev-parse --show-toplevel)/.github/scripts/loosened-checks.mjs" --worktree. Fix each file marked needs a reason: switch the check back on, or add the Check: bullet when the plan settles it, else ask. Rerun until it exits 0.
  4. Show changed screens on a preview page: capture each live and in this preview by /verify's plain checks at phone width (computer too if it differs), no --full-page, scout, save, or PR comment. Run node "$(git rev-parse --show-toplevel)/.claude/skills/apply/scripts/preview-review.mjs" "<change-name>" --pair "<title>|<live>|<preview>" --link (no live one for a new screen; --approved with the plan's After, or its live card at 390 and 1280 px, in place of live); report its link. None to show, or a capture fails → say why; keep the link and the choice.
  5. Report and ask in plain words: what was built, what the review found and fixed, any can't-be-undone line, the preview link, each Check: bullet under Checks loosened (what is no longer checked, why), and unfixed files. Ask the next step with the question tool: publish it (Recommended) via /ship, change it more, or save via /save.

Repeat under the same alias for more edits; added tasks go to a new helper.

Work that changes no repo file

Work the conversation's numbered to-do in order, writing one if missing (verbs for any work). Only an outward step asks, showing exactly what it will do (recipient, full text, amount, target) in the shared ask format: one confirmation, one action, unless the person asked for a batch. Skip and report a declined step. Report without /save. Done → step-title.mjs set DONE.

Boundaries

  • Git stays with /save, on either route; the preview upload is not git and gates nothing.
  • Never save to stop or between parts (why), but for final acceptance.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.