Interview-Driven Spec Writer
poshan0126/dotclaude
Interviews you about scope, behavior, edge cases and verification, then writes a self-contained SPEC.md that a fresh session can implement without this conversation.
You need to build software autonomously — a new project, a major feature, or any structured development task.
$ npx skills add grandamenium/cortextos --skill m2c1-worker -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install grandamenium/cortextos m2c1-worker --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/grandamenium/cortextos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/community/skills/m2c1-worker .claude/skills/m2c1-worker && 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 "m2c1-worker" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/m2c1-worker into .claude/skills/m2c1-worker/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "m2c1-worker", 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/grandamenium/cortextos/tree/main/community/skills/m2c1-workerType 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 grandamenium/cortextos --skill m2c1-worker -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install grandamenium/cortextos m2c1-worker --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .agents/skills && cp -r skills-src/community/skills/m2c1-worker .agents/skills/m2c1-worker && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "m2c1-worker" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/m2c1-worker into .agents/skills/m2c1-worker/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "m2c1-worker", 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 grandamenium/cortextos --skill m2c1-worker -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install grandamenium/cortextos m2c1-worker --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/community/skills/m2c1-worker .cursor/skills/m2c1-worker && 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 "m2c1-worker" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/m2c1-worker into .cursor/skills/m2c1-worker/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "m2c1-worker", 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/grandamenium/cortextos.git --path community/skills/m2c1-worker--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 grandamenium/cortextos --skill m2c1-worker -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install grandamenium/cortextos m2c1-worker --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/community/skills/m2c1-worker .gemini/skills/m2c1-worker && 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 "m2c1-worker" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/m2c1-worker into .gemini/skills/m2c1-worker/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "m2c1-worker", 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 grandamenium/cortextos m2c1-workerInstalls 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 grandamenium/cortextos --skill m2c1-worker -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .github/skills && cp -r skills-src/community/skills/m2c1-worker .github/skills/m2c1-worker && 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 "m2c1-worker" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/m2c1-worker into .github/skills/m2c1-worker/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "m2c1-worker", 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 grandamenium/cortextos --skill m2c1-worker -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install grandamenium/cortextos m2c1-worker --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/community/skills/m2c1-worker .opencode/skills/m2c1-worker && 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 "m2c1-worker" agent skill from https://github.com/grandamenium/cortextos/tree/main/community/skills/m2c1-worker into .opencode/skills/m2c1-worker/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "m2c1-worker", 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.
m2c1-workerYou need to build software autonomously — a new project, a major feature, or any structured development task.
M2c1 Worker is an agent skill from grandamenium/cortextos. You need to build software autonomously — a new project, a major feature, or any structured development task. You will act as the 'human' supervisor for a dedicated M2C1 worker session, managing it through all 12 phases: provide the brain dump, answer discovery questions, configure tools and credentials, monitor progress via bus messages and git, validate the output, and clean up when done. Use when the work is large enough to warrant a dedicated isolated build session.
Its SKILL.md is about 3.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 Requirements gathering. It works with Git. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6f93838. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitnpmnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ANTHROPIC_API_KEYGEMINI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
M2c1 Worker loads about 3.5k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 1,053 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.
"^#" "$CTX_FRAMEWORK_ROOT/orgs/$CTX_ORG/.env" | cut -d= -f1# Write a .env file the worker can sourcecat > "$PROJECT_DIR/.env" << 'EOF'ANTHROPIC_API_KEY=<from org .env>GEMINI_API_KEY=<from org .env>chmod 600 "$PROJECT_DIR/.env"end-message <worker-name> normal 'Source .env in your project dir before running any API calls.'Automated 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 grandamenium/cortextos at commit 6f93838, republished under its MIT licence (© grandamenium). 1,053 words, ~3,464 tokens.
.claude/skills/m2c1-worker/SKILL.md (or your agent's skills folder).Any cortextOS agent can autonomously build complete software by acting as the "human" in the M2C1 framework, managing a dedicated worker Claude Code session through the full 12-phase lifecycle.
Worker session spawn is fully implemented. Use
cortextos spawn-workerto launch an isolated Claude Code M2C1 build session.
This skill enables 3-layer agentception:
You provide the brain dump, answer discovery questions, help with tool setup, monitor progress, and validate the final output. The worker does all the building.
cortextos spawn-worker)PROJECT_DIR="$HOME/<project-name>"
mkdir -p "$PROJECT_DIR"
cd "$PROJECT_DIR"
git init
echo "node_modules/" > .gitignore
echo ".claude/" >> .gitignore
git add .gitignore && git commit -m "init: $PROJECT_DIR"mkdir -p .claude/skills/m2c1/artifact-templates
# Copy from the installed framework
for file in SKILL.md orchestration-workflow.md; do
cp "${CTX_FRAMEWORK_ROOT}/templates/agent/.claude/skills/m2c1/$file" "./.claude/skills/m2c1/$file"
donemkdir -p "$CTX_ROOT/inbox/<worker-name>"
mkdir -p "$CTX_ROOT/state/<worker-name>"Write a comprehensive brain dump in $PROJECT_DIR/BRAINDUMP.md. Include:
The worker needs the bus messaging skill to communicate with you:
mkdir -p "$PROJECT_DIR/.claude/skills/comms"
cp "$CTX_FRAMEWORK_ROOT/templates/agent/.claude/skills/comms/SKILL.md" "$PROJECT_DIR/.claude/skills/comms/SKILL.md" 2>/dev/nullWorkers write to .claude/orchestration-*/ extensively. Set up permissions BEFORE spawning:
mkdir -p "$PROJECT_DIR/.claude"
cat > "$PROJECT_DIR/.claude/settings.json" << 'SETTINGS'
{
"permissions": {
"allow": [
"Edit",
"Write",
"Bash"
],
"allowedPaths": [
".claude/"
]
}
}
SETTINGSIf the file already exists (e.g., with MCP config), merge the permissions key into it rather than overwriting.
Write $PROJECT_DIR/AGENTS.md with instructions for the worker:
# <Project Name> - M2C1 Autonomous Build
You are building <description>.
## Your Role
You are the M2C1 orchestrator. Follow the 12-phase workflow in .claude/skills/m2c1/orchestration-workflow.md.
## Communication
Send messages to <your-agent-name>:cortextos bus send-message <your-agent-name> normal '<message>'
Check inbox:cortextos bus check-inbox
Set environment:export CTX_AGENT_NAME="<worker-name>"
export CTX_ORG="<org>"
export CTX_FRAMEWORK_ROOT="<path>"
export CTX_ROOT="$HOME/.cortextos/default"
When you have questions during Phase 3 (Discovery), send them via send-message. Do NOT use AskUserQuestion.
## Start
1. Read BRAINDUMP.md
2. Read .claude/skills/m2c1/orchestration-workflow.md
3. Begin Phase 0, then Phase 1
4. Message <your-agent-name> when PRD is ready
5. Continue autonomously through all phasesWORKER_NAME="m2c1-$(basename $PROJECT_DIR)"
cortextos spawn-worker "$WORKER_NAME" \
--dir "$PROJECT_DIR" \
--prompt "Read AGENTS.md for your instructions, then read BRAINDUMP.md for the project spec. Begin the M2C1 workflow starting with Phase 0." \
--parent $CTX_AGENT_NAMEThe worker:
$PROJECT_DIR with --dangerously-skip-permissionsCTX_AGENT_NAME=$WORKER_NAME so it can use cortextos bus send-message to reach youcortextos list-workers shows its statusLog the spawn:
cortextos bus log-event action worker_spawned info \
--meta '{"worker":"'$WORKER_NAME'","parent":"'$CTX_AGENT_NAME'","project":"'$PROJECT_DIR'"}'# Via bus messages (worker sends updates)
cortextos bus check-inbox
# Via git (see what was built)
cd $PROJECT_DIR && git log --oneline | head -10
# Via file system (check orchestration artifacts)
ls $PROJECT_DIR/.claude/orchestration-*/The worker will send you questions via send-message. Answer them:
cortextos bus send-message <worker-name> normal '<your answers>'Base your answers on:
If you do not know the answer, make a reasonable decision and note it. Do not block the worker with "ask the user" unless it is truly a human-only decision.
If the worker appears stuck (no bus messages, no new git commits > 15 minutes):
cortextos bus send-message <worker-name> normal 'Continue with the M2C1 workflow. What phase are you on?'cd $PROJECT_DIR && git log --oneline | head -5cortextos inject-worker <worker-name> "Continue with the M2C1 workflow. What phase are you on?"cortextos list-workerscortextos terminate-worker <worker-name> then re-spawnThis is one of the most important phases. You act exactly like a human developer setting up a project: installing tools, configuring MCPs, setting env variables, logging into services, testing that everything works. The worker cannot do this itself — it needs you to configure its environment.
Before the worker starts building, ask yourself:
# 1. Create or update the worker's MCP config
mkdir -p "$PROJECT_DIR/.claude"
node -e "
const fs = require('fs');
const path = '$PROJECT_DIR/.claude/settings.json';
const cfg = fs.existsSync(path) ? JSON.parse(fs.readFileSync(path)) : {};
cfg.mcpServers = cfg.mcpServers || {};
cfg.mcpServers.playwright = { command: 'npx', args: ['@anthropic-ai/mcp-playwright'] };
fs.writeFileSync(path, JSON.stringify(cfg, null, 2));
console.log('MCP config updated');
"
# 2. Worker must restart to pick up MCP config
# Send via bus message:
cortextos bus send-message <worker-name> normal \
'MCP config updated at .claude/settings.json. Please restart your session with --continue to pick it up, then test Playwright by taking a screenshot of google.com.'Do NOT assume tools work after installation. For each tool:
# Check what is available
grep -v "^#" "$CTX_FRAMEWORK_ROOT/orgs/$CTX_ORG/.env" | cut -d= -f1
# Write a .env file the worker can source
cat > "$PROJECT_DIR/.env" << 'EOF'
ANTHROPIC_API_KEY=<from org .env>
GEMINI_API_KEY=<from org .env>
EOF
chmod 600 "$PROJECT_DIR/.env"
# Tell the worker via bus to source it
cortextos bus send-message <worker-name> normal 'Source .env in your project dir before running any API calls.'Copy relevant cortextOS skills to the worker's project:
# If the worker needs browser automation knowledge, install via community catalog:
cortextos bus install-community-item playwright-automationOnce the worker is past discovery and tool setup, it should run autonomously:
Tell the worker to create a /loop for task polling within its session:
cortextos bus send-message <worker-name> normal \
'Set up a /loop every 10 minutes to check START.md for pending tasks. If not working on a task, pick the next one.'<!-- Note: /loop is intentionally used here — this is a short-lived session-scoped poll for the worker's task queue, not a persistent cron. For persistent recurring crons, use cortextos bus add-cron instead. -->
Check in every 30-60 minutes:
# Check bus for worker updates
cortextos bus check-inbox
# Check git progress
cd $PROJECT_DIR && git log --oneline | head -5
# Check orchestration progress
cat $PROJECT_DIR/.claude/orchestration-*/PROGRESS.md 2>/dev/null | tail -20Verify the worker's task files are coherent:
ls $PROJECT_DIR/.claude/orchestration-*/tasks/
# Read a few task files — do they reference each other correctly?
# Are there gaps? Overlaps?After each phase of execution, verify:
# Do tests pass?
cd $PROJECT_DIR && npm test 2>/dev/null
# Does it build?
cd $PROJECT_DIR && npm run build 2>/dev/null
# Check git for clean commits
git log --oneline | head -10The worker's last phase should be comprehensive testing. Verify:
If tests fail, tell the worker:
cortextos bus send-message <worker-name> normal \
'E2E test failed: <specific failure>. Fix it and re-test.'# Log the milestone
cortextos bus log-event milestone m2c1_complete info \
--meta '{"project":"<name>","location":"<path>","tasks":<count>,"tests":<count>}'
# Notify orchestrator
cortextos bus send-message $CTX_ORCHESTRATOR_AGENT normal \
'M2C1 build complete: <project>. Location: <path>. <summary>'
# Clean up worker inbox
rm -rf "$CTX_ROOT/inbox/<worker-name>"
rm -rf "$CTX_ROOT/state/<worker-name>"
cortextos terminate-worker "$WORKER_NAME"# Log what happened
cortextos bus log-event action m2c1_failed info \
--meta '{"project":"<name>","phase":"<where it failed>","reason":"<why>"}'
# Keep the directory for debugging
# Report to orchestrator
cortextos bus send-message $CTX_ORCHESTRATOR_AGENT normal \
'M2C1 build FAILED: <project>. Failed at phase <N>. Reason: <why>. Directory preserved at <path>.'© grandamenium, MIT. 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 community/skills/m2c1-worker of grandamenium/cortextos.
Open the folder on GitHubat commit 6f93838
M2c1 Worker 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 |
|---|---|---|---|---|---|---|
| M2c1 Worker this skillgrandamenium/cortextos | 101 | — | ~3.5k | Automated safety check: Notes | MIT | |
| Interview-Driven Spec Writerposhan0126/dotclaude | 870 | — | ~804 | Automated safety check: Pass | MIT | |
| AutodevZhangShenao/harness9 | 141 | — | ~606 | Automated safety check: Notes | MIT | |
| MoAI SPEC Workflowmodu-ai/moai-adk | 1.2k | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| Create PRjavierbrea/eslint-plugin-boundaries | 997 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Using Superpowersfarm-fe/farm | 5.6k | 36 repos | ~1.4k | Automated safety check: Pass | MIT |
poshan0126/dotclaude
Interviews you about scope, behavior, edge cases and verification, then writes a self-contained SPEC.md that a fresh session can implement without this conversation.
ZhangShenao/harness9
Feature auto-development — clarify requirements, generate spec, dispatch dev sub-agent to implement and merge into current branch
modu-ai/moai-adk
Manages SPEC documents for MoAI-ADK development, with GEARS or EARS requirement notation, acceptance criteria and a link into the Plan-Run-Sync workflow.
javierbrea/eslint-plugin-boundaries
Create or update a GitHub pull request for the current branch from the repository's fixed PR template (.github/PULLREQUESTTEMPLATE.md) and the branch changes.
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
addyosmani/agent-skills
Asks one question at a time, each with a best guess attached, until the agent is about 95 percent sure what you really want, before any plan, spec or code.
grandamenium/cortextos
Diagnose cortextOS itself when the framework misbehaves — an agent has gone silent or wedged, agents are crash-looping, Telegram or agent-to-agent messages are not arriving, crons did not fire, an…
grandamenium/cortextos
You have completed something significant and want the whole org — all agents and the user — to know about it.
grandamenium/cortextos
You need to make a purchase on behalf of the user — buy a SaaS subscription, pay for an API, purchase a domain, or any transaction requiring a credit card.
grandamenium/cortextos
Migrate ANY cortextOS agent from the claude-code runtime to the live codex-app-server runtime.
grandamenium/cortextos
Complete cortextos bus CLI reference - all available commands with examples.
grandamenium/cortextos
Daily cron-driven scan of news/forums/social in a domain to surface market shifts, new competitors, regulatory changes, and net-new opportunities.
Works with
Categories
You need to build software autonomously — a new project, a major feature, or any structured development task. M2c1 Worker is an agent skill from grandamenium/cortextos. You need to build software autonomously — a new project, a major feature, or any structured development task.
M2c1 Worker fits situations like: the work is large enough to warrant a dedicated isolated build session; tasks that involve Requirements gathering.
Run `npx skills add grandamenium/cortextos --skill m2c1-worker -a claude-code`. Or copy the skill folder (community/skills/m2c1-worker in grandamenium/cortextos) into .claude/skills/m2c1-worker in your project. Claude Code loads it when a task matches its description.
Run `npx skills add grandamenium/cortextos --skill m2c1-worker -a codex`. Or copy the skill folder (community/skills/m2c1-worker in grandamenium/cortextos) into .agents/skills/m2c1-worker 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 grandamenium/cortextos --skill m2c1-worker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/m2c1-worker, .gemini/skills/m2c1-worker, .github/skills/m2c1-worker and .opencode/skills/m2c1-worker in your project.
Going by SKILL.md and its folder, M2c1 Worker needs the command-line tools its instructions call (git, npm and node) and credentials named ANTHROPIC_API_KEY and GEMINI_API_KEY. Our summary lists: A credential in ANTHROPIC_API_KEY; A credential in GEMINI_API_KEY.
SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
M2c1 Worker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 M2c1 Worker: Interview-Driven Spec Writer (poshan0126/dotclaude, 870 stars), Autodev (ZhangShenao/harness9, 141 stars), MoAI SPEC Workflow (modu-ai/moai-adk, 1.2k stars) and Create PR (javierbrea/eslint-plugin-boundaries, 997 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
grandamenium (a GitHub user) maintains it in grandamenium/cortextos, which has 101 GitHub stars. The repository holds 55 skills in this directory. The repository was last updated on September 23, 2026.
Source: grandamenium/cortextos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.