Content Quality Auditor
Use this skill to assess content quality in a repeatable, evidence-led way and produce a prioritised improvement plan.
What to audit
The skill can be used for:
- Individual documents, pages, posts, decks, scripts, or templates.
- Groups of related artefacts.
- Content libraries where consistency and reuse matter.
- Draft material before publication.
Evidence rules
- Base the audit only on content the user provides or content available through the agent's connected sources.
- Do not infer missing facts, usage statistics, or business impact.
- If you cannot access a referenced artefact, state that limitation and assess only what is available.
- Separate observed evidence from suggested improvements.
Default seven-dimension rubric
Score each dimension from 0 to 5.
| Score | Meaning |
|---|---|
| 0 | Not present or unusable. |
| 1 | Present but weak, confusing, or incomplete. |
| 2 | Basic but inconsistent or hard to reuse. |
| 3 | Usable with moderate improvement needed. |
| 4 | Strong with minor refinement needed. |
| 5 | Publication-ready or operationally robust. |
Assess these dimensions:
- Purpose and audience clarity - Is the content clear about who it is for and what it helps them do?
- Structure and navigation - Is the content logically organised and easy to scan?
- Evidence and specificity - Are claims supported by examples, data, sources, or concrete detail?
- Practical usefulness - Does the content help the reader make a decision or take action?
- Consistency and standards alignment - Does it follow the expected terminology, design, tone, and formatting conventions?
- Reusability and modularity - Can the content be reused, adapted, or maintained without excessive rework?
- Completeness and next action - Are important gaps, dependencies, risks, and follow-up actions visible?
If the user supplies a different rubric, use their rubric instead.
Workflow
- Identify the artefact or artefacts being audited.
- Confirm the intended audience and purpose from the available material.
- Apply the rubric dimension by dimension.
- Note specific evidence for each score.
- Identify priority fixes, separating major blockers from polish.
- Recommend a practical sequence of improvements.
- If auditing multiple artefacts, provide a comparative summary and prioritised backlog.
Output format
Use this format unless the user requests another structure:
## Audit summary
Overall assessment: [Short judgement]
Overall score: [Average]/5
Priority: [High / Medium / Low]
## Scorecard
| Dimension | Score /5 | Evidence | Recommended improvement |
|---|---:|---|---|
| Purpose and audience clarity | | | |
| Structure and navigation | | | |
| Evidence and specificity | | | |
| Practical usefulness | | | |
| Consistency and standards alignment | | | |
| Reusability and modularity | | | |
| Completeness and next action | | | |
## Highest-value fixes
1. [Fix]
2. [Fix]
3. [Fix]
## Suggested next version
[Concise recommended direction]
Multi-artefact output
For multiple artefacts, add:
## Prioritised improvement backlog
| Priority | Artefact | Issue | Recommended action | Effort | Impact |
|---|---|---|---|---|---|
References
This skill includes supporting reference material. Read the relevant reference file when the task needs additional structure, rubric detail, examples, or checklist support.
references/scoring-rubric.md- use this when additional structure, examples, or checks are useful for the task.
Quality checklist
Before responding, check:
- Scores are justified by evidence.
- Recommendations are specific and actionable.
- No inaccessible content is treated as reviewed.
- The output helps the user decide what to improve next.
Run this — do not improvise
This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as content_quality_auditor_agent.py and embedded as the fenced Python below (sha256 3d8cce90ef5a51c8…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to content_quality_auditor_agent.py first:
python3 content_quality_auditor_agent.py '{"key": "value"}' # arguments as one JSON object
echo '{"key": "value"}' | python3 content_quality_auditor_agent.py # or on stdin
python3 content_quality_auditor_agent.py --tool # emit the JSON tool contract
Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns steps, execute those steps in order exactly as returned; if it returns instructions, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent.
"""ContentQualityAuditor -- Use this skill when the user asks to assess, audit, score, review, improve, prioritise, or quality-check content, documents, pages, posts, decks, or reusable artefacts.
Generated by the rapp skill from content-quality-auditor. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""
import json
import re
import sys
try:
from agents.basic_agent import BasicAgent
except ImportError: # running OUTSIDE a brainstem -- stay executable anyway.
class BasicAgent: # noqa: D101 - minimal stand-in, same contract
def __init__(self, name=None, metadata=None):
if name:
self.name = name
if metadata:
self.metadata = metadata
def perform(self, **kwargs):
return "Not implemented."
def system_context(self):
return None
def to_tool(self):
return {"type": "function", "function": {
"name": self.name,
"description": self.metadata.get("description", ""),
"parameters": self.metadata.get("parameters", {})}}
# The procedural layer, verbatim from the source capability.
INSTRUCTIONS = "# Content Quality Auditor\n\nUse this skill to assess content quality in a repeatable, evidence-led way and produce a prioritised improvement plan.\n\n## What to audit\n\nThe skill can be used for:\n\n- Individual documents, pages, posts, decks, scripts, or templates.\n- Groups of related artefacts.\n- Content libraries where consistency and reuse matter.\n- Draft material before publication.\n\n## Evidence rules\n\n- Base the audit only on content the user provides or content available through the agent's connected sources.\n- Do not infer missing facts, usage statistics, or business impact.\n- If you cannot access a referenced artefact, state that limitation and assess only what is available.\n- Separate observed evidence from suggested improvements.\n\n## Default seven-dimension rubric\n\nScore each dimension from 0 to 5.\n\n| Score | Meaning |\n|---:|---|\n| 0 | Not present or unusable. |\n| 1 | Present but weak, confusing, or incomplete. |\n| 2 | Basic but inconsistent or hard to reuse. |\n| 3 | Usable with moderate improvement needed. |\n| 4 | Strong with minor refinement needed. |\n| 5 | Publication-ready or operationally robust. |\n\nAssess these dimensions:\n\n1. **Purpose and audience clarity** - Is the content clear about who it is for and what it helps them do?\n2. **Structure and navigation** - Is the content logically organised and easy to scan?\n3. **Evidence and specificity** - Are claims supported by examples, data, sources, or concrete detail?\n4. **Practical usefulness** - Does the content help the reader make a decision or take action?\n5. **Consistency and standards alignment** - Does it follow the expected terminology, design, tone, and formatting conventions?\n6. **Reusability and modularity** - Can the content be reused, adapted, or maintained without excessive rework?\n7. **Completeness and next action** - Are important gaps, dependencies, risks, and follow-up actions visible?\n\nIf the user supplies a different rubric, use their rubric instead.\n\n## Workflow\n\n1. Identify the artefact or artefacts being audited.\n2. Confirm the intended audience and purpose from the available material.\n3. Apply the rubric dimension by dimension.\n4. Note specific evidence for each score.\n5. Identify priority fixes, separating major blockers from polish.\n6. Recommend a practical sequence of improvements.\n7. If auditing multiple artefacts, provide a comparative summary and prioritised backlog.\n\n## Output format\n\nUse this format unless the user requests another structure:\n\n```markdown\n## Audit summary\n\nOverall assessment: [Short judgement]\nOverall score: [Average]/5\nPriority: [High / Medium / Low]\n\n## Scorecard\n\n| Dimension | Score /5 | Evidence | Recommended improvement |\n|---|---:|---|---|\n| Purpose and audience clarity | | | |\n| Structure and navigation | | | |\n| Evidence and specificity | | | |\n| Practical usefulness | | | |\n| Consistency and standards alignment | | | |\n| Reusability and modularity | | | |\n| Completeness and next action | | | |\n\n## Highest-value fixes\n\n1. [Fix]\n2. [Fix]\n3. [Fix]\n\n## Suggested next version\n\n[Concise recommended direction]\n```\n\n## Multi-artefact output\n\nFor multiple artefacts, add:\n\n```markdown\n## Prioritised improvement backlog\n\n| Priority | Artefact | Issue | Recommended action | Effort | Impact |\n|---|---|---|---|---|---|\n```\n\n\n## References\n\nThis skill includes supporting reference material. Read the relevant reference file when the task needs additional structure, rubric detail, examples, or checklist support.\n\n- `references/scoring-rubric.md` - use this when additional structure, examples, or checks are useful for the task.\n\n## Quality checklist\n\nBefore responding, check:\n\n- Scores are justified by evidence.\n- Recommendations are specific and actionable.\n- No inaccessible content is treated as reviewed.\n- The output helps the user decide what to improve next."
# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []
class ContentQualityAuditorAgent(BasicAgent):
def __init__(self):
self.name = 'ContentQualityAuditor'
self.metadata = {
"name": "ContentQualityAuditor",
"description": "Use this skill when the user asks to assess, audit, score, review, improve, prioritise, or quality-check content, documents, pages, posts, decks, or reusable artefacts.",
"parameters": {
"type": "object",
"properties": {},
"required": []
}
}
super().__init__(name=self.name, metadata=self.metadata)
def perform(self, **kwargs): # toaster:generated-perform
return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,
"inputs": kwargs,
"note": "Prose-only capability: follow INSTRUCTIONS "
"with the given inputs."}, indent=2)
if __name__ == "__main__":
# echo '{"arg": "value"}' | python3 content_quality_auditor_agent.py
# python3 content_quality_auditor_agent.py '{"arg": "value"}'
# python3 content_quality_auditor_agent.py --tool # emit the JSON tool contract
_a = sys.argv[1:]
if _a and _a[0] == "--tool":
print(json.dumps(ContentQualityAuditorAgent().to_tool(), indent=2))
else:
_raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
print(ContentQualityAuditorAgent().perform(**json.loads(_raw)))
# rci-capsule:v1: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