Extracting Requirements
prime-radiant-inc/iterative-development
Reads human-written spec documents and produces per-epic requirement files with proof obligations plus behavior scenarios with stable IDs, using parallel chunked extraction.
Critically inspect a written article before enrichment — verify codebase claims with real tool lookups, find internal contradictions, and (for argumentative articles) sparr with the author about…
$ npx skills add open-cqrs/opencqrs --skill grill-article -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install open-cqrs/opencqrs grill-article --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/grill-article .claude/skills/grill-article && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "grill-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/grill-article into .claude/skills/grill-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grill-article", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/grill-articleType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add open-cqrs/opencqrs --skill grill-article -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install open-cqrs/opencqrs grill-article --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/grill-article .agents/skills/grill-article && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "grill-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/grill-article into .agents/skills/grill-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grill-article", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-cqrs/opencqrs --skill grill-article -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install open-cqrs/opencqrs grill-article --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/grill-article .cursor/skills/grill-article && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "grill-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/grill-article into .cursor/skills/grill-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grill-article", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/open-cqrs/opencqrs.git --path .claude/skills/grill-article--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add open-cqrs/opencqrs --skill grill-article -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install open-cqrs/opencqrs grill-article --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/grill-article .gemini/skills/grill-article && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "grill-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/grill-article into .gemini/skills/grill-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grill-article", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install open-cqrs/opencqrs grill-articleInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add open-cqrs/opencqrs --skill grill-article -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/grill-article .github/skills/grill-article && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "grill-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/grill-article into .github/skills/grill-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grill-article", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-cqrs/opencqrs --skill grill-article -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install open-cqrs/opencqrs grill-article --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-cqrs/opencqrs.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/grill-article .opencode/skills/grill-article && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "grill-article" agent skill from https://github.com/open-cqrs/opencqrs/tree/main/.claude/skills/grill-article into .opencode/skills/grill-article/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "grill-article", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
grill-articleCritically inspect a written article before enrichment — verify codebase claims with real tool lookups, find internal contradictions, and (for argumentative articles) sparr with the author about…
Grill Article is an agent skill from open-cqrs/opencqrs. Critically inspect a written article before enrichment — verify codebase claims with real tool lookups, find internal contradictions, and (for argumentative articles) sparr with the author about over-simplifications, missing counter-cases, and weaknesses a critical reader would catch. The factual + consistency passes run in a sub-agent with a fresh, unbiased context (no brief, no dialogue, no enrichment-notes); only the argumentative dialogue happens in the main session. Writes findings to…
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Subagents and Requirements gathering. The repository describes itself as: Java CQRS/ES Framework for the EventSourcingDB. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 48b96be. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobBashAskUserQuestionWriteEditAgentFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Grill Article loads about 5k tokens when it runs. Until then it costs about 151 tokens; SKILL.md has 2,033 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Grep, Glob, Bash, AskUserQuestion, Write, Edit, AgentAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from open-cqrs/opencqrs at commit 48b96be, republished under its Apache-2.0 licence (© open-cqrs). 2,033 words, ~5,037 tokens.
.claude/skills/grill-article/SKILL.md (or your agent's skills folder).Critically inspect a written article before enrichment: $ARGUMENTS
Layout reference: the full artifact layout is specified in
.claude/article-pipeline.md. This skill reads the published article and (if found) the session folder under.article-work/{date}-{slug}/, writesgrill-findings.mdinto that session folder, and appends a## From grill-article ({date})section to the cumulativeenrichment-notes.md. The article itself is never edited.
You orchestrate an adversarial review. The actual factual and consistency grilling does not happen in the main conversation — it is delegated to a sub-agent that runs in a fresh, unbiased context. That sub-agent reads only the article and the source/docs. It does not see the brief, the dialogue transcript, or the existing enrichment-notes — those carry the author's framing and would soften the review. Once the sub-agent returns its findings, the main session takes over for the argumentative dialogue with the author (when applicable) and writes the artifacts.
Why the sub-agent split: a session that just helped brainstorm, write, or discuss this article will empathise with the choices made. Empathy is the opposite of what grilling needs. A fresh agent walks in cold and asks the questions a stranger would ask.
You do not edit the article yourself. The author decides what to fix. Your output is two files (the structured grill-findings.md and an append to enrichment-notes.md) plus, for argumentative articles, a real dialog where you and the author negotiate which issues are real and which are intentional.
enrich-article in the standard article-writing flow.The skill has two operating modes and asks the user up-front which to run:
This step runs in the main session — the sub-agent is not spawned yet.
$ARGUMENTS contains a path to an article, use that. Otherwise list candidates in mkdocs/docs/blog/posts/ and ask the user which one to grill.slug. Then locate the matching session folder under .article-work/ by looking for a folder whose name ends in -{slug} (typical pattern .article-work/{YYYY-MM-DD}-{slug}/). If multiple match, pick the most recent date prefix. If none match, ask the user via AskUserQuestion whether to:grill-findings.md will still be written to .article-work/{today}-{slug}/, and enrichment-notes.md will be created fresh if it does not exist),AskUserQuestion which mode applies:Argumentative (full grilling including dialog)Implementation walkthrough (factual + consistency only, no argumentative dialog)Abort (user changed their mind)Note the article path, the session folder path, and the mode. Do not read the article, the brief, the dialogue, or the existing enrichment-notes in the main session at this point — that would pollute the context. The sub-agent does the reading.
Spawn a sub-agent with the Agent tool, subagent_type: general-purpose. The sub-agent runs in a fresh context with no knowledge of how the article came to be, no exposure to the brief, the dialogue, or the enrichment-notes, and no empathy for the author's choices. It walks in as a stranger and asks a stranger's questions.
Prompt template for the sub-agent (adapt to the current run):
You are an adversarial reviewer for a published technical blog article. You have walked in cold — you have no knowledge of how this article came to be, who wrote it, or what the author intended. Your job is to grill the article on two axes:
Mode A (Code-Reference Check) — for every factual claim about code, doc, or filesystem in the article:
- Does the referenced file exist? Use Read / Glob to verify.
- Does the referenced class / method / field / annotation exist? Use Grep.
- Do referenced line numbers contain what the article quotes?
- Do code snippets reproduced in the article match the real source (allowing for explicitly-marked elisions)?
- Do quoted Javadoc lines or doc snippets match the source word-for-word?
- Do internal cross-links to other blog posts or doc pages resolve to existing files?
Severity:
- error — claim is factually wrong or reference is broken
- warn — claim is imprecise or partial (reference is real but the quote misrepresents it)
- info — cosmetic mismatch (e.g., reformatted whitespace)
If you cannot verify a claim because you cannot locate the relevant source, mark it `unverifiable` and explain what you searched for.
Mode B (Internal-Consistency Check) — read the article holistically and look for:
- Code-vs-prose contradictions: a prose statement the shown code immediately undermines. This is the single most common failure pattern — surface it aggressively.
- Self-contradictions across sections.
- Terminology drift: the same concept named differently, or different concepts collapsed under one name.
- Project-rule violations: OpenCQRS articles must not use "aggregate" — use "instance" or "state" instead.
- Introduced-but-unused: a concept, method, or character introduced with fanfare and never referenced again.
- Forward references that never land: "we will see how X solves this" with no follow-through.
ARTICLE PATH: <absolute path to the article file>
ARTICLE TYPE: <argumentative | implementation-walkthrough>
What to do:
1. Read the article completely. That is your starting point and your only narrative input.
2. Use Read, Grep, Glob, and Bash to verify every code, doc, and cross-link claim. Read the actual sources — do not "remember" what a file contains.
3. For Mode B, re-read the article holistically and find the failure patterns above.
4. Do NOT read any of these files even if you find them: the article's session folder under `.article-work/`, any file named brief.md, dialogue.md, or enrichment-notes.md. Those carry the author's framing and would compromise your independence. Verify against the SOURCE CODE and DOCS, not against author notes.
5. If the article type is `argumentative`, in addition to Modes A and B, identify 3-8 candidate Mode C dialogue points — places where you would push back on the argument itself (over-simplifications, missing counter-cases, absolutist statements, one-option-presented-as-the-option, concepts introduced and abandoned). These will be raised with the author in the main session — do NOT engage in dialogue yourself.
Return a structured report with this exact shape (markdown):
<location in article>: <what is wrong> — <pointer to actual source><pattern>: <where in article> — <description><location in article>: <the tension> — <suggested probing question to ask the author>
Calibration: a substantial article will surface 5-15 discussion-worthy points total across Modes A, B, and C combined. Surface the load-bearing ones. Do not nitpick commas or stylistic choices.
Project terminology: never use "aggregate" yourself when describing findings — use "instance" or "state". If the article uses "aggregate", flag it as a Mode B project-rule violation.Wait for the sub-agent to return. The main session keeps its hands off the article during this time.
Modes A and B are done by the sub-agent. Mode C — the dialogue — runs in the main session because the author needs to respond and you need to engage with them.
For argumentative articles, walk through the Mode C candidate dialogue points the sub-agent returned. Each one is a question the sub-agent flagged from its cold reading. Now you are running the dialog with the author. The goal is to pre-empt the kind of comments that would otherwise show up in a PR review.
The patterns the sub-agent looked for (so you know what kind of questions to expect in its return):
X; in real OpenCQRS it would be Y — is the simplification still faithful to the concept, or has it changed what the concept means?For each candidate dialogue point returned by the sub-agent, present it concretely — use the sub-agent's anchor (the exact article quote and the tension it identified) and reframe it as a real question to the author:
"Aus der Sub-Agent-Lesung: In Section 3 schreibst du [exact quote]. Der gezeigte Code macht [exact mechanic]. Ein Reviewer würde sagen: das zieht in entgegengesetzte Richtungen. Wie willst du damit umgehen?"
Then wait for the user's response. Possible user reactions and what to do:
to-fix, ideally with a one-line suggested edit if you have one. Move to next finding.intentional-kept. Move on.Trust the sub-agent's findings as a starting point, not gospel. It read the article cold, which is the point — but cold also means it may have missed context that a knowledgeable author legitimately relied on. When the author pushes back convincingly, the sub-agent's finding loses. That is part of the design.
Calibration is critical. A substantial article will surface 5-15 discussion-worthy points across all three modes, not 50. The sub-agent should already have calibrated; do not pad. If a candidate point feels weak when you actually look at it with the user in the loop, drop it rather than force the discussion.
grill-findings.mdAfter all modes are done (and, for argumentative articles, the dialog has run its course), do both of the following:
## Grilling Summary for {article-slug}
Article type: {argumentative | implementation-walkthrough}
Sections examined: {N}
Codebase references checked: {N}
### Confirmed and Clean
{things that were checked and held up — short list, by section}
### To Fix (errors + accepted dialog outcomes)
{numbered list — each item: location, what is wrong, suggested edit}
### Intentional / Defended
{items the user explicitly chose to keep as-is — useful for later reference}
### Unverifiable
{items where the skill could not access the source to verify — needs human follow-up}
### Open for Reflection
{items the user wanted to think about further — not yet a decision}grill-findings.md in the session folderUse the Write tool to save the exact same summary content to .article-work/{YYYY-MM-DD-slug}/grill-findings.md with this frontmatter:
---
article: <slug>
date: <YYYY-MM-DD>
article_type: <argumentative | implementation-walkthrough>
sections_examined: <N>
references_checked: <N>
---
# Grilling Findings: <Article Title>
<the same `### Confirmed and Clean` / `### To Fix` / `### Intentional / Defended` / `### Unverifiable` / `### Open for Reflection` sections as the in-chat summary, verbatim>This is the durable artifact for the session: the enricher can read Intentional / Defended to know which weaknesses the author chose to keep (and therefore should not be "fixed" by adding cross-links or admonitions that try to compensate). Future revisits to the article can read the file to see what was already grilled.
enrichment-notes.mdAppend a new section ## From grill-article ({YYYY-MM-DD}) to the end of .article-work/{YYYY-MM-DD-slug}/enrichment-notes.md. Never overwrite previous sections. If the file does not exist (legacy mode), create it with the header and frontmatter from the brainstorm contract before appending.
What to put in this section:
## From grill-article ({YYYY-MM-DD})
### Open for Reflection (candidates for sidebars / annotations)
<For each "Open for Reflection" item from the grilling: a bullet naming the underlying tension, where in the article it shows, and a suggested handling — typically a `??? tip "Worth Considering"` collapsible admonition or a `{ .annotate }` annotation. The enricher will weigh whether to apply.>
### Intentional / Defended (surfaced as sidebars instead of main-text changes)
<For each "Intentional / Defended" item where the author explicitly chose to defend a strong claim or simplification: a bullet describing what was defended and why, plus a suggested companion admonition (typically `??? info "Why we chose this framing"` or similar) that lets the enricher gently acknowledge the trade-off without weakening the article's voice. Only include items the author wants surfaced — not every defended item belongs in a sidebar.>
### External References (for context)
<Any external sources surfaced during grilling — books, specs, blog posts that the author or you cited while debating a finding. Or omit if none.>
### Code Reference Hints (for content annotations or admonitions)
<Specific file paths and line numbers that came up during the code-reference check and would be valuable as annotation anchors. Or omit if none.>Do not copy To Fix items into enrichment-notes — those belong in grill-findings.md only. The enricher should not be making editorial fixes; it operates on the article as the author chose to leave it.
Tell the user the saved paths in plain text:
"Grill findings saved to
.article-work/{folder}/grill-findings.md. Enrichment notes appended at.article-work/{folder}/enrichment-notes.md."
Then ask whether the user wants to:
To Fix items themselves before continuing.enrich-article immediately if the items are minor or already addressed.Do not invoke other skills automatically — the author drives the next step.
grill-findings.md and appends to enrichment-notes.md — both in .article-work/. The published article is read-only for this skill. The author decides what to change in the article. Suggested edits live as text in the To Fix section of grill-findings.md, not as file edits to the article.error is a factual wrong. A warn is a real imprecision. An info is cosmetic. Do not inflate findings to look thorough — that wastes the author's time and trains them to dismiss your output.© open-cqrs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/grill-article of open-cqrs/opencqrs.
Open the folder on GitHubat commit 48b96be
Grill Article next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Grill Article this skillopen-cqrs/opencqrs | 118 | — | ~5k | Automated safety check: Notes | Apache-2.0 | |
| Extracting Requirementsprime-radiant-inc/iterative-development | 181 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Conductor CcJinghao67/conductor | 102 | — | ~1.1k | Automated safety check: Pass | MIT | |
| AutodevZhangShenao/harness9 | 141 | — | ~606 | Automated safety check: Notes | MIT | |
| Cxas Protocol Robust ExtractionGoogleCloudPlatform/cxas-scrapi | 107 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 35 repos | ~1.4k | Automated safety check: Pass | MIT |
prime-radiant-inc/iterative-development
Reads human-written spec documents and produces per-epic requirement files with proof obligations plus behavior scenarios with stable IDs, using parallel chunked extraction.
Jinghao67/conductor
A skill your agent uses when a complex, long-running task risks polluting one conversation — research, implementation, review, planning, or learning that should be split into dependency-aware…
ZhangShenao/harness9
Feature auto-development — clarify requirements, generate spec, dispatch dev sub-agent to implement and merge into current branch
GoogleCloudPlatform/cxas-scrapi
A robust methodology for LLM-based requirements gathering and high-fidelity artifact generation.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
open-cqrs/opencqrs
Write well-structured professional articles. An agent skill from open-cqrs/opencqrs.
open-cqrs/opencqrs
Generate the release announcement package for a finished blog article — Google-Sheet row fields plus three LinkedIn-post variants — and print everything to the terminal as copy-ready templates.
open-cqrs/opencqrs
Develop a blog article topic through a guided conversation. An agent skill from open-cqrs/opencqrs.
open-cqrs/opencqrs
Enrich a blog article with cross-links to OpenCQRS documentation, abbreviation tooltips, admonitions, and content annotations.
open-cqrs/opencqrs
Cross-article topic prospecting. An agent skill from open-cqrs/opencqrs.
open-cqrs/opencqrs
Exploratory technical dialogue about a topic with an open outcome.
Categories
Critically inspect a written article before enrichment — verify codebase claims with real tool lookups, find internal contradictions, and (for argumentative articles) sparr with the author about…. Grill Article is an agent skill from open-cqrs/opencqrs. Critically inspect a written article before enrichment — verify codebase claims with real tool lookups, find internal contradictions, and (for argumentative articles) sparr with the author about over-simplifications, missing counter-cases, and weaknesses a critical reader would catch.
Grill Article fits situations like: tasks that involve Subagents; tasks that involve Requirements gathering.
Run `npx skills add open-cqrs/opencqrs --skill grill-article -a claude-code`. Or copy the skill folder (.claude/skills/grill-article in open-cqrs/opencqrs) into .claude/skills/grill-article in your project. Claude Code loads it when a task matches its description.
Run `npx skills add open-cqrs/opencqrs --skill grill-article -a codex`. Or copy the skill folder (.claude/skills/grill-article in open-cqrs/opencqrs) into .agents/skills/grill-article in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add open-cqrs/opencqrs --skill grill-article -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/grill-article, .gemini/skills/grill-article, .github/skills/grill-article and .opencode/skills/grill-article in your project.
SKILL.md names no scripts, command-line tools or credentials: Grill Article is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash, AskUserQuestion, Write, Edit, Agent.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Grill Article is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Grill Article: Extracting Requirements (prime-radiant-inc/iterative-development, 181 stars), Conductor Cc (Jinghao67/conductor, 102 stars), Autodev (ZhangShenao/harness9, 141 stars) and Cxas Protocol Robust Extraction (GoogleCloudPlatform/cxas-scrapi, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
open-cqrs (a GitHub organization) maintains it in open-cqrs/opencqrs, which has 118 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on September 28, 2026.
Source: open-cqrs/opencqrs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.