skills/arc-writing-tasks/SKILL.md
Use when breaking down features into executable tasks, when preparing for implementation, or when tasks need exact code and commands
npx skillsauth add gregoryho/arcforge arc-writing-tasksInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Break features into bite-sized tasks (2-5 minutes each) with exact code and commands. Each task is independently executable.
tasks:
- id: 1
description: "Write failing test for login validation"
file: "tests/auth/test_login.py"
action: "create"
code: |
def test_login_valid_credentials():
result = login("user", "valid123")
assert result.success is True
test_command: "pytest tests/auth/test_login.py -v"
expected: "FAILED - login not defined"
- id: 2
description: "Implement login function"
file: "src/auth/login.py"
depends_on: [1]
code: |
def login(username: str, password: str) -> LoginResult:
# exact implementation
test_command: "pytest tests/auth/test_login.py -v"
expected: "PASSED"
| Too Vague | Just Right | |-----------|------------| | "Set up auth" | "Create User dataclass in src/types.py" | | "Add tests" | "Write test_login_invalid_password in tests/auth/" | | "Implement login" | "Add password hash check in login()" |
digraph writing_tasks {
"Read feature spec" -> "Identify files needed";
"Identify files needed" -> "Break into 2-5 min tasks";
"Break into 2-5 min tasks" -> "Each has exact code?";
"Each has exact code?" -> "Break into 2-5 min tasks" [label="no"];
"Each has exact code?" -> "Add test commands" [label="yes"];
"Add test commands" -> "Output task list";
}
Output to docs/tasks/<feature-name>-tasks.md
Format:
# <Feature Name> Tasks
> **Goal:** [One sentence describing what this delivers]
> **Architecture:** [2-3 sentences about approach]
> **Tech Stack:** [Key technologies/libraries]
> **For Claude:** Use arc-agent-driven or arc-executing-tasks to implement.
## Context
[Scene-setting from feature spec]
## Tasks
### Task 1: [Name]
**Files:**
- Create: `exact/path/to/file.py`
- Test: `tests/exact/path/to/test.py`
**Step 1: Write failing test**
\`\`\`python
def test_specific_behavior():
...
\`\`\`
**Step 2: Run test**
Run: `pytest tests/path/test.py::test_name -v`
Expected: FAIL
**Step 3: Implement**
\`\`\`python
def function():
...
\`\`\`
**Step 4: Verify**
Run: `pytest tests/path/test.py::test_name -v`
Expected: PASS
**Step 5: Commit**
`git commit -m "feat: add specific feature"`
### Task 2: ...
✅ Tasks written → docs/tasks/<name>-tasks.md
⚠️ Writing tasks blocked
Vague = break down further.
Hand off to one of:
arc-agent-driven — automated execution, fresh subagent per task.
Best for walk-away batch runs where each task is well-scoped.arc-executing-tasks — human-in-the-loop mode with checkpoint
prompts between tasks. Best when the task list carries judgment
calls or when you want to review each step.Both read docs/tasks/<name>-tasks.md as input. The task file itself
says which one to use; default to arc-agent-driven.
testing
Use when the user explicitly runs the slash command `/arc-auditing-spec <spec-id>` to produce a read-only advisory audit of an arcforge SDD spec family (design.md, spec.xml, dag.yaml). Only triggered by direct user invocation; never auto-invoked from any pipeline skill (arc-brainstorming, arc-refining, arc-planning).
development
Use when the user wants to create, query, audit, or initialize an Obsidian vault — wiki / knowledge base / second brain, project tracker, news pipeline, journal, or any typed-note vault. Trigger on saving notes / capturing ideas / sharing URLs to document; querying the vault ("what do I know about", "search my vault"); auditing health (missing links, orphans, drift); ingesting raw files; "init a new vault" or "register vault"; mentions of any registered vault. Also triggers on casual "save this" / "file this back". Do NOT trigger for Excalidraw diagram creation (use arc-diagramming-obsidian), general code, debugging, PR reviews, web searches.
testing
Use when maintaining ArcForge itself by creating, editing, or verifying ArcForge skills before deployment
testing
Use when you need to verify work is complete before making completion claims