AgentStack
SKILL verified Apache-2.0 Self-run

Ase Docs Proofread

skill-rse-ase-ase-docs-proofread · by rse

>

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-rse-ase-ase-docs-proofread

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Ase Docs Proofread? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

@${CLAUDESKILLDIR}/../../meta/ase-control.md @${CLAUDESKILLDIR}/../../meta/ase-skill.md @${CLAUDESKILLDIR}/../../meta/ase-dialog.md @${CLAUDESKILLDIR}/../../meta/ase-getopt.md

Analyze documents for spelling, punctuation, or grammar errors

$ARGUMENTS

Proofread the documents of `` for problems in their spelling, punctuation, or grammar and propose corrections.

First, use the following to give a hint on this step:

PROOFREADING INVESTIGATION

Dispatch the investigation to a sub-agent via the Agent tool so that no investigation details leak into the user-visible transcript. The sub-agent performs the silent reading and checking; only its final structured return value is consumed here.

For this, invoke exactly once the tool:

``text Agent( name: "ase-docs-proofread", description: "Proofread Investigation", subagent_type: "ase:ase-docs-proofread", mode: "plan", prompt: ) ``

Parse the single result message of the Agent tool as a JSON array and set to that list.

You MUST NOT output anything at all in this step 1 beyond the single Agent tool invocation.

Use the following to give a summary of the detected problems in :

PROOFREADING SUMMARY:

| Proofread Type | Proofread Result | | ---------------- | ----------------------- | | SPELLING: | ** problems found | | PUNCTUATION: | problems found | | GRAMMAR: | ** problems found |

Hints:

  • is the number of problems with type equal to SPELLING in
  • is the number of problems with type equal to PUNCTUATION in
  • is the number of problems with type equal to GRAMMAR in
  1. Mark this skill as the active edit-capable skill so that the

ASE pre-tool-use hook auto-approves the subsequent Edit invocations on any invocation path (slash command or Skill tool). Call the ase_config_set(key: "agent.skill", val: "ase-docs-proofread", scope: "session:") tool from the ase MCP server. Do not output anything in this substep.

Critical safety invariant: the marker set here grants Edit auto-approval and MUST be cleared again (substep 3 below) before this skill yields control, regardless of how the iteration in substep 2 ends - whether it completes normally, is aborted early (e.g. an Edit failure, an unparseable value, or any other unexpected condition), or is otherwise interrupted. If you ever stop or bail out of substep 2 early, you MUST still perform substep 3 first. Never leave this marker active for a later, unrelated Edit.

  1. Iterate over all problems:

">

  1. Set to the type field of .

Set to the file field of . Set to the line field of . Set to the description field of . Set to the context_before field of . Set to the old_text field of . Set to the new_text field of . Set to the context_after field of .

  1. Report the problem with the following :

PROBLEM: ``::

  1. is not 'true'">

Determine the hunk body as an ordered list of lines, each carrying a one-character prefix ( for context, - for old-side, + for new-side). Build it by concatenating, in order and skipping any part that is empty:

  • one -prefixed line for each line of

(if non-empty),

  • one --prefixed line for each line of

(if non-empty; split on newlines),

  • one +-prefixed line for each line of

(if non-empty; split on newlines),

  • one -prefixed line for each line of

(if non-empty).

Set to those prefixed lines joined by newlines.

Set to the number of old-side hunk lines, i.e., the combined line count of , , and (each empty part counts as 0). Set to the number of new-side hunk lines, i.e., the combined line count of , , and (each empty part counts as 0).

Set to the 1-based line number of the first old-side hunk line: if is non-empty, that is its line (one before ); otherwise it is itself (the first line of ). For a hunk that only inserts new lines (empty and empty context), set it to the line before which the insertion happens, clamped to a minimum of 0, so a top-of-file insertion yields @@ -0,0 ... @@. Set to the same value as , but clamped to a minimum of 1 whenever is greater than 0 (the corrected side then has a real first line).

Render the proposed correction as a unified diff with up to two lines of context in a fenced block based on the following , emitting verbatim (one already-prefixed line per line, with no extra blank or space-only lines):

CORRECTION:

```diff --- (original) +++ (corrected) @@ -, +, @@

```

  1. is not 'true'">

In the following, you MUST NOT use your built-in tool! Instead, you MUST just show a custom dialog according to the expanded custom-dialog definition. You MUST closely follow this definition:

CORRECTION: How would you like to proceed with this proposed correction? ACCEPT: Apply the proposed correction. REJECT: Skip this proposed correction.

Set ACCEPT.

  1. Check and dispatch accordingly:
  • is 'ACCEPT'">

Invoke the Edit tool to apply the change by replacing with at :. The operation will be auto-approved by the ASE pre-tool-use hook (which tracks the active skill), so no interactive permission prompt will appear. Then continue with the next .

  • starts with 'OTHER'">

Generate a new proposal for the same , incorporating the user's free-text hint from after the "OTHER:" prefix. Reassign , , and to reflect this refined proposal ( stays anchored to the existing text at :; and carry the refinement) so the subsequent rendering and any Edit use the new proposal rather than the original. Then go back to substep 2 of this for-iteration. There is no cap on refinement rounds - keep refining until the user picks ACCEPT or REJECT.

  • is 'REJECT' or

is 'CANCEL' or starts with 'ERROR' ">

Skip this without any Edit call and continue with the next .

  1. Clear the active edit-capable skill marker now that all Edit

invocations are done, so a later unrelated Edit is not auto-approved. Call the ase_config_delete(key: "agent.skill", scope: "session:") tool from the ase MCP server. Do not output anything in this substep.

  1. You MUST NOT output any further additional explanations or

summaries at the end of this skill processing, except for the following final :

PROOFREAD FINISHED

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

  • Author: rse
  • Source: rse/ase
  • License: Apache-2.0
  • Homepage: https://ase.tools

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.